ソフトウェア途中で変な状況になっているのを、考えるのが面倒になって強引に進めただけなんですけど。起動しなくなりました。unknown-block(0,0)rootのファイルシステムが見えませんぜと言われている気がしたので、grubの設定が合わなくなったのかなと思って、grub-installとかやればいいのかな?と思ったはいいものの、マザーボードが古いのかなんなのか(2008年頃のものなので10年近く前か)USBキーボードをgrubメニューの間(後からわかったけど、カーネルが起きてくるまで?)認識してくれない。過去のカーネルで起動して作業しようと思ったけど、これじゃダメだ。shellに入るようになりました(状況悪化)しょうがないので部屋のどこかにあるPS/2接続のキーボードをどうにか見つけて引っ張り出してきて、接続。Ubuntuで「update-initramfsしろよな、それからupdate-grub2しろよな!」って書いてあったのでそれを実行。bootここまでで新しいカーネル4.4.0-47じゃなくて、正常に動作していた過去のカーネル3.13.0-92で起動できる。pager=1で常にmoreみたいな状況にする。ちなみに、lsの結果のmsdos5がswap、msdos1がrootパーティション(/bootもこの中)。最近/bootを分ける構成ばかりだったので、つまり/dev/sda1が/、/dev/sda5が/bootだと勘違いしていた。容量もそれぞれ600GBくらいと4GBくらい。4番目の操作で間違った入力、つまりroot=/dev/sda5していると、当然起動には失敗する。非常に簡単な対話式の操作画面に入った。これに気付くまで割りと困ってた。linux-image-とかで調べましょう。あとは再起動してやれば完了。ソフトウェア発端はCinnamonがクラッシュしたところ。cinnamonすると、libreadline.so.6が無いよ、と。再起動しても状況は変わらない。そもそもCinnamonが起動しない。インストールされているのはreadlineの7らへんだったので、cinnamonがまだ対応出来てないのかなと思って、じゃあreadlineを6系統にダウングレードすれば良いのでは、という強引な発想をした。readlineしてローカルのパッケージキャッシュからインストール...したら起動しなくなりました。GUIが、とかじゃなくて、そもそもログイン画面まで届かない(CUIなログイン画面にも届かない)。しょうがないので、元に戻すことに。readlineしちゃえば良いのでは?と思っていたのもつかの間、arch-chrootがlibreadline.so.7を要求していて出来ない。ただのchrootだとpacmanとか出来ない(/etc/mtabが無いよ、とか言ってくる)ので、arch-chrootがいいんだけど。arch-chrootはシェルスクリプトなんですよ、というのをどこかで聞いた記憶があったので、じゃあそれの動作を一つ一つやればいいんちゃう?と思ったあたりで、archwikiを見に行くと、ズバリな記述を見つけたので、それを参考にchroot。engineと怒られて出来なかった。/etc/pacman.confそしたら起動するようになったこの起動はゴールではなく、最初の状況に戻ってきたってことだ。変わらずCinnamonはlibreadline.so.6を要求してクラッシュし続けるので、tty2に移動して、libreadline.soで検索、ダメ元だけど、そこにlibreadline.so.6という名前でシンボリックリンクを張って再起動してみた。ら、Cinnamon普通に起動しました。これでやっと普通に使える。ソフトウェアMBRからGPTはなんだか気づいたらなってることもおおいし(?)別にわりとどうでもいいんだけど、その逆は気づいたらなってるってことも無いのでメモ。一発メモっておけば記憶にも残るでしょうということで。msdos単純な感じだった。ソフトウェアpkill使えとかいうのが多いんだけど、killとかいう言葉が怖いし、pv使えばかんたんにいけるっぽいというお話。パイプを使ってcatをpvに通してそれをddに通す。ddでもpvコマンドを使えば進捗を簡単に見れるcat→pv→ddという流れさえ覚えておけば簡単に使えるね。ソフトウェアUSBメモリから起動するArchLinux、という環境を作る。通常のHDDやSSDにインストールしてそこからブートする感覚で、ストレージデバイスとしてUSBメモリを使う。普通にArchLinuxをインストールする時、isoイメージから起動ディスクを作成して、そこからブートしてインストールするが、今回は既存の環境から必要なデータをコピーするようにした。ちなみにUEFI+GPT環境。bootは気にしない方向で...)なにはともあれlsblkしてUSBメモリが/dev/sdbである事を確認。ついでにarch-install-scriptsをインストールしておく。最初の山(最初っていうか山はこれしかない気もする)、パーティショニング。購入したばかりのUSBメモリ(16GB)、MBRだったのでGPTに変換して、パーティションを切る。作業はともかく、こんな状態であれば良さそう。filesystem(/になる)という事。ターゲットになる環境はRAMが8GBあるし、メインストレージがUSBメモリになるのでswapは無しの方向で。パーティショニングが完了したらファイルシステムのフォーマットとマウント。普通にやれば良いが、ジャーナルを無効にしたext4が良いとあるので、そうする。/mnt/boot次にベースシステムのインストール。主要パッケージについては既存環境からコピーしてくるので、そのための準備をする。手軽に取り扱える簡単なhttpdであるところのdarkhttpdを使う。http://localhost/とでも先頭に書いておく。この状態でpacstrapすれば、/var/cache/pacman/pkgに存在するパッケージはコピーされ、そうでないものは404が返され、(次のリポジトリを探す事になるので)自動的にダウンロードされる。base-develfstabを作成する。/mnt/etc/fstabして強引に放り込んでおいた。このfstabに、/dev/sdb1等ではなく、きちんとパーティションのUUIDで指定されているかどうか、必ず確認しておく。passwd最後にブートローダーのセットアップ。grubを使うのだけど、grub-install時に–removableオプションを付けておけと書いてあったのでそうしてある。/boot/grub/grub.cfg/boot/efi/boot/bootx64.efiが存在しているか確認しておく。無ければ以下の感じで。ArchWikiに書いてあったのでしておく。タイミングはよくわかってない(最後にやった)。linux/etc/mkinitcpio.confの中でHOOKSのudev直後にblockと追加しておく。以上で基本のインストールは完了。その後適宜環境を構築していこう。ソフトウェア指紋認証を使うで、ノートPCで指紋認証を使うようにしてみたはいいけど、指紋認証ってめんどい。指を指紋リーダに持っていく→優しくかつ力強く撫でる→たまに失敗するゴミか...。いう訳で使わない事にした。再起動して無事処理完了という事ですね。指紋認証って、なんかかったるいんだよね。Pad}の指紋認証も、ホームボタン押して、ひと呼吸おいてからロック解除される。このひと呼吸がかったるい。普通にロック解除操作した方が速いのだ。ノートPCで使ってた状態もそんなような感じでかったるかったので、結局キーボードでちゃんと操作した方が速いと。生体を使った認証技術、他にも虹彩とか声紋とか諸々あるみたいだけど、どれもキーボード操作には速度的には負けるんじゃないかなとか思うんだよね(使ったことないけど)生体認証技術の目的はきっとそこじゃなくて、個人に固有とか、覚える必要無しとか、そういうとこなんだろうけどね。ソフトウェアUbuntuでならやったことあるんだけど、そういえばArchLinuxではやったことないな~とふと思ったのでやってみた。cacheとかにしなよ?な?」と言われまくったので、sync.shの内容は省略する。ちなみにいつもどおり、ArchLinuxと見せかけてAntergosでの実験である()自分のところにリポジトリミラーを作っておけば、ローカルでの通信になるので非常に高速に処理が可能になる。リモートのミラーサーバからなら、大抵の場合ボトルネックになるのはインターネット回線(というよりミラーサーバ側の通信帯域制限)だけど、ローカルからだとストレージの速度になるんかな。LANはギガビットイーサだし。/dev/sdc1を/var/mirrorとしてmount、その中にLinuxというディレクトリを作成し、その中にミラーリングするようにした。実際ArchLinuxのミラーサーバには不満全然なくていいんだけど、Antergosのほうにこそ不満があるため、こちらもミラーリングする。multilib、それからmirror.us.leaseweb.netからantergosをrsyncでもらってくる。rsyncするサーバは新しいミラーのガイドライン|antergosウィキで見つけたものを使った。antergos}/$repoという構成にしておかないと、rsyncでmultilibが削除されてしまうので横着せず、それぞれ処理を行う。最終的なフォルダツリーはこんな感じ。・DocumentRootを/var/mirror/Linuxにする・インデックス表示されるようにするといいかも・ポート番号変えても良いmirrorlistはそれぞれこんな感じで。http://localhost:1123/antergos/$repo/$archISOが手元にあるので、毎度インストールメディア作ろうと思って拾ってくる待ち時間を過ごす必要が無くなったし、新規にインストールするのも時間かからずいけるな!って気持ち。新規にインストールする機会がそう沢山あるのかどうかは置いといて感がすごい。ソフトウェアReflectorを使うだけ。/etc/pacman.d/mirrorlist日本にいないとか実は国外サーバのほうが早い地域なんだよねとかの事情があれば(?)country指定はやめよう。Worldしてみるか~というお話。https://henkaku.xyz/developer/を参考に!あんまり多くをインストールしてないArchLinuxで実験。cmakeが必要らしいのでまずそれをインストールしてから。./bootstrap-vitasdk.shパーミッション周りでめちゃエラー出てたっぽい。eboot.bin出力されたeboot.binをvpkに放り込めよって書いてあったけど、既存のvpkにアーカイブマネージャで突っ込むのじゃ流石にダメだったので、vita-pack-vpkを使うこちらでバイナリが拾えそうだったので使わせていただく。libzip.so.4がないよと怒られたのでlibzipのインストールも。missing.sfoファイルがないとダメらしい。それらしくつくってリベンジ。out.vpkエラー出なかったのでこれをFTP経由でVitaに放り込んで、あとは通常のvpkと同じようにインストール。Worldしたそのすぐ後にはもう終わりそうな行があるし、次の行にはreturnなので、つまりPSVita側で実行したらおおよそ何も見えずに終了してしまうのであった。forで10000回くらい回せば見れるでしょ~とか思ってやり直してみたんだけど、時間が長くなっただけで画面には何もうつらなかった。アプリケーション起動しても標準出力は見えないんかなぁ。ちなみに、ばっちりMakefile用意して貰えてるので、vita-pack-vpkの導入さえ出来ていれば全自動でイケる。ハードウェアRAID環境にArchLinuxのインストール順番が前後したけど、これやる前に、SSDをSecureEraseしたんですよね。SecureEraseってやる度にどうやるのかわかんなくて、ふわふわ調べてやってて、毎度困り果てながら最終的になんとか遂行するみたいな状態。frozenに出来ないのところ。Magicが起動しないとかHDDErase起動するためのDOS環境が作れないとか、クッソ面倒に生きてた。クッソ面倒なんで結論だけ。14.04.3をUSBメモリから起動して、terminalからhdparmコマンドを使った。/dev/sdaみたいな感じで状態を確認する。enabled」と「frozen」をそれぞれいじる。これはもういつものやつ。SATAケーブルなり電源ケーブルなりを抜き差しする。いつものやつっていうかこれ毎度毎度めちゃくちゃこえーんだよな。/sys/power/stateでPCをスタンバイに入れて復帰っていう手もあるみたい。frozen」になっているはず。次にディスクにパスワードを設定する(SecureEraseを実行すると解除されるものなのでてきとうに決める)。パスワード設定したまま再起動等するとディスクアクセス出来なくなる模様なので以下のように解除する。DISKSあたりを参考に。/dev/sdaの出力が変化して「enabled」になる。frozenになっている事を確認した後、SecureEraseを実行する。SecureEraseが可能なので、–security-erase-enhancedみたいな感じに差し替えてみよう。enabled」に戻っていることを確認して作業完了。