はてなダイヤリーのテキストバックアップ
■300回達成記念。 今回が301回目です。 ■はてなブログの場合は以下。 はてなブログのテキストバックアップ http://labunix.hateblo.jp/entry/20130623/1371986423 ■はてなダイヤリーも過去に何度か書いた。 はてなダイヤリーのテキストモードバックアップ http://labunix.hateblo.jp/entry/2012/03/03/224721 はてなダイヤリーのRSS2からユーザの最新記事のテキストバックアップを取得する http://labunix.hateblo.jp/entry/2012/04/29/184047 ■今回のはてなダイヤリーテキストモードバックアップはシンプルに。 以下で過不足無く取得できる。 $ test -d test || mkdir test; cd test $ cat my_d.hatena_backup.sh #!/bin/bash USER="labunix" URL="http://d.hatena.ne.jp/${USER}/archive" curl "$URL" 2> /dev/null | \ grep "archive.word=.of" | \ awk -F\" '{print $2}' | \ sed s/".*="//g | \ sort -u -n | \ for n in 0 `xargs`;do \ curl "${URL}?word=&of=${n}" 2> /dev/null | \ grep "class=.archive.*${USER}" | \ sed s%".*a href=*"%%g | \ awk -F\" '{print $2}' | \ for list in `xargs`;do \ LOG=`echo "$list" | sed s%".*${USER}/"%%g | sed s%/%_%g`; \ echo "$LOG" | grep [A-z] || \ test -f "$LOG" || \ w3m -dump -cols 1000 "$list" > "$LOG"; \ done done unset n list LOG URL USER exit 0 ■実行 $ ./my_d.hatena_backup.sh; ls 20* | wc -l 300
LPICの重要度について
■今更だし、重要度の割合が正しいかどうかは別として。 ちゃんと合計が60問になるようになっているのですね。 と思ったら、301だけ違う。なぜでしょう。。。 $ for n in 101 102 201 202 301 302 303 304;do \ w3m -dump "http://www.lpi.or.jp/lpic`echo $n | awk '{print (($n/100)-($n%100)/100)}'`/range/range${n}.shtml" | \ grep "重要度" | awk '{sum+=$2}END{print '`echo $n`',sum}';done 101 60 102 60 201 60 202 60 301 53 302 60 303 60 304 60 ■あえて304だけにしておきますが、以下のようにできます。 $ for n in 304;do w3m -cols 140 -dump "http://www.lpi.or.jp/lpic`echo $n | \ awk '{print (($n/100)-($n%100)/100)}'`/range/range${n}.shtml" | \ grep -1 "重要度" | \ awk '{if($1=="重要度"){sum+=$2;print}else {print}}END{print "\n重要度計\t"sum}' | \ sed s/"^ *"//g; \ done 330.1 仮想化の概念と理論 重要度 10 説明 仮想化に関する一般的な概念、理論と用語。Xen及びKVMの用語を含む。 -- 330.2 Xen 重要度 10 説明 Xenのインストール、設定、保守、およびトラブルシューティング。 -- 330.3 KVM 重要度 7 説明 KVMのインストール、設定、保守、およびトラブルシューティング。 -- 330.4 その他の仮想化ソリューション 重要度 3 説明 XenおよびKVM以外の仮想化技術についての基本的知識と経験。 -- 331.1 Linux Virtual Server 重要度 5 説明 LVSのインストール、設定、保守およびトラブルシューティング。keepalivedの設定と利用を含む。 -- 331.2 HAProxy 重要度 3 説明 HAProxyのインストール、設定、保守およびトラブルシューティング。 -- 331.3 LinuxPMI 重要度 1 説明 LinuxPMIの概念、LinuxPMIのインストールに関する基本的な経験。 -- 332.1 Pacemaker 重要度 5 説明 Pacemakerのインストール、設定、保守およびトラブルシューティング。 -- 332.2 Pacemaker上級 重要度 3 説明 Pacemakerの高度な機能に関する経験。OpenAISとcorosyncの利用を含む。 -- 332.3 Red Hat Cluster Suite 重要度 3 説明 Red Hat Cluster Suiteのインストール、設定、保守およびトラブルシューティング。 -- 332.4 Red Hat Cluster Suite上級 重要度 3 説明 Red Hat Cluster Suiteの高度な機能に関する経験。LVSおよびGFSとの統合を含む。 -- 333.1 DRBD 重要度 3 説明 DRBDのインストール、設定、保守およびトラブルシューティングに関する経験と知識。 -- 333.2 グローバルファイルシステムとOCFS2 重要度 3 説明 GFSおよびOCFS2のインストール、保守およびトラブルシューティング。 -- 333.3 その他のクラスタファイルシステム 重要度 1 説明 Linux環境で利用可能なその他のクラスタファイルシステムに関する認知。 重要度計 60
ネットノート(V5-171-F58D/S)をWheezy化
■Windows8お疲れ様でした。 Windows8は要らない子。まだXPや7の方がマシ。 私には過不足無くWheezy化できることが分かったので、 500GBの内蔵HDDをdebianオンリーにした。 ※勿論バックアップは3重にとってあるw。。。 ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編 http://d.hatena.ne.jp/labunix/20130628 USB起動メディア(x2)でWindows8(HDD)と即席マルチブート http://d.hatena.ne.jp/labunix/20130703 ■Gnome-Classicでログイン。 下記のように必要/不要の判断は気分で変わる。 Aspire One(AOA150)にSqueezeを導入 http://d.hatena.ne.jp/labunix/20130301 ■いつものごとく要らないパッケージの削除 あの気持ち悪い「デスクトップの検索」は「tracker」 # apt-get purge -y tracker # apt-get purge -y tomboy nano iceweasel evolution* icedove gnome-shell # apt-get purge -y nfs-* rpcbind # apt-get purge -y isc-dhcp-* # apt-get purge -y modemmanager ■最小限必要なパッケージの導入 # apt-get install -y vim sudo chkconfig apt-file nmap # apt-get install -y postfix ■毎度余計なパッケージが入る。 # nmap -sT localhost | grep ^[0-9] 22/tcp open ssh 25/tcp open smtp 631/tcp open ipp # apt-get purge -y samba-common cups # nmap -sT localhost | grep ^[0-9] 22/tcp open ssh 25/tcp open smtp ■そろそろrootは終わりにしましょう。 # for opt in update upgrade autoremove autoclean;do \ echo "y" | sudo apt-get $opt; \ done # usermod -a -G sudo labunix # chkconfig bluetooth off # dpkg -l | grep ^rc | awk '{print $2}' | apt-get purge -y `xargs` # shutdown -r now && exit ■GUIがまっさらになるはずなので。 また、私はmozcがキライなので。 ※これ、インストーラで「デスクトップ環境」を選ばなかった時と同じ方法。 # apt-get install -y gdm3 gnome-session gnome-terminal # apt-get build-dep uim-anthy # dpkg -l | grep mozc | awk '{print $2}' | apt-get purge -y `xargs` for opt in update upgrade autoremove autoclean;do \ echo "y" | sudo apt-get $opt; \ done # dpkg -l | grep ^rc | awk '{print $2}' | apt-get purge -y `xargs` # /etc/init.d/gdm3 restart ■ユーザ設定。 $ ssh-keygen -t rsa $ sudo /etc/init.d/ssh restart $ PROXY="192.168.0.1:8080/"; \ sudo sed -i s%"^#https_proxy"%"http_proxy = http://${PROXY}\nhttps_proxy = http://${PROXY}\nftp_proxy = http://${PROXY}\n&"% /etc/wgetrc echo -e "http_proxy=http://${PROXY}\nftp_proxy=http://${PROXY}\nHTTP_PROXY=http://${PROXY}\nFTP_PROXY=http://${PROXY}" | \ sudo tee /etc/profile.d/proxy.sh ■firefox 64bit版の導入 openldapでのホワイトページの利用とThunderbird/firefox $ w3m -dump http://d.hatena.ne.jp/labunix/20130422 $ URL="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/ja/"; \ w3m -dump_source "$URL" | \ sed s/">"/"&\n"/g | grep href=\"firefox | awk -F\" '{print $2}' | \ echo "${URL}`xargs`" | \ xargs wget;unset URL; \ test -f firefox-*.tar.bz2 && tar jxvf `ls firefox*.tar.bz2` && cd firefox && ./firefox & ■adobe readerの導入 SqueezeにAdobe Flash Playerの導入 http://d.hatena.ne.jp/labunix/20130310 ■有線LANドライバ 以下よりダウンロードするか、BCM57xxシリーズと割り切るか。 Ethernet NIC NetLink Driver Downloads http://www.broadcom.com/support/ethernet_nic/netlink_k57.php $ sudo sed -i s/"^deb .*wheezy main"/"& non-free"/ /etc/apt/sources.list $ dmesg | grep "eth0\:" | sed s/".*eth0\: "//g | head -1 | sed s/"MAC address.*"// Tigon3 [partno(BCM57785) rev 57785100] (PCI Express) $ apt-cache show firmware-linux-nonfree | grep BCM * Broadcom BCM5703/BCM5704 TSO firmware (tigon/tg3_tso.bin) * Broadcom BCM5701A0 firmware (tigon/tg3.bin) * Broadcom BCM5705 TSO firmware (tigon/tg3_tso5.bin) ■無線LANの導入 Squeezeに無線LANドライバを導入する http://d.hatena.ne.jp/labunix/20130302 Wheezyに無線LANドライバを導入する http://d.hatena.ne.jp/labunix/20130707 $ sudo lspci -v | grep Wireless 03:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01) $ URL="http://download2.dvd-driver.cz/atheros/drivers/ar5xxx"; \ WIN7="win7-10.0.0.227-whql.zip"; \ wget ${URL}/${WIN7} $ sudo apt-get install -y ndisgtk $ unzip win7-10.0.0.227-whql.zip $ sudo ndiswrapper -i netathrx.inf installing netathrx ... $ sudo ndiswrapper -l && sudo ndiswrapper -m netathrx : driver installed device (168C:0034) present (alternate driver: ath9k) adding "alias wlan0 ndiswrapper" to /etc/modules.conf ... $ grep "ndiswrapper" /etc/modules || \ echo "ndiswrapper" | sudo tee -a /etc/modules $ sudo depmod -a $ sudo vim /etc/network/interfaces $ sudo chmod 600 /etc/network/interfaces $ sudo ifup wlan0 ■仕上げ 「GUIを利用して作って」ください。 Squeezeのgnome-terminlをxcompmgrで「背景の透過」 http://labunix.hateblo.jp/entry/20130504/1367672082 $ sudo apt-get install -y xcompmgr (GUI設定) $ sudo pkill -HUP X $ sudo cp ~/.config/autostart/xcompmgr.desktop /usr/share/gnome/autostart/ ■おまけ $ sudo apt-get install -y libreoffice-pdfimport libreoffice-math libreoffice-l10n-ja libreoffice-impress libreoffice-calc
Wheezyに無線LANドライバを導入する。
■Wheezyに無線LANドライバを導入する。 基本的に以下の方法で出来る。使用したドライバはWin7用。 ただしWheezy側にトラップが2つ(後述)ある。 使用したのは「V5-171-F58D/S」。これでWindows8ともお別れが出来る。 Squeezeに無線LANドライバを導入する http://d.hatena.ne.jp/labunix/20130302 ■Wheezy上での無線LANドライバの確認 Windows8では、最新版でこっそり対応しているメーカが多いようだが、 「制限された〜」でデフォルトドライバでは動かないことがある。 また、ドライバの再インストールを要することもしばしば。 $ sudo lspci -v | grep Wireless 03:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01) ■最新の無線LANドライバのダウンロード 以下のリンクで確認。ダウンロード用のURLが異なるのでご注意を。 念の為、XP、7、8の三種類のドライバを保存しておく。 http://www.atheros.cz/atheros-wireless-download.php?chipset=76&system=1 http://www.atheros.cz/atheros-wireless-download.php?chipset=76&system=6 http://www.atheros.cz/atheros-wireless-download.php?chipset=76&system=7 $ URL="http://download2.dvd-driver.cz/atheros/drivers/ar5xxx"; \ WINXP="xp3264-10.0.0.216-whql.zip"; \ WIN7="win7-10.0.0.227-whql.zip"; \ WIN8="win8-10.0.0.217-whql.zip"; \ wget $URL/${WINXP}; \ wget ${URL}/${WIN7}; \ wget $URL/${WIN8} ■32bit/64bitの違いは、「NTX86/NTamd64」。 $ w3m -dump "http://www.atheros.cz/atheros-inf-file.php?inf=275&chipset=74&system=5" | grep -A 2 "\[Manufacturer\]" [Manufacturer] %ATHEROS% = Atheros, NTX86.6.1, NTX86.6.0, NTX86.6.2 %GIGABYTE% = Gigabyte, NTX86.6.1, NTX86.6.0, NTX86.6.2 $ w3m -dump "http://www.atheros.cz/atheros-inf-file.php?inf=276&chipset=74&system=5" | grep -A 2 "\[Manufacturer\]" [Manufacturer] %ATHEROS% = Atheros, NTamd64.6.1, NTamd64.6.0, NTamd64.6.2 %GIGABYTE% = Gigabyte, NTamd64.6.1, NTamd64.6.0, NTamd64.6.2 ■ダウンロードした無線LANドライバの確認 $ for list in *.zip;do zipinfo "$list";done Archive: win7-10.0.0.227-whql.zip Zip file size: 2462449 bytes, number of entries: 6 -rw-a-- 2.0 fat 3109888 b- defX 13-Feb-19 11:00 athr.sys -rw-a-- 2.0 fat 80287 b- defX 13-Feb-21 09:28 athrext.cat -rw-a-- 2.0 fat 80291 b- defX 13-Feb-21 09:28 athrextx.cat -rw-a-- 2.0 fat 3868160 b- defX 13-Feb-19 11:00 athrx.sys -rw-a-- 2.0 fat 542671 t- defX 13-Feb-19 11:00 netathr.inf -rw-a-- 2.0 fat 545386 t- defX 13-Feb-19 11:00 netathrx.inf 6 files, 8226683 bytes uncompressed, 2461845 bytes compressed: 70.1% Archive: win8-10.0.0.217-whql.zip Zip file size: 2134565 bytes, number of entries: 6 -rw-a-- 2.0 fat 80053 b- defX 12-Nov-08 04:28 athw8.cat -rw-a-- 2.0 fat 332320 t- defX 12-Oct-27 09:00 athw8.inf -rw-a-- 2.0 fat 2809344 b- defX 12-Oct-27 09:00 athw8.sys -rw-a-- 2.0 fat 80063 b- defX 12-Nov-08 04:28 athw8x.cat -rw-a-- 2.0 fat 333926 t- defX 12-Oct-27 09:00 athw8x.inf -rw-a-- 2.0 fat 3701760 b- defX 12-Oct-27 09:00 athw8x.sys 6 files, 7337466 bytes uncompressed, 2133973 bytes compressed: 70.9% Archive: xp3264-10.0.0.216-whql.zip Zip file size: 1699716 bytes, number of entries: 6 -rw-a-- 2.0 fat 2121248 b- defX 12-Oct-24 09:00 athw.sys -rw-a-- 2.0 fat 3022016 b- defX 12-Oct-24 09:00 athwx.sys -rw-a-- 2.0 fat 74193 b- defX 12-Oct-26 13:48 netathw.cat -rw-a-- 2.0 fat 284322 t- defX 12-Oct-24 09:00 netathw.inf -rw-a-- 2.0 fat 74339 b- defX 12-Oct-26 13:48 netathwx.cat -rw-a-- 2.0 fat 446180 t- defX 12-Oct-24 09:00 netathwx.inf 6 files, 6022298 bytes uncompressed, 1699112 bytes compressed: 71.8% ■Windowsドライバの取り込み $ sudo apt-get install -y ndisgtk $ unzip win7-10.0.0.227-whql.zip Archive: win7-10.0.0.227-whql.zip inflating: athr.sys inflating: athrext.cat inflating: athrextx.cat inflating: athrx.sys inflating: netathr.inf inflating: netathrx.inf $ sudo ndiswrapper -i netathrx.inf installing netathrx ... $ sudo ndiswrapper -l netathrx : driver installed device (168C:0034) present (alternate driver: ath9k) $ sudo ndiswrapper -m adding "alias wlan0 ndiswrapper" to /etc/modules.conf ... $ cat /etc/modules.conf alias wlan0 ndiswrapper $ grep "ndiswrapper" /etc/modules || \ echo "ndiswrapper" | sudo tee -a /etc/modules ndiswrapper $ sudo depmod -a $ lsmod | grep ath9k ath9k 73578 0 ath9k_common 12728 1 ath9k ath9k_hw 322112 2 ath9k_common,ath9k ath 21370 3 ath9k_hw,ath9k_common,ath9k mac80211 192806 1 ath9k cfg80211 137243 3 mac80211,ath,ath9k ■ESSIDをブロードキャストしない設定なので、 他所のESSIDが見えるだけ。 $ sudo /sbin/ifconfig wlan0 up $ sudo iwlist wlan0 scan | grep ESSID ESSID:"SWS1day" ESSID:"001softbank" ■DHCPにも応答しないので、手動で設定 $ sudo iwconfig wlan0 essid "ESSID" key "s:PASSWORD" $ sudo iwconfig wlan0 | \ sed s/"ESSID.*"/"ESSID:\"ESSID\""/ | \ sed s/"\(Encryption key:\).*"/"\qXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX"/ wlan0 IEEE 802.11abgn ESSID:"ESSID" Mode:Managed Access Point: Not-Associated Tx-Power=16 dBm Retry long limit:7 RTS thr:off Fragment thr:off qXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX Power Management:off $ grep -A 10 "auto wlan0" /etc/network/interfaces | \ sed s/"\(wireless-essid \).*"/"\1ESSID"/ | \ sed s/"\( wireless-key1 \).*"/"\1s:PASSWORD"/ | \ sed s/"[0-9]"/X/g auto wlanX allow-hotplug wlanX iface wlanX inet static address XX.XX.X.XX netmask XXX.XXX.XXX.X network XX.XX.X.X broadcast XX.XX.X.XXX #gateway XX.XX.X.XXX wireless-essid ESSID wireless-key1 s:PASSWORD up route add -net XX.XX.X.XXX/XX gw XX.XX.X.XXX wlanX $ sudo /etc/init.d/networking restart $ ping -c 2 $WLANIP | sed s/"$WLANIP"/"XXX.XXX.XXX.XXX"/g PING XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX) 56(84) bytes of data. 64 bytes from XXX.XXX.XXX.XXX: icmp_req=1 ttl=64 time=0.059 ms 64 bytes from XXX.XXX.XXX.XXX: icmp_req=2 ttl=64 time=0.033 ms --- XXX.XXX.XXX.XXX ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.033/0.046/0.059/0.013 ms ■トラップは2つ。 「linux-wlan-ng」と「/etc/init.d/networking」。 $ sudo /etc/init.d/networking restart [....] Running /etc/init.d/networking restart is deprecated because it may not r[warnble some interfaces ... (warning). [....] Reconfiguring network interfaces...cat: /sys/module/p80211/parameters/wlan_wext_write: No such file or directory FATAL: Module p80211 not found. Failed to load p80211.ko. run-parts: /etc/network/if-pre-up.d/linux-wlan-ng-pre-up exited with return code 1 ifup: interface eth0 already configured done. ■「inux-wlan-ng」は使わない場合を考慮していないので、 全く話にならない。 「/sys/module/p80211/parameters/wlan_wext_write」も「p80211」のモジュールのロードも必要としていない。 $ sudo apt-get purge -y linux-wlan-ng ■「networking」スクリプトは、システムが稼働中なら「ifdown -a」と「ifup -a」を使う。 「run/ifstate」なんて要らないと思う。 ■eth0をダウンしてwlan0でpingチェック その他、ルーティングが必要であれば、「up」行を追加。 $ sudo ifdown eth0 $ ping -c 5 $MYGW | sed s/"[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"/"XXX.XXX.XXX.XXX"/g PING XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX) 56(84) bytes of data. 64 bytes from XXX.XXX.XXX.XXX: icmp_req=1 ttl=64 time=2.79 ms 64 bytes from XXX.XXX.XXX.XXX: icmp_req=2 ttl=64 time=1.92 ms 64 bytes from XXX.XXX.XXX.XXX: icmp_req=3 ttl=64 time=1.94 ms 64 bytes from XXX.XXX.XXX.XXX: icmp_req=4 ttl=64 time=1.94 ms 64 bytes from XXX.XXX.XXX.XXX: icmp_req=5 ttl=64 time=2.13 ms --- XXX.XXX.XXX.XXX ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 1.920/2.149/2.796/0.336 ms
USB起動メディア(x2)でWindows8(HDD)と即席マルチブート
■USB起動メディア(x2)でWindows8(HDD)とマルチブート USBメディアはメーカーや容量が異なるほうがインストール先を間違えにくいのでベター。 UEFIの有効/無効によるマルチブートなので、「即席マルチブート」とした。 ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編】。 http://d.hatena.ne.jp/labunix/20130628 ■ということで容量の少ないネットブートイメージを選択。 $ URL="http://cdimage.debian.org/cdimage/release/current/amd64/iso-cd" $ w3m -dump $URL | grep netinst [ ] debian-7.1.0-amd64-netinst.iso 2013-06-16 01:06 222M $ ISO=`w3m -dump ${URL} | grep netinst | awk '{print $3}'`; \ wget $URL/$ISO ■USB起動可能かどうかは、0xAA55だけ確認出来れば充分です。 $ dd if=debian-wheezy-DI-rc1-amd64-netinst.iso bs=1 skip=510 count=2 2>/dev/null | \ hexdump -C | head -1 00000000 55 aa |U.| ■ハッシュが見たいなら。 ※sha512は長いのでパス。 $ echo "MD5 SHA1 SHA256" | for type in `xargs`;do w3m -dump $URL/${type}SUMS | grep netinst; done 80f498a1f9daa76bc911ae13692e4495 debian-7.1.0-amd64-netinst.iso c8fe5de7d4ee9ca5238e660bd6fcfe7dd572c094 debian-7.1.0-amd64-netinst.iso 62232b8adc281c04f9985e4a1541481a468b3b2ca1702a0dd7f62fcf56ef101b debian-7.1.0-amd64-netinst.iso $ echo "md5 sha1 sha256" | for type in `xargs`;do \ openssl dgst -${type} debian-7.1.0-amd64-netinst.iso | \ sed s/"(\|)=\|[SM][HD][A0-9]*"//g | awk '{print $2,$1}'; done 80f498a1f9daa76bc911ae13692e4495 debian-7.1.0-amd64-netinst.iso c8fe5de7d4ee9ca5238e660bd6fcfe7dd572c094 debian-7.1.0-amd64-netinst.iso 62232b8adc281c04f9985e4a1541481a468b3b2ca1702a0dd7f62fcf56ef101b debian-7.1.0-amd64-netinst.iso ■USBメモリの認識確認 通常はパーティションが表示されますが、今回は空です。 $ dmesg | grep sd [3375605.745028] sd 8:0:0:0: Attached scsi generic sg2 type 0 [3375605.746505] sd 8:0:0:0: [sdc] 31506432 512-byte logical blocks: (16.1 GB/15.0 GiB) [3375605.748081] sd 8:0:0:0: [sdc] Write Protect is off [3375605.748091] sd 8:0:0:0: [sdc] Mode Sense: 23 00 00 00 [3375605.748098] sd 8:0:0:0: [sdc] Assuming drive cache: write through [3375605.751995] sd 8:0:0:0: [sdc] Assuming drive cache: write through [3375605.752096] sdc: sdc1 sdc2 [3375606.730992] sd 8:0:0:0: [sdc] Assuming drive cache: write through [3375606.731022] sd 8:0:0:0: [sdc] Attached SCSI removable disk $ sudo fdisk -l /dev/sdc 2>/dev/null | grep "^Disk \/\|Boot\|^\/" Disk /dev/sdc: 16.1 GB, 16131293184 bytes Device Boot Start End Blocks Id System ■USBメディアに書き込み $ sudo dd if=debian-7.1.0-amd64-netinst.iso of=/dev/sdc 454656+0 records in 454656+0 records out 232783872 bytes (233 MB) copied, 88.5511 s, 2.6 MB/s $ sudo fdisk -l /dev/sdc | grep "^Disk \/\|Boot\|^\/" WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdc: 16.1 GB, 16131293184 bytes Device Boot Start End Blocks Id System /dev/sdc1 * 1 29 227328 0 Empty /dev/sdc2 2 2 448 ef EFI (FAT-12/16/32) ■[F2]でBIOS起動、Legacy-BIOSに変更、USB起動のインストーラから別のUSBメディアにインストール。 grubはパーティションの先頭にインストールするので、認識したディスクの名前を覚えておくこと。 ※私の場合は/dev/sdb1。 GUIは後でも入れられるので最小構成で導入する。 Legacy-BIOSとUEFIブートを切り替えるだけで、一応、Debian/Windows8のマルチブートが出来る。 ■gnomeを導入。 # apt-get install -y task-japanese-gnome-desktop
vmplayer内のWheezyにXenを導入
■vmplayer内のWheezyにXenを導入 WheezyでのXenはどんなものかと。NICが使えないのでコンソールのみ。 雰囲気だけです。 ■Xen関連のパッケージの確認 $ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \ for list in `xargs`;do echo -n "$list,";apt-cache show "$list" | grep ^Descript | awk -F\: '{print $2}' | head -1;done xen-linux-system-3.2.0-4-amd64, Xen system with Linux 3.2 on 64-bit PCs (meta-package) xen-utils-common, Xen administrative tools - common files xen-tools, Tools to manage Xen virtual servers libvirt-bin, libvirt ライブラリ用のプログラム uuid-runtime, runtime components for the Universally Unique ID library qemu-kvm, x86 ハードウェアの完全仮想化 ■Xenの導入 $ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \ sudo apt-get install -y `xargs` ■コマンドの確認 $ echo "xen-linux-system-`uname -r` xen-utils-common xen-tools libvirt-bin uuid-runtime qemu-kvm" | \ for list in `xargs`;do echo "[ $list ]";dpkg -L "$list" | grep bin/ | grep -v doc/;done [ xen-linux-system-3.2.0-4-amd64 ] [ xen-utils-common ] /usr/sbin/xen /usr/lib/xen-common/bin/xen-toolstack /usr/lib/xen-common/bin/xen-utils-wrapper /usr/lib/xen-common/bin/xen-init-list /usr/lib/xen-common/bin/xen-version /usr/lib/xen-common/bin/xen-dir /usr/lib/xen-common/bin/xen-toolstack-wrapper /usr/sbin/xentrace_setsize /usr/sbin/xenpm /usr/sbin/xentrace_setmask /usr/sbin/xentrace_format /usr/sbin/xentop /usr/sbin/cpuperf-xen /usr/sbin/xl /usr/sbin/xentrace /usr/sbin/xm /usr/sbin/cpuperf-perfcntr /usr/sbin/xenperf [ xen-tools ] /usr/bin/xt-customize-image /usr/bin/xt-create-xen-config /usr/bin/xen-list-images /usr/bin/xen-delete-image /usr/bin/xt-install-image /usr/bin/xen-create-nfs /usr/bin/xen-create-image /usr/bin/xt-guess-suite-and-mirror /usr/bin/xen-update-image [ libvirt-bin ] /usr/sbin/libvirtd /usr/bin/virt-xml-validate /usr/bin/virt-pki-validate /usr/bin/virt-host-validate /usr/bin/virsh [ uuid-runtime ] /usr/bin/uuidgen /usr/sbin/uuidd [ qemu-kvm ] /usr/bin/kvm /usr/bin/kvm_stat /usr/bin/kvm-io /usr/bin/kvm-nbd /usr/bin/kvm-img ■grubのエントリの確認 0〜3までの4つのエントリがある。 $ grep "menuentry" /boot/grub/grub.cfg | nl -w2 -v0 | sed s/"--"/"\n\t&"/g 0 menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { 1 menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os { 2 menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen { 3 menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os --class xen { ■「with Xen 4.1-amd64」を選択するように起動順序を変更。 $ uname -a Linux vmdebian2 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux $ ls /etc/grub.d/ 00_header 10_linux 30_os-prober 41_custom 05_debian_theme 20_linux_xen 40_custom README $ sudo mv /etc/grub.d/10_linux /etc/grub.d/25_linux $ sudo update-grub2 Generating grub.cfg ... Found background image: /usr/share/images/desktop-base/desktop-grub.png Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 No volume groups found done $ grep "menuentry\|linux.*boot\|multiboot" /boot/grub/grub.cfg | head -2 | sed s/"--"/"\n\t&"/g menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen { multiboot /boot/xen-4.1-amd64.gz placeholder $ sudo shutdown -r now && exit ■Xenの起動確認 $ sudo grep -i "boot.*xen" /var/log/syslog Jul 1 23:01:03 vmdebian1 kernel: [ 0.000000] Booting paravirtualized kernel on Xen $ lsmod | grep xen xen_gntdev 13021 0 xen_evtchn 13012 1 xenfs 17724 1 $ sudo xm list Name ID Mem VCPUs State Time(s) Domain-0 0 468 2 r----- 29.7 ■仮想マシンのNICなので無効にするのだが、 ここではどんなvifができるか見たいので、作成。 $ sudo /etc/xen/scripts/network-bridge status | grep ^bridge bridge name bridge id STP enabled interfaces can't get info Operation not supported $ grep "^(" /etc/xen/xend-config.sxp (network-script network-bridge) (vif-script vif-bridge) (dom0-min-mem 196) (enable-dom0-ballooning yes) (total_available_memory 0) (dom0-cpus 0) (vncpasswd '') $ sudo /etc/init.d/xen restart [ ok ] Restarting Xen daemons: xend xend xenconsoled. ■デフォルトの設定確認 $ grep -v "^#\|^\$" /etc/xen-tools/xen-tools.conf install-method = debootstrap size = 4Gb # Disk image size. memory = 128Mb # Memory size swap = 128Mb # Swap size fs = ext3 # use the EXT3 filesystem for the disk image. dist = `xt-guess-suite-and-mirror --suite` # Default distribution to install. image = sparse # Specify sparse vs. full disk images. kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` mirror = `xt-guess-suite-and-mirror --mirror` ext3_options = noatime,nodiratime,errors=remount-ro ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults ■debootstrapがwgetでイメージを取得するので、必要であればプロキシの設定を。 $ grep wget /usr/sbin/debootstrap --verbose don't turn off the output of wget $ grep ^[hf].*_proxy /etc/wgetrc | sed s/"[0-9]"/"X"/g https_proxy = http://XXX.XX.XX.XX:XXXX/ http_proxy = http://XXX.XX.XX.XX:XXXX/ ftp_proxy = http://XXX.XX.XX.XX:XXXX/ ■debianのイメージを作成 $ sudo xen-create-image --hostname vmvm2 \ --ip 192.168.181.60 --netmask 255.255.255.0 --gateway 192.168.181.2 \ --passwd --dir /var/local General Information -------------------- Hostname : vmvm2 Distribution : wheezy Mirror : http://ftp.jp.debian.org/debian/ Partitions : swap 128Mb (swap) / 4Gb (ext3) Image type : sparse Memory size : 128Mb Kernel path : /boot/vmlinuz-3.2.0-4-amd64 Initrd path : /boot/initrd.img-3.2.0-4-amd64 Networking Information ---------------------- IP Address 1 : 192.168.181.60 [MAC: 00:16:3E:CB:CE:DB] Netmask : 255.255.255.0 Gateway : 192.168.181.2 Creating partition image: /var/local/domains/vmvm2/swap.img Done Creating swap on /var/local/domains/vmvm2/swap.img Done Creating partition image: /var/local/domains/vmvm2/disk.img Done Creating ext3 filesystem on /var/local/domains/vmvm2/disk.img Done Installation method: debootstrap Done Running hooks No role scripts were specified. Skipping Setting up root password Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully All done Logfile produced at: /var/log/xen-tools/vmvm2.log Installation Summary --------------------- Hostname : vmvm2 Distribution : wheezy IP-Address(es) : 192.168.181.60 RSA Fingerprint : XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX Root Password : N/A ■確認 $ sudo wc -l /var/log/xen-tools/vmvm2.log 1048 /var/log/xen-tools/vmvm2.log $ find /var/local/domains/ /var/local/domains/ /var/local/domains/vmvm2 /var/local/domains/vmvm2/swap.img /var/local/domains/vmvm2/disk.img $ ls -l /etc/xen/vmvm2.cfg -rw-r--r-- 1 root root 733 7月 1 23:52 /etc/xen/vmvm2.cfg $ grep -v "^#\|^\$" /etc/xen/vmvm2.cfg kernel = '/boot/vmlinuz-3.2.0-4-amd64' ramdisk = '/boot/initrd.img-3.2.0-4-amd64' vcpus = '1' memory = '128' root = '/dev/xvda2 ro' disk = [ 'file:/var/local//domains/vmvm2/disk.img,xvda2,w', 'file:/var/local//domains/vmvm2/swap.img,xvda1,w', ] name = 'vmvm2' vif = [ 'ip=192.168.181.60 ,mac00:16:3E:XX:XX:XX' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' ■NICの名前を追加、無効にしておく。 $ sudo grep ^vif /etc/xen/vmvm2.cfg vif = [ 'ip=192.168.181.60 ,mac=00:16:3E:XX:XX:XX' ] $ sudo sed -i s/"^vif.*[A-F0-9]"/"& ,bridge=eth0"/ /etc/xen/vmvm2.cfg $ sudo sed -i s/"^vif.*"/"# &"/ /etc/xen/vmvm2.cfg $ sudo grep vif /etc/xen/vmvm2.cfg # vif = [ 'ip=192.168.181.60 ,mac=00:16:3E:XX:XX:XX ,bridge=eth0' ] ■仮想マシンの起動 「-c」はシリアルコンソールにつないだかのように起動する。 「-c」を除くとバックグラウンドで起動。 $ sudo xm create /etc/xen/vmvm2.cfg -c Using config file "/etc/xen/vmvm2.cfg". ... Debian GNU/Linux 7 vmvm2 hvc0 vmvm2 login: root Password: Linux vmvm2 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@vmvm2:~# ■別のホストコンソールから確認 $ sudo xm list Name ID Mem VCPUs State Time(s) Domain-0 0 372 2 r----- 372.3 vmvm2 6 128 1 -b---- 5.9 ■ゲストOS側でも再起動可能だが、コンソールから切り離されてしまう。 ネットワークが無いので、「xm shutdown」で落とす。 $ sudo xm shutdown vmvm2 ■その他 $ sudo xm Usage: xm <subcommand> [args] Control, list, and manipulate Xen guest instances. Common 'xm' commands: console Attach to <Domain>'s console. vncviewer Attach to <Domain>'s VNC server. create Create a domain based on <ConfigFile>. new Adds a domain to Xend domain management delete Remove a domain from Xend domain management. destroy Terminate a domain immediately. dump-core Dump core for a specific domain. help Display this message. list List information about all/some domains. mem-set Set the current memory usage for a domain. migrate Migrate a domain to another machine. pause Pause execution of a domain. reboot Reboot a domain. reset Reset a domain. restore Restore a domain from a saved state. resume Resume a Xend managed domain save Save a domain state to restore later. shell Launch an interactive shell. shutdown Shutdown a domain. start Start a Xend managed domain suspend Suspend a Xend managed domain top Monitor a host and the domains in real time. unpause Unpause a paused domain. uptime Print uptime for all/some domains. usb-add Add the usb device to FV VM. usb-del Delete the usb device to FV VM. domstate get the state of a domain vcpu-set Set the number of active VCPUs for allowed for the domain. <Domain> can either be the Domain Name or Id. For more help on 'xm' see the xm(1) man page. For more help on 'xm create' see the xmdomain.cfg(5) man page. For a complete list of subcommands run 'xm help'.
ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編
■ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編】。 今回はインストールではなく、起動のみです。 V5-171-F58D/S スペック http://www.acer.co.jp/ac/ja/JP/content/model-datasheet/NX.M3ASJ.004 ■BIOSモードはUEFI、セキュアブート有効がデフォルト。 ※BIOS画面でlegacy-BIOS、セキュアブート無効にすることが出来る。 Debian 7.1 のインストール http://www.debian.org/releases/wheezy/debian-installer/ ■UEFIのマルチブートについては以下。 Unified Extensible Firmware Interface (日本語) https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(%E6%97%A5%E6%9C%AC%E8%AA%9E) (抜粋) Windows のような制限は Linux カーネルには存在しませんが、 使用するブートローダによっては制限が存在します。 Windows UEFI ブートの手前、同じディスクから起動するときには 使用する Linux ブートローダも UEFI-GPT モードでインストールしなくてはなりません。 mac 以外の UEFI システムの場合、ファームウェアは x86_64 (または 64 ビット) UEFI 2.x です。 ■たまに「IA64版が無い」というコメントを見ますが、amd64版かi386版です。 インストールガイドを読めば大抵の不明点は解決します。 amd64版は以下です。 2.1. サポートするハードウェア http://www.debian.org/releases/stable/amd64/ch02s01.html.ja Debian GNU/Linux インストールガイド http://www.debian.org/releases/stable/amd64/index.html.ja ■無線LANドライバ(AR5BWB222)はWindowsのものを流用。 Windows8でも少なくともDHCPオフの無線LAN AP環境ではまともに動いてないので、期待しない方が良い。 Windows7用もダウンロードできるようにしておく。 Squeezeに無線LANドライバを導入する http://d.hatena.ne.jp/labunix/20130302 Drivers for Atheros AR5BWB222 and Windows 7 http://www.atheros.cz/atheros-wireless-download.php?chipset=74&system=5 ■ISOイメージをダウンロード。 $ wget "http://cdimage.debian.org/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-xfce-CD-1.iso" ■MBR領域はisolinux。 $ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=512 count=1 | hexdump -C 00000000 45 52 08 00 00 00 90 90 00 00 00 00 00 00 00 00 |ER..............| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9 |3......|..f1.f1.| 00000030 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00 |fSfQ.W....R..|..| 00000040 06 b9 00 01 f3 a5 ea 4b 06 00 00 52 b4 41 bb aa |.......K...R.A..| 00000050 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10 |U1.0....r...U.u.| 00000060 83 e1 01 74 0b 66 c7 06 f1 06 b4 42 eb 15 eb 00 |...t.f.....B....| 00000070 5a 51 b4 08 cd 13 83 e1 3f 5b 51 0f b6 c6 40 50 |ZQ......?[Q...@P| 00000080 f7 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0 07 e8 |..SRP..|...f....| 00000090 44 00 0f 82 80 00 66 40 80 c7 02 e2 f2 66 81 3e |D.....f@.....f.>| 000000a0 40 7c fb c0 78 70 75 09 fa bc ec 7b ea 44 7c 00 |@|..xpu....{.D|.| 000000b0 00 e8 83 00 69 73 6f 6c 69 6e 75 78 2e 62 69 6e |....isolinux.bin| 000000c0 20 6d 69 73 73 69 6e 67 20 6f 72 20 63 6f 72 72 | missing or corr| 000000d0 75 70 74 2e 0d 0a 66 60 66 31 d2 66 03 06 f8 7b |upt...f`f1.f...{| 000000e0 66 13 16 fc 7b 66 52 66 50 06 53 6a 01 6a 10 89 |f...{fRfP.Sj.j..| 000000f0 e6 66 f7 36 e8 7b c0 e4 06 88 e1 88 c5 92 f6 36 |.f.6.{.........6| 00000100 ee 7b 88 c6 08 e1 41 b8 01 02 8a 16 f2 7b cd 13 |.{....A......{..| 00000110 8d 64 10 66 61 c3 e8 1e 00 4f 70 65 72 61 74 69 |.d.fa....Operati| 00000120 6e 67 20 73 79 73 74 65 6d 20 6c 6f 61 64 20 65 |ng system load e| 00000130 72 72 6f 72 2e 0d 0a 5e ac b4 0e 8a 3e 62 04 b3 |rror...^....>b..| 00000140 07 cd 10 3c 0a 75 f1 cd 18 f4 eb fd 00 00 00 00 |...<.u..........| 00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 8c 6a 02 00 00 00 00 00 ba 68 7d 11 00 00 80 00 |.j.......h}.....| 000001c0 01 00 00 3f a0 84 00 00 00 00 00 28 14 00 00 fe |...?.......(....| 000001d0 ff ff ef fe ff ff e8 8a 11 00 80 03 00 00 00 00 |................| 000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 1+0 records in 1+0 records out 512 bytes (512 B) copied, 0.00108154 s, 473 kB/s 00000200
■ISOLINUXのバージョンは4.05。 $ sudo mount -o loop debian-7.1.0-amd64-xfce-CD-1.iso /media/cdrom0/ $ find /media/cdrom0 -type f -iname "*[iso,sys]linux*" -print /media/cdrom0/isolinux/isolinux.bin /media/cdrom0/isolinux/isolinux.cfg /media/cdrom0/pool/main/s/syslinux/syslinux-udeb_4.05+dfsg-6+deb7u1_amd64.udeb $ strings /media/cdrom0/isolinux/isolinux.bin | grep ^ISOLINUX ISOLINUX 4.05 20121210 ■ISOLINUXの更新履歴からEFI対応のバージョンを確認 $ w3m -dump http://ftp-master.metadata.debian.org/changelogs//main/s/syslinux/syslinux_4.05+dfsg-6+deb7u1_changelog | \ grep "^syslinux\|EFI" | head -10 syslinux (2:4.05+dfsg-6+deb7u1) testing-proposed-updates; urgency=low syslinux (2:4.05+dfsg-6) unstable; urgency=low syslinux (2:4.05+dfsg-5) unstable; urgency=low syslinux (2:4.05+dfsg-4) unstable; urgency=low syslinux (2:4.05+dfsg-3) unstable; urgency=low isohybrid to generate MBR even when in EFI mode. syslinux (2:4.05+dfsg-2) unstable; urgency=low syslinux (2:4.05+dfsg-1) unstable; urgency=low syslinux (2:4.04+dfsg-9) unstable; urgency=low syslinux (2:4.04+dfsg-8) unstable; urgency=low ■対応していないEFIのバージョンで無い限り、大丈夫そうですね。 参考 https://github.com/MagicGroup/MagicSpecQ-U/blob/master/syslinux/syslinux-isohybrid-fix-mbr.patch $ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=1 skip=462 count=8 2>/dev/null | hexdump -C 2>&1 | head -1 00000000 00 fe ff ff ef fe ff ff |........| $ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=1 skip=510 count=10 2>/dev/null | hexdump -C 2>&1 | head -1 00000000 55 aa 45 46 49 20 50 41 52 54 |U.EFI PART| ■「efibootmgr」もあります。 $ find /media/cdrom0 -type f -iname "*efibootmgr*" -print /media/cdrom0/pool/main/e/efibootmgr/efibootmgr_0.5.4-3_amd64.deb ■CD-R起動には外部ドライブが必要なモデルなので、16GBのUSBメモリに書き出します。 ※数回しか使わないインストーラの為にCD-Rに焼くことはしません。 $ sudo umount /media/cdrom0/ $ dmesg | tail -5 [3024252.523947] sd 6:0:0:0: [sdb] Assuming drive cache: write through [3024252.556935] sd 6:0:0:0: [sdb] Assuming drive cache: write through [3024252.556964] sdb: sdb1 [3024253.566031] sd 6:0:0:0: [sdb] Assuming drive cache: write through [3024253.566062] sd 6:0:0:0: [sdb] Attached SCSI removable disk $ sudo fdisk -l /dev/sdb | grep Disk Disk /dev/sdb: 16.1 GB, 16131293184 bytes $ sudo dd if=debian-7.1.0-amd64-xfce-CD-1.iso of=/dev/sdb bs=512k 1290+0 records in 1290+0 records out 676331520 bytes (676 MB) copied, 410.393 s, 1.6 MB/s ■BIOSメニューはF2。2回保存と再起動が必要。 Step1.Legacy-BIOS、セキュアブート無効に変更。 ※Windows Boot Managerがメニューにあると、Legacyではない。 Step2.USB*が先に起動するよう設定。USBメモリのモデルがBIOSに表示されているので選択に迷わない。 ※WheezyはGrubから「Shell」に落ちるだけにしておく。 別途LiveCDを同様にUSBに書き込んで「ssh+dd」でリモートにバックアップしておく。 Step3.BIOSでUEFI、セキュアブート有効に戻す。 ※Windows8が起動すること。