僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
2日目の今日はFlashMX。2万2千円を払う気になったのは 本来こちらである。.flaがMXの内部データ形式で.swfが webの閲覧形式であること(Gimpの.xcfと.pngみたいな ものか)、その他関連用語や概念色々。
をFreeBSD-5.3のMYKERNELに追記(USBフラッシュメモリのため) して make installまで進む。でもまだリブートさせていない...
各セクションに "vfs objects = recycle" を記述すると、共有ごとに .recycleとか いうディレクトリができて、消したものは そっちに移動する。らしい。
GUIではWirelessLANにうまく接続できなかった。
結局コンソールからiwconfigとdhcpcd。
追加パッケージをGUIで入れられる。gimpとかOOoとか。
他に野良パッケージ?も収集されている。openssh-daemonをダウンロードしたが、
さて、どうやってインストールすればいいのか。
./configure && makeした後、 Plamo-4.22 に入ってない分だけインストール。
#!/bin/sh for file in `/bin/ls|grep -v "\."` do `which $file >&/dev/null` if [ "$?" = "1" -a -x $file ]; then strip $file install -m755 $file /usr/bin/$file fi done
そして man も。
これは全部叩き込んでもいいだろう。
#!/bin/sh for file in *.1 do gzip $file install -m644 ${file}.gz /usr/share/man/man1 done
それから doc/coreutils.info も圧縮インストール。
てけとーにmanしただけでは、効能書き意外よーわからん。
$ echo 'send_user "hello,expect\n"' | expect -d - expect version 5.43.0 argv[0] = expect argv[1] = -d argv[2] = - set argc 0 set argv0 "expect" set argv "" executing commands from command file hello,expect
GNU Coreutils-7.0 あたりから既に入っているようだった。
DebianはSqueezeまで安定版には入らなかったようだけど。
coreutils-8.10 ]$ grep "Version 6.9" ChangeLog-2008 -B 3 2008-01-11 Jim Meyering <meyering@redhat.com> * Version 6.9.92.
coreutils-8.10 ]$ sed -n 12235,12238p ChangeLog 2008-06-06 Padraig Brady <P@draigBrady.com> Add new program: truncate
coreutils-8.10 ]$ grep "version 7.0" ChangeLog -B 8 -A 1 2008-10-05 Jim Meyering <meyering@redhat.com> post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.0 * NEWS: Record release date.
truncate で10GBのディスクを作り、fdisk でパーティションを
切る。このとき"x"でエキスパートモードに遷移して"c"にて
シリンダ数を決める必要があった。適当に1024にしたが、
一応動いている。二つに切ったパーティションの、
小さいほうをスワップ(82)にする。
kpartx でデバイスファイルを設定して、
mkfs -t ext4 でもってフォーマットし、
マウントする。
$ sudo debootstrap squeeze $MOUNT_POINT http://ftp.jp.debian.org/debian/
で主要なパッケージをインストールした後、必要なデバイスファイルをマウント する。マウントは LFS Bookの通りに。
sudo chroot $MOUNT_POINT し、カーネルやGRUB2をapt-get。ただし
grubの設定はchrootの外が見えているようなのでやめる。
chroot から抜けてumount。
virt-manager のメニューで仮想マシンを設定する。
ここでは、"Import existing disk image"を選択して
ウィザードを辿る。
この時点ではまだ起動できないので、一旦終了させて
DebianのインストールCDをレスキューモードで起動して、
シェルを立ち上げる。
インストーラのdashは使いづらいので、bash。
grub-install /dev/vda に grub-mkconfig > /boot/grub/grub.cfg。
イメージから起動できたら、/etc/fstab や /etc/network/interfaces、
そして /etc/udev/rules.d/70-persistent-net.rules を
設定。apt-get でその他のツールやユーティリティを入れる。
この時点で、ディスクイメージの実サイズは1.1GBほどに膨らんでいた。
パスワードを設定しておかないとrootでログインできず、CDで2回起動する 羽目になった(/dev/mapper/loopX をマウントして、chroot環境下で パスワードを設定しても良かった)。
ループバックデバイスの切り離しをずっと忘れていたが、 いじらない限り別条ないようだった。
sedで選択。
$ echo foo%bar%baz | sed 's/%[a-z]*//g' foo $ echo foo%bar%baz| sed 's/[a-z]*%//g' baz
awkの方が簡単かも。
$ echo foo%bar%baz | awk -F% '$0=$1' foo $ echo foo%bar%baz | awk -F% '$0=$NF' baz
やりなおす。
最初だけ残す。
$ echo foo%bar%baz%qux%quux | sed 's/%[a-z]\+//g' foo
最初以外を残す。
$ echo foo%bar%baz%qux%quux | sed 's/^[a-z]\+%//' bar%baz%qux%quux
最初と最後を残す。
$ echo foo%bar%baz%qux%quux | sed 's/%[a-z%]\+%//' fooquux
最初でも最後でもないものを残す。
$ echo foo%bar%baz%qux%quux | sed 's/^[^%]\+%//; s/%[^%]\+$//' bar%baz%qux
最後以外を残す。
$ echo foo%bar%baz%qux%quux | sed 's/%[a-z]\+$//' foo%bar%baz%qux
最後を残す。
$ echo foo%bar%baz%qux%quux | sed 's/[a-z]\+%//g' quux
"Who has $AN_IP_ADDR? tell $MY_IP_ADDR" と 全体に叫んで、 "$AN_IP_ADDR is at $MY_MAC_ADDR" と言わせる。
$ arping -c 2 $AN_IP_ADDR -I eth0 ARPING $AN_IP_ADDR from 192.168.0.43 eth0 Unicast reply from $AN_IP_ADDR [xx:xx:xx:xx:xx:xx] 0.834ms Unicast reply from $AN_IP_ADDR [yy:yy:yy:yy:yy:yy] 1.609ms Unicast reply from $AN_IP_ADDR [yy:yy:yy:yy:yy:yy] 1.506ms Sent 2 probes (1 broadcast(s)) Received 3 response(s)
重複IPの捜索に役立つ、かも。
Wireshark では、"eth.type == 0x0806" で抽出できた。
デジカメのデータをddで吸い出す。
$ sudo losetup /dev/loop2 photo.img $ sudo kpartx -av /dev/loop2 add map loop2p1 (252:0): 0 62937088 linear /dev/loop2 8192 $ mkdir new $ sudo mount -r /dev/mapper/loop2p1 new $ mount | grep new /dev/mapper/loop2p1 on /$DIR/new type vfat (ro)
しかしながらSamba経由でアクセスした10は、
photo.imgを「ディスクイメージファイル」と表示しつつも、
マウントはできなかった。
単に拡張子を見ただけ、なのかもしれない。
あと、RaspberryPiにUSB HDDを接続してsambaで共有したところ、
マウントポイントより上(/に近いところ)を共有すると、
下のディスクがいくら大きくても駄目な場合があるらしい。
/mediaを共有にしてphoto.img(32GB)を転送しようとして失敗。
共有をもっと下に移して解決。
どうせURLがすぐ消えるはずと思うと、リンクを張る気にもなれない。
あまり愉快でないが、ともかくこれ。
$IP - - [10/Aug/2016:19:59:45 +0900] "GET / HTTP/1.1" 200 2278 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1"
当初の状態で、11GBほど空いていた。
無線LANに接続して、すぐアップデート(9.3.4)。
で、SIMの動作確認。設定画面が出てこなかったので アプリにやらせて、どうにか繋がるようになったらしい。
$IP2 - - [10/Aug/2016:20:32:47 +0900] "GET /css/top.css HTTP/1.1" 200 686 "http://www.kuzuore.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G35 Safari/601.1"
USBテザリング。適当にできた。
$ dpkg -l|grep -i iPhone ii ipheth-utils 1.0-3+b3 amd64 USB tethering driver support utilities for the iPhone ii libimobiledevice6:amd64 1.2.0+dfsg-3 amd64 Library for communicating with the iPhone and iPod Touch ii libusbmuxd4:amd64 1.0.10-3 amd64 USB multiplexor daemon for iPhone and iPod Touch devices - library ii usbmuxd 1.1.0-2+b1 amd64 USB multiplexor daemon for iPhone and iPod Touch devices
$ diff before after 914a915,923 > [ 431.485707] usb 4-1.2: new high-speed USB device number 3 using ehci-pci > [ 431.581942] usb 4-1.2: New USB device found, idVendor=05ac, idProduct=12a8 > [ 431.581952] usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > [ 431.581957] usb 4-1.2: Product: iPhone > [ 431.581961] usb 4-1.2: Manufacturer: Apple Inc. > [ 431.581965] usb 4-1.2: SerialNumber: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > [ 431.772362] ipheth 4-1.2:4.2: Apple iPhone USB Ethernet device attached > [ 431.773272] usbcore: registered new interface driver ipheth
見えたデバイスを dhclinent しておしまい。/28なプライベートアドレスが振られた。
Win7では、USBメモリのパーティションはひとつしか見えない。
見えたものをフォーマットできる程度で、削除もできない
Win10ではできた。
で、そのUSBメモリをartful に挿すと、
$ mount | grep sdb /dev/sdb on /media/makoto/Debian RPD M-A 1 type iso9660 (ro,nosuid,nodev,relatime, nojoliet,check=s,map=n,blocksize=2048, uid=1000,gid=1000,dmode=500,fmode=400, uhelper=udisks2)
だからといって何ができるか、はちょっと思い当たらないが。
前回に書いたのは
ほんの一年前か。
WordPressついでにbasercmsも試してみながら、データベースの
構造を少し見たくなって、bionicに入れてみる。もちろん
他所様にアクセスされにくいよう、適当にファイアウォールは
かけている。
なんか 面白そうなエラーが出た。
DROP tcp -- !$UNICAST_IPv4 0.0.0.0/0 multiport dports 80,443,3306
Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable Backtrace ./libraries/sql.lib.php#2128: PMA_isRememberSortingOrder(array) ./libraries/sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse( array, boolean true, string 'basercms', string 'mysite_users',
てけとうに検索すると、根本的にはバージョン(4:4.6.6-5)が古すぎるのが問題点
と思えた。本家バージョン(
ちなみに本家の最新安定版は
4.9.0.1)で
2年半ほど前、そして
bionicのChangelogでも
2年前。
もちろん
脆弱性情報はその後もちびちびと出続けて。
設定値などがざっと出た。
/main/actions/bulb /main/actions/autofocusdrive /main/actions/manualfocusdrive /main/actions/changeafarea /main/actions/controlmode . . .
$ wc -l config 110 config
まとめて
ダウンロードする。
シリアルナンバーは伏字にしておいた。
$ for list in `awk -F'/' '{print $NF}' config` do gphoto2 --get-config=$list | tee $list sleep 2 done
意味の分かりやすいもの(/main/capturesettings/shutterspeedとか) もあったが、そうでないものもあれば、意味不明なものもあった。
$ grep 5008 * config:/main/other/5008 $ cat 5008 Label: Focal Length Type: RANGE Current: 1900 Bottom: 1000 Top: 2000 Step: 1
$ gphoto2 -a カメラの性能 : Nikon DSC D3400 シリアルポートのサポート : いいえ USB サポート : はい 取り込みの選択 : : 画像 : プレビュー : Trigger Capture セッティングのサポート : はい カメラ内の選択ファイルの削除 : はい カメラ内の全ファイルの削除 : いいえ プレビューのサポート : はい ファイルアップロードのサポート : はい
次は設定をカメラ側から送信して反映できるか、だけど、 それは次回と。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。