静的サイトジェネレーターとGitリポジトリでブログ
Pagent
USBメモリからPuppy LinuxとClonezillaの両方を起動出来たら、便利そうだ。
GpartedとClonezillaの両方を同梱したLive CDがあればいいが、そういうのが見つからない。
かつてはGParted-Clonezilla LiveCDというのがあったようだが、既に開発終了してしまっているようだ。
複数のisoファイルをUSBメモリ起動させるツールはいくつかあるようだったが、Windows用の「XBOOT」というのがサイズがコンパクトで手軽。使い勝手も良かった。
XBOOTで唯一の不満は、isoファイルをUSBメモリの2番目以降のパーティションにインストール出来ないこと。
やはりパーティションは分けた方がデータを整理しやすい。
Windowsでは1番目のパーティションしか見えないので、データの保存は第1パーティション、isoファイルの起動は第2パーティションにしたいところ。
XBOOTでいったん先頭のパーティション(sdb1)にPuppyとClonezillaのisoファイルをインストール。
その後そのデータを第2パーティション(sdb2)にコピー。
だが、これではUSBが起動しなくなってしまうので、syslinuxとMBRを再度インストールする必要があった。
下記サイトからsyslinuxの圧縮ファイルをダウンロード。
(syslinux-4.04を用いたが、現時点での最新版はsyslinux-6.03のよう)
Index of /pub/linux/utils/boot/syslinux
syslinux-4.04.tar.bz2を解凍。syslinux-4.04/linuxフォルダ内で端末を開き、下記コマンドでsdb2(環境によってはsdc2など)にsyslinuxをインストール。
syslinux /dev/sdb2
さらにsdbにMBRを再インストール。
dd bs=440 count=1 conv=notrunc if=~/Desktop/syslinux-4.04/mbr/mbr.bin of=/dev/sdb
(デスクトップ上で解凍したので上記のパスになっているが、if=やof=以下のパスは状況に応じて。)
USBメモリの2番目のパーティションsdb2から起動出来るようになった。
ーー
(参照記事)
KNOPPIX - 複数パーティション構成のUSBメモリから起動する : Server World
Syslinux (日本語) - ArchWiki
(追記)
「XBOOT」はブートするisoファイルを変更・追加するためにはインストールし直さないといけないが、「Easy2Boot」は配置するだけで様々なisoファイルをブート出来る。
isoファイルを置くだけでUSBマルチブート「Easy2Boot」 | Pagent
先日書いた記事のURLが、一部大文字のアルファベットになっていたので小文字に変更したら、当然のごとくリンク切れになってしまった。
以前、.htaccessを使って301リダイレクトをしようと試みたことがあったが、.htaccessのファイルをdeployすることは出来たものの効果は無かった。
GitHub Pagesでは.htaccessを使えないらしい。
meta refreshタグなら使えるのではないかと思い、やってみた。
全ての記事の基本レイアウトで転送設定する訳にはいかないので、publicフォルダ内に転送元となるindex.htmlを作り、転送タグを記載。
generateの際に消えてしまわないよう所有者をrootに変更し、さらにパーミッションも444に変更した。
だが、この状態でgenerateするとエラーになってしまう。
なにか良い方法は無いかと検索したら、転送元となるindex.htmlを自動生成してくれるプラグインが見つかった。
hexo-generator-alias
Hexoの作業フォルダ内で端末を開き
$ npm install hexo-generator-alias --save
とコマンドを打つとインストール完了。
node_modulesフォルダにhexo-generator-aliasが追加される。
転送先の記事ソースのFrontMatterにalias: (転送元のパス)
を追加しgenerateすると、publicフォルダ内に転送元となるindex.htmlを生成してくれる。
自分の例では、転送先の2015-02-06-lxpup-lxqtpup.mdのFrontMatterにalias: 2015/02/06/lxpup-LxQtPup/index.html
を追記。(alias: /2015/02/06/lxpup-LxQtPup/
あるいはalias: 2015/02/06/lxpup-LxQtPup/
でも良いよう)
generateすると、public/2015/02/06/lxpup-LxQtPup/index.htmlが生成された。
ファイルの中身は転送指定のみの簡潔なもの。
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Redirecting...</title><link rel="canonical" href="/2015/02/06/lxpup-lxqtpup/index.html"><meta http-equiv="refresh" content="0; url=/2015/02/06/lxpup-lxqtpup/index.html"></head></html>
旧URL http://pagent.github.io/2015/02/06/lxpup-LxQtPup/ にアクセスすると、ちゃんと新URLに転送された。
Jekyllにも同様のプラグインがあり、Octopressでも使えるようだ。
Blogging on Jekyll: URL Redirects - Raw Syntax
GitHub Pagesでの転送は以前は諦めていたが、これで一安心。
ーー
(追記)
過去の記事から転送指定しているものを探すには、source/_posts内で端末を開き下記コマンド
grep "alias:" *.md
すべての.mdファイルから「alias:」を含むファイルを抽出。
無線LANのパスワードを設定してから、Kubuntuにログインする度にKDEウォレットマネージャーが起動してくるようになった。
パスワードはクロスプラットフォームの管理ソフト「KeePass2」を使う方が便利なので、KDEウォレットマネージャーは不要。
Software CenterでKWalletManagerをアンインストールしたのに、それでもしつこく起動してくる。
もう一度インストールし、KDEウォレットマネージャーの設定で「KDEウォレットサブシステムを使う。」のチェックを外して、ようやく起動を停止出来た。
アンインストールしても起動してくるって、どうなってるんだろう。
サブマシンのネットブックでArch Linuxを試してみようと思ったが、ブートローダーのGRUBをインストールするところで、BIOS(MBR形式)ではなくUEFI(GPT)を選択してしまった。
そのせいでMBRが壊れてしまったようで、起動出来なくなってしまった。
MBM(Multiple Boot Manager)を再インストールしてみたが、ディスク全体が”unknown”と表示されるのみ。
「TestDisk」というフリーソフトでパーティションテーブルを修復出来るようだった。
「TestDisk」は「Ultimate Boot CD」に同梱されてるという情報を見かけたが、どうやら現在は「Ultimate Boot CD」には同梱されていないようで、見つからなかった。
「SystemRescueCd」に入っていたので、こちらから利用した。
「SystemRescueCd」でブート。入力出来る状態になった後、testdisk
とコマンドを打つと起動した。
使い方は最初はよく分からなかったが、サーチで表示されたリストの内、テーブルに書き込みたいものをキードードの左右のキーで設定し、緑色にしたら良いらしい。
リストは「p」キーでリストの内容を確認しながら選べば良いので、要領が分かれば簡単。
「q」で前の画面に戻る。
使い方は下記サイトの解説が分かりやすかった。
【TestDisk】について
「Deeper Search」にはけっこう時間が掛かり、またせっかく「Deeper Search」が終わったリストを、途中で「ENTER」を押してしまって戻れなくなり、また最初から「Deeper Search」ということもあったが。
パーティションテーブルは一応復旧出来て、起動も出来るようになったが、どうやらGPTでのパーティショニングの痕跡が依然残っている様子。
GpartedもGPTでパーティショニングされていると判断するようで、なにかパーティションの操作をすると、また起動出来なくなる。
これでは不便だし安心感も持てないが、「AOMEI Partition Assistant Standard Edition」というWindows用のフリーソフトでディスクの内容を保持したままGPTとMBRの変換が出来るようなので、試してみることにした。
「AOMEI Partition Assistant」を試す前にパーティションのバックアップをしようと思ったが、Clonezillaもパーティションテーブルを読めないらしい。
仕方が無いので下記サイトを参考に、dd
コマンドでバックアップすることにした。
dd でディスクをコピーするよく使う例 - それマグで!
ーー
(追記)
「AOMEI Partition Assistant」はWindows XpではMBRに変換出来ないようで、結局ハードディスクのデータを全消去してパーティションテーブルをMBRで作り直し、ddでバックアップしたものをリストアしてようやく復旧した。
復旧後、拡張パーティションにあるLinuxが起動しなかったが、SystemRescueCdの”Boot an existing Linux system installed on the disk”で起動させ、sudo grub-install --force /dev/sda6
でgrub2を再インストール。sudo update-grub
で起動出来るようになった。
Kubuntuのネットブック向けデスクトップは「Plasma Netbook」というそうで、ディスプレイの小さいネットブックで使う分には、これはこれで便利そうなのだが、FirefoxやQupzillaなどのアプリケーションでメニューバーを表示出来ないという不便さがある。
特にQupzillaでは設定画面に行けず、Qupzillaの設定を変更出来ない。
「KDEシステム設定」→「ワークスペースの挙動」→「Workspace」でWorkspace typeをNetbookからDesktopにしたら、通常のデスクトップに変更出来た。
ーー
ネットブックでKubuntuは厳しいのではないかと思ったが、ログインしてからの動作は許容範囲内。
Xubuntuと較べると、もっさり感はぬぐえないが。
ネットブックLavie LiteにインストールしたKubuntu。
新しいkernelだとディスプレイや無線LANに不具合が出るので、旧kernelを使うため、12.04から14.04にアップグレードしたもの。
アップグレード後いったんは正常にログイン出来たが、その後再度起動すると、ログイン後に画面が真っ暗になり、マウスポインターのみが表示されている状態になってしまった。
左上の隅にポインターを合わせると青く光る。
(なぜかGuestアカウントではデスクトップが表示される。)
検索すると似たような事例が多く見つかった。
Ubuntu日本語フォーラム / KDEログアウト後に画面が真っ暗になり操作不能
俺の覚書 Linux/Unix
[DESKTOP] Black screen after login - Kubuntu Forums
「CTRL」+「ALT」+「F2」でコンソール画面に行き、ディスプレイマネージャーをkdmからgdmに変える方法、sudo apt-get update
、sudo apt-get upupgrade
する方法、また自分のホームディレクトリの.kdmをリネームして新規に生成させる方法など試してみたが、どれも効果なし。
コマンドに不慣れで、/ver/log以下のログを確認するのも上手く行かない。
諦めかけたが、KDEならショートカットキーで出し入れ出来る端末エミュレーターYakuakeがインストールされているのではないかと思い、Yakuakeでxrandr
コマンドを使えばディスプレイの状態を確認出来るかと、真っ暗な画面で「F12」キーを押してみた。
するとデスクトップが現れた。
Kubuntu12.04の時と違い、ディスプレイの小さな端末向けのUnityみたいに画面だが。
(Yakuakeはインストールされていないのか、出て来なかった。)
なぜ復活したのかはまったく謎。
Firfoxで何だったかを見ていたら、突然、英文の警告がポップアップされた。
ERROR: Failed to initialize datasource.
[Exception… “Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsILocalFile.create]” nsresult: “0x80004005 (NS_ERROR_FAILURE)” location: “JS frame :: resource://scrapbook-modules/utils.jsm :: SBU_getScrapBookDir :: line 24” data: no]
ページを保存するアドオンScrapBookのもの。
気付くとサイドバーのScrapBookのツリーが真っ白で、保存してあったページが無くなっている。
「code: 0x80004005」を検索してみたが、Windows起動時のエラーとかVirtualBoxのエラーとか、「0x80004005」はプログラム関係で広く使われているエラーコードらしい。
肝心のScrapBookの対処法は見つからなかったが、ScrapBookの「ツール」を開くと、一番下に「緊急時の修復ツール」というのがあった。
backupのscrap.rdfファイルからツリーを復元するものらしい。
これで復元出来るかと思ったが、バックアップのファイルも見当たらず。
ついてない。
ーー
(追記)
よく考えたら、Xubuntu側のScrapBookの保存先は、マルチブート下のWindows 7のSsrapbookフォルダに設定して、共有しているんだった。
少し前にWindowsのマウント先を変えたから、それでリンクが切れてしまっただけのようだ。
データ保存先を設定し直したら、ちゃんと表示された。
Puppy Linuxのデスクトップ環境について調べ物をしていたら、”LxPup - Puppy Linux + LXDE”というページがあった。
LxPup - Puppy Linux + LXDE プロジェクト - SourceForge.JP
Puppy LinuxをLXDEデスクトップにアレンジしたものらしい。
早速、LxPup-15.02.2のPAE版と非PAE版、それとLxQtPup(非PAE)をダウンロードした。
いずれもSlacko Puppy 5.9.3がベースのもの。
(LxQtPupは上記リンク先Other/LxQtPup内)
LxQtPupのデスクトップ環境「LXQt」というのは、「LXDE-QtとRazor-qtの成果物を統合したデスクトップ環境」で「Qtに移行したLXDEの後継バージョン」とのこと。
LXDE - Wikipedia
LXDEよりさらに軽いということか。
試用してみての感想
「LxPup」
ブートCDを焼き起動すると、PAEのLxPupはいきなり「Disabling IRQ #9」と出て、その後なんとか「Loading kernel modules…」までは進んだが、そこでフリーズ。
非PAEの方で起動すると、無事デスクトップが表示された。
デスクトップに子犬の姿は無かったが、開始時に表示される言語やタイムゾーン、モニターなどの設定ウィンドウを閉じると、「ワン!ワン!」と元気に迎えてくれる。
本家Puppyよりすっきりした外観。
そして動作の軽快さは、まさにPuppy Linux。
ファイルマネージャーにはPcmanfmが入っていた。とても有難い。
Puppy標準のROX-Filerは、コピーしようと思ってファイルをドラッグ&ドロップすると、コピーではなくリンクを作ってしまったり、右クリックでコピーしようとするとコピー先のパスを入力させられたりで、使い勝手が悪い。
ブラウザはFirefoxで、これも有難い。
起動はやはり多少もたつくが、Firefoxにはそれに勝る便利さがある。
端末はPuppyデフォルトのrxvtに加えLXTerminalが入っている。
右クリックでのコピーペーストが出来て便利。
LxPup。
Puppy Linuxの軽快さと、LXDEの快適性を上手く融合させている。
「LxQtPup」
LxQtPupの方はというと、起動も起動後の操作も、ややもっさり感が否めない。
実際、タスクマネージャーだけを開いた状態での消費メモリは、LxPupの68MBに対し、LxQtPupは135MBと倍の差。
だが、LxQtPupの外観はとても丁寧に作りこまれていて、「本当にこれがパピーか?」と驚愕を覚える。
特にメニュー周りなど、LxPupがPuppy Linuxの素朴さ(ごちゃごちゃ感)を残しているのに対し、LxQtPupには精錬された美しさがある。
もはやPuppyの域を超えていて、外観だけを見れば全く別のディストリビューションと思えるほど。
凄いです。
LxPupをFrugalインストール
LxPupをHDDにインストールしようと思ったら、ユニバーサルインストーラーはあるが、どこを探してもFrugalインストーラーが見当たらない。
参照させて頂いた下記サイトでも、ユニバーサルインストーラーを使ってのFullインストールが紹介されていた。
LxPupのインストールからインターネット接続のまとめ : Windowsはもういらない
既にPuppy Linux5.7.1をFrugalインストールしているし、出来れば同じパーティション内にFrugalインストールしたいところ。
FrugalインストールしてこそのPuppy Linuxとも思える。
Frugalインストールは必要なファイルをコピーして、その後Grub4Dosブートローダーをインストールしているだけのようだし、最後のGrub4Dosブートローダーの設定さえちゃんとやれば、ファイルのコピーは手動でも良さそう。
やってみた結果、ちゃんとFrugalインストール出来た。
まず、インストールするパーティション内に「lxpup1502」等、適当な名前でフォルダを作成。
(名前はなるべく入力しやすいものが良い。後に個人保存ファイルを複数作成した場合、個人保存ファイルへのフルパス入力を求められる。)
LxPup-15.02.2を例にとると、ブートCD内には12個のファイルがあるが、そのうち必要なのは下記の4つ。
initrd.gz
vmlinuz
puppy_lxpup_15.02.sfs
zdrv_lxpup_15.02.sfs
これら4つのファイルをあらかじめ作っておいたlxpup1502フォルダにコピー。
後は「メインメニュー」→「Setup」→「Grub4Dos bootloader config」からGrub4Dosブートローダーをインストールすれば良い。
シャットダウンの際、個人保存ファイルの作成を促されるから、好みの形で作成。
ブートCDを取り出して再起動すればLxPupの画面が現れる。
日本語化は上記参照サイトの方法で簡単に出来た。
LxPup、LxQtPup、いずれもノーマルのPuppy Linuxより親しみやすいアレンジになっているので、初心者からベテランまで、ぜひ一度触れてみてもらいたい優れたディストリビューションだ。
Puppy Linux5.7.1のパッケージマネージャにDropboxクライアントが見当たらないので、コマンドラインでインストールした。
Linux マシンに Dropbox をインストール
コマンドを入力すると、サーバー証明書エラーになった。
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
...
エラー: cannot verify www.dropbox.com's certificate, issued by `/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA':
発行者の権限を検証できませんでした。
www.dropbox.com に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: エラーを回復できません: 直ちに終了します
原因がよく分からないがdropbox.comは安全だろうと、`–no-check-certificate’のオプションを付けてインストールした。
cd ~ && wget --no-check-certificate -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
インストールは無事完了し、~/.dropbox-dist/dropboxd
で起動出来た。
後になって気がついたが、Puppy Linuxのタスクトレイの時刻がおかしい。
約9時間遅れている。
そういえば、Puppy Linuxを起動してすぐに表示される国とタイムゾーンの設定を、面倒臭くて飛ばしていたんだった。
このせいでエラーが出ていたんだろうか。
Puppy Linux5.7.1には、デフォルトのターミナルミュレーターとしてurxvtというのが入っていたが、右クリックでのコピーペーストが出来ず不便。
Puppyパッケージマネージャで他のを探すと、Roxtermというのが見つかった。
右クリックでのコピーペーストが可能でかなり軽量。
Ubuntuソフトウェアセンターにもあったので、Xubuntuにもインストールしてみた。
カスタマイズのためDefaultのプロフィールをコピーし、Default01を作成した。
プロフィールをDefault01に切り替えたところ、突然終了。
その後、Roxtermを起動出来なくなってしまった。
メニューからアイコンをクリックしても反応は無いし、xfce4-terminalでroxterm
とコマンドを打つと、”Segmentation fault”と返ってくる。
検索したところ、同様のケースが見つかった。
#752253 - roxterm: Segmentation Fault with the copy of default profile - Debian Bug report logs
“empty profile file”が原因とのことだが、~/.config/roxterm.sourceforge.net/Profiles内のDefault01を開くと、確かに何も書かれておらず真っ白だった。
Default01に一行
|
|
と書くと、無事起動出来た。