気の向くままに辿るIT/ICT/IoT
システム開発

Debian Live USB / 9.6 Stretchを作ってみた

ホーム前へ次へ
*BSD/PC-UNIX/Linuxって?

Debian Live USB / 9.6 Stretchを作ってみた

Debian Live USB / 9.6 Stretchを作ってみた

2018/11/15

 何もしなくてもUSBブートできるラズパイ3B+を買うことにし、手持ちのUSBメモリを使おうと思う一方、8GB 2本と32GB 1本は、テスト用やレスキュー用などとして仕込んでいたもので16GB 1本は、既存のラズパイ2Bサーバのシステム用予備として買い置きしてあったもの。

 メーカーの異なる何れのUSBメモリも8GBという容量もさることながら、ラズパイ+LVM+外付けHDDとUSBメモリの相性がイマイチだったこともあり、LiveUSBには、相性の良かったメーカーの16GBか32GBを新たに買う予定。

USBメモリの使いみち整理

 32GBのUSBは、てんこ盛りレスキュー状態となっていましたが、作ってはみたものの、WindowsからNetBSDやDebian、Fedoraに乗り換えて数年経った今となっては、益々使う機会がないので他のUSBメモリと併せ、集約・整理しておくことにし、8GBの2本を32bitと64bit用レスキューとして仕込み、32GBをフリーにしてみようかと。

 8GBと容量も限られる為、1つのOSに必要なパッケージを入れるのが良いか?とDebianベース、CLIでも...とも思ったものの、容量確認の意味でも、GUI、LXDEとしてみることにし、amd64版から試してみることにしました。

Debianインストーラ

 Debianインストーラとして当初、32bit/64bit兼用かつ、CDでもUSBでも使えるというtesting版(buster)のハイブリッドISOをダウンロード。

 USBメモリ全体へのコピーしかできないとのことで8GB 1本を空にしてコピー(cp)し、インストールを始めると初回はインストール時に失敗、2度めは、インストールに失敗しつつ、起動はしたものの、インストール後にログインできない事象に見舞われ、インストール時に設定したアカウント/パスワードはもとより、root/root、root/toor、root/passwordと何を試してもログインできずじまい。

 3度めでようやくインストール完了、ログインも、su -もできるもsudoのインストールすら依存関係に問題があるようでできず、テスト版(buster)は敷居が高いかということで32bit/64bitそれぞれ別個にはなるものの、Stable版(Stretch/9.6)を使うことに。

 近年、配布サーバ事情も負荷分散などいろいろあるようで、これと関連してDownloadページのドキュメントの書き方なども変わり、ISOブートしようにもDebian特有の.isoファイルとは別に必要となる同じバージョンのvmlinuz、initrd.imgの場所探しが、testingではなおさら困難を極め、断念、安定版は、デイリービルドではないので本家やミラーのStretchのcurrentから辿ったところにあるので良いのかということでISOブート。

 何度か試したテスト版では、1度はデスクトップ環境などもインストールしてしまったものの、USB 2.0に入れたインストーラからPCを介してUSB 2.0のUSBメモリにコピーしたり、インストールしたり...という無駄な激遅インストールを反省し、最小限に留め、ログイン後、追加インストール・構築するスタイルに変更しました。

 あ、間違えた...通常版の*-netinst.isoをインストールしてしまいましたが、Debian Liveイメージを使えば、インストーラも含まれ...、なんなら、やり直すとして、まぁ...よしとしましょう。

 Liveのデスクトップからでも起動できるインストーラってどうやるんだろう?と思ったら、リポジトリにdebian-installer-launcherがあるんですね。

Debian Live起動

 ようやく、Debian Live(通常版だけど)を起動、ログイン、とりあえず、sudo、LXDE(task-lxde-desktop)、GParted、CloneZilla、fcitx-anthy、fcitx-mozcをインストールし、再起動。

 ここまでで4GB弱...、Debian Liveイメージならもっと軽量になりそう...、とは言え、勝手に入ったlibreofficeやらゲームやら削ぎ落とせるものも多々。

意外なハマりポイント

 再起動後、lightdmによるログイン、LXDEやアプリの起動は確認できたものの、3点、戸惑った点がありました。

 1点は、Debian Liveを試すにあたり使ったノートPCのタッチパッド上でのタップをクリックと認識させる設定、もう1点は、なぜか英語キーボードになっていたキーボードタイプを日本語キーボードにするための設定、残る1点は、Debian Live上でのCloneZillaの起動。

 結論から言うと、

 タッチパッド設定については、synclientパッケージのインストールと[~/.config/lxsession/LXDE/autostart]ファイルに[@synclinet TapButton1=1]を追記するだけで永続化もでき解決。

 キーボード設定については、メニューからfcitx設定画面のインプットメソッドタブを開き、[キーボード-日本語-日本語]系を追加、一番上へ移動、[キーボード-英語-英語(US)]を削除して画面を閉じるだけで永続化もでき解決。

 CloneZillaの起動については、Debian Live(OS)ベースとは言え、そのまま起動するCloneZilla Liveと勝手が異なることもあり、Debian( Live)上でユーザーとして起動しようとすると[clonezilla]がないと言われ、管理者でないと実行できないことがわかり、端末から[sudo clonezilla &]として起動させるとバックグラウンドだけに見た目はCloneZillaメニューが表示されますが、キーボードからメニュー操作できず、フォアグラウンド起動させないとダメだということに一瞬気づかなかったというオチです。

 仮想マシンでの検証含め、何れも、これまでにも遭遇、タッチパッド設定は、Debian JessieのインストールDebian JessieからDebian Stretchへのアップグレードのように/etc/X11/xorg.conf.d以下で設定したり、GUIメニューから辿った[マウスとタッチパッド]とか、[タッチパッド]などの画面上で表示はうろ覚えですが、[タッチパッドを左クリックに使う]旨のチェックボックスにチェックするなりしていましたし、後者は、fcitxも入れたこともあるものの、基本、scimやibusを使ってきたことやキーボードの設定も、やはり、xorg.confなどで設定していたことから、これら解決策は、意外というか、新鮮でした。

 尚、タッチパッドの設定については、[synclinet TapButton1=1]を端末で実行すると再ログイン時には有効にならない為、永続化のためには~/.bashrcに...といった情報もありましたが、そうすると1度ターミナルを起動するまで有効にならない、~/.profileや~/.bash_profileでも有効にならず...、となれば、Openboxはともかくも仮にLXDE以外のデスクトップ環境以外で起きた場合の解決策は、リンク先の通り、/etc/X11/xorg.conf.d以下で設定することでしょう。

 また、キーボードの設定についても、[dpkg-reconfigure keyboard-configuration]や[console-data]をインストール後、[dpkg-reconfigure console-data]とするなどといった情報もあるものの、101/102/104/105などは、あるものの、なぜか、106がない...自身のケースの場合、設定確認してみると表示上は、jp106/106jpなどになっていたりもしますが、入力してみると実際には、英語キーボードのままで、当然、永続化もできず...、結果、fcitxの設定で解決した次第。

Debian Live運用

 これを起動しているGRUB2、追加インストールしたGParted、CloneZilla、標準のfdisk、ddだけでもパーティション操作やデータサルベージに対応できますし、そもそもLinuxシステム一式があり、必要な時にネットを介してリポジトリから追加インストールもできるLive版は、柔軟性もあって良い感じです。

Buster版Debian LiveUSBの作成

[2019/07/08]

 昨日リリースされたDebian 10 Buster、USB2.0だと尚更、アップグレードは遅いかも?と思い、同じSiliconPower、同じタイプの自身としては初となるUSB 3.0のUSBメモリにクリーンインストール(fresh install)してみることにしました。

 が、インストール後、起動してみるとデスクトップMATE上のGUI操作が、めちゃめちゃ反応が鈍く、動きが遅い...。

 前回のStretch版は、LXDEだったとは言え、USB2.0でもサクサクと言ってよいほどだっただけにUSB3.0でこれは...って、もしかしてUSBメモリがハズレだった説?

 Celeronマシンの自身においてもWhy GUI on Debian is slow on Intel PCs, and its solutionのより妥当な組み込みドライバを使用すべく、xserver-xorg-video-intelをpurgeする策も確かに一定の効果はあり、改善されたように思いましたが、やはり、少し遅く感じますし、そもそもUSB2.0のDebian Stretch Liveは、同じPCでこの対策をせずともそれほど重くない為、やはり、USBメモリ自体か、Busterに起因するものかと。

[2019/07/09:追記]

 PCでアップグレードしたDebian Busterは、先のドライバをpurgeするまでもなくサクサク、試しにpurgeしても変わらずでした。

 ちなみに前回もそうでしたが、DebianのパーティションにDebianインストーラでGRUB2をインストール、それを別のパーティションにインストールしたGRUBからチェーンロードする場合、なぜか、chainloader +1ではなく、configfile (hd0,y)/path/to/grub.cfgにする必要がありました。

[2019/08/04:追記]

 ふとGPartedで確認すると、なんと100%ディスク領域を使用済みになっていました...。

 比較的余裕のあった空き領域を割り当て、一応、可能な限り、修復もしてくれるGPartedの[チェック]も行ない、Live USBを起動してみました。

 一方、なぜか、起動も遅かったDebian LiveUSB、起動後、ユーザー権限で[systemd-analyze]、[systemd-analyze blame]した結果、udisks2.serviceで3分以上かかっていることが判明。

 /etc/fstabを確認すると、なぜか、スワップ行が2行あり、1つは、ノートPC側のスワップ領域.../dev/sr0もついでにコメントアウト(無効に)して再起動してみたところ、超高速起動しました。

 おお、これがUSB3.0/3.1の速さかと実感。

 まだ、デスクトップが表示されてから操作可能になるまでのタイムラグが微妙に長い、lessでテキスト参照している際、一瞬操作が止まるなどなくもありませんが、これは、おそらくUSBメモリの書き込み速度の問題でしょう。

 結果、Busterに起因するものではなかったようでDebian Buster LiveUSBも、まずまず快適に使えるようになりました。

bullseye版Debian LiveUSBの作成

[2022/08/04]

 ノートPCでDebian 11.0 bullseyeにアップグレード、複数台Raspberry PiにおいてRaspberry Pi OS bullseye 11へアップグレードしてあったのですが、幸いサルベージやリカバリの機会もなく、とは言え、StretchからBusterにアップグレードはしたものの、今日までDebian Live USBはBusterのままでした。

 ラズパイも全てSSDにしたこともあり、そもそもUSBメモリ自体、使う機会がなく、もったいない気もするけど、LVMでディスクとして使うにも各所、容量は十分だし、そうするにしても何本もあっても嵩張るし...。

 そんな折り、ふとLinuxライフでセキュアな気分漂い、Debian GNU/LinuxでClamTk/ClamAVを久々に使ってみると印象を覆され良い感じ、喫緊必要ないけどWindowsにもと思い、数年ぶりにWinbuilderでGUI版WinPEでも作るかと思ったのも束の間、そこにもある通り、Linux Live USBでよくね?という雰囲気漂いまくりあがり。

 ならばとbullseyeにアップグレードしつつ、もっとサルベージ・レスキュー・リカバリ風味を前面に押し出してみようかという気分になった次第。

 が、apt full-upgradeでbullseyeへのアップグレード中、失敗したのか?その辺りのアップグレードが終われば復活したものなのか?画面が真っ黒で表示しなくなるアクシデントに見舞われ、クリーンインストールに切り替え。

 当初、Busterにアップグレードした時と同じUSB 3.0のメモリに、うっかり、Debian Liveを入れ、更に、その後すぐにDVD isoのDebianインストーラを入れてしまい、仕方なく、CLIは速いのにGUIとなるとサッパリでラズパイのブートに向かないと判断したUSB 3.0のメモリにダメ元でインストール。

 Live版はそうでもないものの、インストール版をLive USB化したものは、やっぱり、GUIが遅い、そもそも、以前、Busterであった時のように重い、ならばとBusterでは改善したUSB 3.0のメモリにddしてみたら、やっぱりログインからGUIの準備が整うまで、整ってからもブラウザとかも起動するまでが重いし、その間ほかの処理もできないほど遅くなることも。

 DebianのLive版については、bullseyeだけなのか?残念なのが、ブートメニューからロケール(国)選択すれば、表示は日本語になるし、そうでないメニューを選んでも日本語表示まではできるものの、日本語入力にはなっておらず、できない、または設定が難解、標準の英語版を日本語化した後者の場合、UTC時刻が日本時間になっており、tzdataをapt reconfigureするとむしろ9時間ズレる、読み込み専用ISOそのままなのか、Live内ではapt installなどもできる一方、再起動すると振り出し...など。

 よってUSBにインストールしたものを使いたいのですが、これは遅さと、あまり重要ではないとは言え、Liveではなくディスクから起動しているとみなすからでしょうが、Debian-installer-launcherを入れてインストールしようとすると['kexec' is not valid plugin]エラーでできない点には注意。

 とは言え、インストール目当てじゃない、常用するわけでもない、即対応を迫られるわけでもないわけで、OSが起動してしまえば、ブラウザ起動以外は、GUIでもそんな我慢できないほどには遅くなさ気、インストールとかはともかくも端末操作はそこそこ快適だし、まぁいいかと。

 尚、インストール中、DVDではなくHTTP経由などのリポジトリを使うか否か問われるので適宜応答、それは良いとして今回こうしたDVD isoを使ったからか、/etc/apt/sources.listにDVDがリポジトリとして含まれており、インストール完了後は、DVDは使わないので、これをコメントアウトしておく必要がありました(過去にこんなことした記憶なし)。

 ということで不要なgnome-games、MATEの他にうっかり入れてしまったcinnamon*をapt purge、forensics-fullだけで良さげもなんか違う気がしたので追加でforensics-all/forensics-all-gui/forensics-extra/forensics-extra-gui、GParted、CloneZilla、Clamtk(ClamAV)、chntpw、Midoriをインストール。

 Midoriを入れたのは、Browshはさておき、愛用のFirefoxも知らない内に入ってたChromiumもある、が、いざ使うってなった時があるとしてmanで十分なことは多いものの、ネットで調べようにもブラウザが重いとなんだから。

 ちなみに以前、Windows用にとアンチウイルスソフトAVG、F-Secure、Commodoも他と併せてISOマルチブートし、Live USBにしていたことがありました。

 内、CommodoについてはLinux版が、.debファイルとしてあることを発見、一瞬、このLive USBにも入れようかと思いましたが、Commodo Linux版については、アップデートがなされていないようで、依存関係として古いlibssl0.9.8が必要、古いパッケージって...、ましてSSLって...アンチウイルスソフトがそれって...ということでやめました。

 F-Secureについては、今はない模様、AVGについては、今やPC(Windows)版、Mac版、モバイル(Android/iPhone)版の無料版もありますが、インストール及び24時間365日監視が前提のようなので今回は、必然的に対象外となりました。

 さて、何を例に出せばいいのか悩ましいほどもGParted、CloneZilla、gddrescue、ネットワーク解析にWireshark、arp-scan、nmap...、マルウェア対策にClamtk、ClamAV(clamscan)、chrootkit、rkhunter、Windowsのパスワードリセットにchntpw、パスワード解析にophcrack/ophcrack-cliなどなどforesic系の各種解析ツールも盛りだくさん...。

 何だこれ?っていうものも多く、もう、お腹いっぱい。

 そもそも、それ以前に、su、sudo、ssh、scp、rsync、fdisk、dd、grub、file、type、ls、mv、cp、find、grep、sed、awk、perl、python...等々、標準以上のLinux一式がある上、足りなければ、Debianリポジトリやsnap、pipなどからインストールできる。

 これで11.13GiB、32GBのUSBメモリにおいて容量27.94GiB、スワップ領域975MiB、残り16.12GiB。

 データ救出が必要で足りないようなら、容量にもよりますが、もちろん基本、空のディスクとして、外付けケースに入れたSSDやHDD、なくてもUSBメモリ何本か持ってれば、それ相応に対応できるってことで。

 まぁ、対象マシンにUSBポートがないとか、あっても1.1/2.0がmaxとか、1ポートしかないとか、その限られたUSBポートが壊れているとか、CPUやRAMがあれで超遅いとか、BIOSがUSBブートに対応してない場合は32ビットでしょうから対策もあるにはあっても、そういった年代物だった場合、他によりマシな、または、比較的高速なマシンがあるなら、HDD取り出してUSB接続変換ケーブルを使ってそれらマシンに接続してみるのが賢明、そうでなく状況が許すなら、それらを持ち込むとか、HDDを持ち帰るとか...。

 って今どき、そうそうあることではないでしょうし、深く考えることもないか。

ホーム前へ次へ