静的サイトジェネレーターとGitリポジトリでブログ
Pagent
Arch LinuxのXfceのアイコンがgnomeで少しやぼったい感じだったので、新しいアイコンを入れた。
アイコンは下記サイトで一番人気のMistにした。
Eyecandy for your Xfce-Desktop - Xfce-Look.org
ダウンロードしたファイルを展開し、出て来たMistフォルダを/usr/share/iconsに移動。
だがこれだけでは「設定」→「外観」→「アイコン」に表示されない。
アイコンテーマ毎にキャッシュファイルを生成しないといけないようだ。
xfce:xfce4-settings:4.10:appearance [Xfce Docs]
端末でコマンドを入力しキャッシュファイルを生成。
sudo gtk-update-icon-cache /usr/share/icons/Mist
アイコンの設定に表示され、選択可能になった。
AUR (Arch User Repository)のパッケージをインストールするため、pacmanラッパーYaourtを入れた。
「まず package-query をインストール」とのことだが、pacmanからpackage-queryをインストールしようとしても、見つからないと言われるので、/etc/pacman.confに下記記述を加えた。
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
その後
sudo pacman --sync --refresh yaourt
GlipperなどもYaourtからインストール出来るようになった。
yaourt -S glipper
クリップボードマネージャーは色々あるが、Glipperはログアウト時に履歴を消去出来るので気に入っている。
ーー
(追記)
Xfceデスクトップに標準で入っていたClipmanでも、「終了時に保存する」のチェックボックスを外せば履歴を消去出来るようだ。
Glipperのアイコンが正常に表示されないこともあり、結局Clipmanを使うことにしてGlipperをアンインストールした。
yaourt -Rs glipper
Arch LinuxにXfceデスクトップを入れたが、ログアウト時に大音量のビープ音がして不快なので、鳴らないようにした。
/etc/modprobe.d内にnobeep.confファイルを作成し、blacklist pcspkr
と記述して保存。
もしくは下記コマンドを実行。
# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
Clonezillaでバックアップしたパーティションのイメージを、元とは違う別のパーティションにリストアした。
(下記はsda1からバックアップしたArch Linuxをsda6にリストアした例)
・バックアップしたイメージフォルダ内のpartsファイルの記述をsda1からsda6に変更。
・バックアップイメージsda1.ext4-ptcl-img.gz.aaをsda6.ext4-ptcl-img.gz.aaに変更。
(….gz.ab、….gz.acと複数ある場合はすべて変更)
上記で別のパーティションにリストア出来た。
ただこれだけではArch Linuxを起動出来ないので、リストアしたsda6内の/etc/fstabと/boot/syslinux/syslinux.cfgの記述を修正。
(ブートローダーがGrub2の場合はgrub.cfgの修正でOKか)
sda6にリストアしたArch Linuxを起動出来た。
isoファイルからブータブルUSBメモリを作成出来るツールは多々あるが、「Easy2Boot」は作成した領域にisoファイルをコピーペーストするだけでマルチブート可能になる。
公式サイト(英語)以外には解説が見当たらず、またその公式サイトも「Easy2Boot」のダウンロードやインストール方法など、どこに記載があるのか分かりづらかった。
だが使ってみると、配置したisoファイルが自動的にブートメニューに追加されるし、とても便利な代物だった。
Linux環境下でのインストール
まず、DownloadsからEasy2Boot_v1.62.zipをダウンロードして展開。
Linux環境で作業したので、114 - How to make an Easy2Boot (grub4dos) USB Flash drive using linux - RMPrepUSBを参照したが、展開して出て来たフォルダ内にも同様の解説があった。
_ISO/docs/linux_utils/ReadMe_fmt.sh.txt
(Windows用の解説は_ISO/docs/Make_E2B_USB_Drive/ReadMe.txt)
linux_utilsフォルダ内で端末を開き、フォルダ内のすべてのファイルのパーミッションを777に変更。
sudo chmod 777 *
その後fmt.shを実行。
sudo ./fmt.sh
インストール先を聞かれるので、OKなら「y」。
違う場合は「n」の後、自分で指定。
(外付けHDDにもインストール可能で、また2番目以降のパーティションにもインストール出来る。)
フォーマットして良いか聞かれるので、良ければ「y」。
指定したパーティションに「Easy2Boot」がコピーされ、ブートローダーがインストールされる。
起動とデフラグ
使い方は至って簡単で、_ISO内の空いてるフォルダ(LINUXやWINなど)にisoファイルを追加するだけ。
今回は_ISO/LINUX内にLxPup-15.02.1-s-nopae.isoを、_ISO/BACKUP内にclonezilla-live-2.1.2-43-i686-pae.isoを配置した。
ブートすると、LxPupは起動出来たが、clonezillaは「ファイルがcontiguous(隣接)じゃない」と言われ、上手く起動出来なかった。
どうやら断片化しているからデフラグが必要ということらしい。
isoファイルから直接ブートする際には、ちょっとした断片化でも起動出来ないようで、「Easy2Boot」ではいろいろ対策が用意されている。
defragfs.pl(_ISO/docs/linux_utils内)やWINCONTIG(_ISO/docs/内)の他、特にLinuxユーザーの為に_ISO内にCONTIG.ISOというファイルが同梱されている。
CONTIG.ISOは、isoファイルに断片化があった際に自動的にデフラグ操作を行うためのものらしい。
サイズが500MBに設定されていて、Easy2Bootインストール直後の状態でのほとんど全ての容量にあたる。
clonezillaが上手く起動出来なかったのもフリーズしていた訳ではなく、CONTIG.ISOがデフラグ操作を行っていたのかもしれない。
ただかなり時間が掛かるようだし、サイズが500MB以上のisoファイルをデフラグするためには、CONTIG.ISOもそれ以上のサイズにリサイズしておく必要があるようだ。
CONTIG.ISOを使わないのであれば、削除してしまっても良いとのこと。
defragfs.plはなぜか機能しなかったが、Windows用のWinContigでデフラグしたらclonezillaも起動出来るようになった。
WinContigはWindows 7を起動して使用したが、Windows PE(Windows プレインストール環境)やHiren’s BootCDの「Mini Windows Xp」など、Windows環境を提供するisoファイルをEasy2Bootに入れておけば、Easy2BootによるブートでWinContigを利用出来そうだ。
フォーマットをNTSFにする(不要かも)
4GBを超えるファイルを利用するためには、Easy2Boot領域をFat32ではなく、NTSFもしくはext3、ext4にしておく必要があるが、なるべくなら4GB以上のisoファイルも扱いたい。
Easy2Bootインストール時に領域がFat32にフォーマットされてしまうが、_ISO/docs/linux_utils内のfmt.shファイルの131行目の
/sbin/mkfs.vfat -F32 -n "$label" $device
を
/sbin/mkfs.ntfs -n "$label" $device
に変更することでNTSFにすることが出来た。
後からファイルを保持したままFat32をNTSFに変換することも可能のよう。
(その後は結局Fat32でフォーマットしたものを使っている。Fat32のままでも良いかも。)
よく分からないトラブル
外付けHDDではこれで上手く行ったが、USBメモリではEasy2Bootを起動しようとしたら、「パーティションのlast sectorをチェックしている」という内容の表示のまま止まってしまった。
そのまま電源を落とさずUSBメモリを一旦抜き、再度挿入して”continue”。
ブートメニュー画面で”Install Grub4dos…”を選択したら、その後は起動出来るようになった。
理由はよく分からないが、使用したUSBメモリの特性やインストール方法などにもよるのかもしれない。
感想
以上、少しややこしかったが、配置するだけで(正確にはデフラグの必要があったりするが)isoファイルを直接起動出来る「Easy2Boot」はかなり優秀なツールだ。
Linuxディストリビューションを試してみたい時にもDVD-RWなどに焼く必要が無くなる。
またClonezillaでシステムのバックアップを取る時にも、外付けHDDの先頭パーティションをEasy2Boot領域としてClonezillaを入れ、2番目のパーティションにバックアップするようにすれば、Clonezillaのlive-CDが不要になる。live-CDに較べて起動も早い。
導入がもう少し簡単だったらとは思うが、とても便利なので試して損は無いと思う。
ーー
(追記)
Windowsの場合はRMPrepUSBを使って、もっと簡単にEasy2Bootをインストール出来るようだ。
Dellの古いノートパソコンVOSTRO1000にArch Linuxを入れてみた。
(NECのLavie Liteは、kernelが3.10台を超えると不具合が出る問題がArch Linuxでは解決出来ず、諦めた。)
インストールにはArchbootを使った。(archlinux-2015.01-1-archboot.iso)
近年のグラフィカルインストーラーほど懇切丁寧ではないが、対話式にインストール出来るので、コマンドラインのみでのインストールよりは楽だった。
ネット上の紹介記事を参考に進めたら、それ程迷うこともなかったが、最後ブートローダーのインストールで、GRUB2を選択すると、インストール先をMBRにしか出来なかったので、SysLinuxをインストールした。
無線LANの設定も後から苦労するよりはと、ぽちぽちパスワードを入力した。
一応インストールは完了したが、デスクトップ環境の導入で躓いてしまった。
最初LXDEを入れてみたが、画面がザラザラで何も見えない。
PC起動時にLXDEを自動開始するよう設定してしまったようで、コマンドラインにも戻れない。
修正の仕方も分からず困ったが、幸いインストール後の状態をClonezillaでバックアップしていたので、これをリストアした。
LXDEでダメならと、次はXfceでチャレンジしてみた。
ほぼ下記記事の説明の通りに進めた。
Windows で VirtualBox + Arch Linux (Xfce + Slim) - けいれん現象の幽玄美よ
Xorg、グラフィックドライバー(xf86-video-vesa)、Xfceをインストールしたが、startxfce4
とコマンドを打ってデスクトップに入ろうとしても、X serverが落ちてしまう。
エラーメッセージは「ビデオドライバーが無い」というような内容だった。
LXDEの時もこのせいで画面がザラザラだったのかもしれない。
デュアルブートのLubuntuでxrandr
してみると、
VGA-0 disconnected… LVDS connected
と返ってくる。
lspci
をしてみると、
VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS482/RS485 [Radeon Xpress 1100/1150]
何のドライバーが必要なのか、よく分からない。
Puppy linux派生のLxpupを起動してみると、クイックセットアップのGraphicsのところに「現在はATIビデオドライバーを使用している」というようなことが書いてあった。
「ATI video driver Arch」で検索すると、Arch Linuxの日本語wikiページが見つかった。
ATI - ArchWiki (日本語)
pacman -S xf86-video-ati
でxf86-video-atiをインストールしたら、ようやくXfceのデスクトップに入ることが出来た。
日本語環境がまだだったり、全体的にフォントがザラザラで汚かったりで、環境はまだ全然だが、いちおう一段落は付けられた。
それにしても、XubuntuやLubuntuなどUbuntu派生ディストリビューションの楽ちんさは、本当に有難いと痛感した。
/etc/default/grubを編集してupdate-grub
しようとしたら、
/usr/sbin/grub-mkconfig: 6: /etc/default/grub: options: not found
とエラーになった。
意味がよく分からず、grub2を再度インストールしてみたが、やはりエラーになる。
grubファイルをよく見ると編集した箇所、GRUB_DEFAULT=”Advanced options for Ubuntu>Ubuntu, with Linux 3.16.0-30-generic”のダブルクォーテーションが全角の「”」になっていた。
半角に直したらアップデート出来た。
エラーメッセージの”6”はgrubファイルの6行目ということらしい。
“line 6”と言ってくれたら親切なんだが。
“options: not found”も”invalid”等の方が分かりやすい。
自分の不注意は棚に上げてだが。
ネット上のページは開設者の都合などにより消えることも多いだろうし、SEO的にはそれ程気にしなくても良いのかもしれないが、ページのリンクをクリックしても404エラーだったりするとやはりがっかりする。
自分のブログにもリンク切れになっている発リンクが無いか調べてみた。
まず、有名どころらしいdead-link-checker.comでチェックしてみたが、とにかく遅い。
1600あまりのページのチェックだったが、2時間以上も掛かってしまった。
遅すぎて、そのあとリンク切れの修正という気にはとてもなれなかった。
ウェブアプリの場合、サーバーの負担を減らす為ある程度遅くなるのは仕方が無いらしい。
サイト全体をチェックできるリンクチェックツール比較
というわけで、上記の記事で高評価で紹介されていた「LinkChecker」を使ってみた。
Linux、Windows、Macで使えるクロスプラットフォームらしい。
最新版のlinkchecker-gui_9.3-1_all.debをダウンロードしたが、インストールの際にUbuntuソフトウェアセンターが、少し古いバージョンだったらリポジトリにあると言ってきたので、言われた通りリポジトリのlinkchecker-gui 8.6-2をインストールした。
使ってみたらこれが早かった。
すべてのページのチェックが5分程で完了。
結果は、404や301などの異常の種類やURL等で並び替えが出来るので、その後の修正作業もはかどった。
サイズも397.3 kBと小さいし、わざわざ遅いウエブアプリを使うより「LinkChecker」をインストールする方が断然おすすめ。
ときにはウェブアプリも便利だったりはするが、リンク切れチェックはソフトをインストールするに限ると痛感。
ファイルマネージャーnemoに端末を追加する拡張機能「nemo-terminal」を入れた。
$ sudo add-apt-repository ppa:webupd8team/nemo
$ sudo apt-get update
$ sudo apt-get install nemo-terminal
nemoの上部に端末画面が追加される。
「F4」キーで端末画面の表示・非表示を切り替え。
端末での階層はnemoで開いているフォルダと同期されるので、コマンド操作する時に便利。
別途「dconfエディター」も入れておけば、端末画面の高さなども調節出来る。
古いPCで、新しいkernelだと正常に起動しないが、kernel3.10台までのものなら大丈夫。
その条件でなるべく新しいClonezillaを探したら、clonezilla-live-2.1.2-43(もしくはclonezilla-live-20130819-raring)のようだった。
どのアーキテクチャのものを使えば良いのか分からず、clonezilla-live-2.1.2-43-i486.isoを使ったら、バックアップが異様に遅かった。100GB中67.1GBを使用中のパーティションをバックアップするのに50分近くかかった。
アーキテクチャが合ったものを使わないと遅くなってしまうようだ。
clonezilla-live-2.1.2-43-i686-pae.isoをダウンロードして使ったら、18分あまりだった。
Index of /local-distfiles/clonezilla-live/oldstable/2.1.2-43
clonezilla-live-20130819-raring-i386.isoでも18分あまり。
Index of /local-distfiles/clonezilla-live/alternative/oldstable/20130819-raring
ちなみに、amd64となっているものは当然のごとく32bitのPCでは使用出来なかった。