コンテキストメニューで手軽にdebパッケージのインストールをしたい。
Visual Studio Codeを使ってると定期的にアップデートが来ますよね。
Windowsだと自動でアプデしてくれた気がするんですけど、
Ubuntuだとdebパッケージダウンロードしてきてインストールする作業が必要になります。
Ubuntu Softwareでインストールがうまくいけばよいのですが、うまくいかなかったときはエラーメッセージを何も吐いてくれなかったりするので少し嫌いです。
そんなことが何回かあったので自分はdpkgコマンドを使ってのインストールを使うのが常になってます。
しかし、これもまた面倒くさい。
端末開いて、ダウンロードフォルダに移動して、コマンド打ってインストール。
いや、書いてみたらそこまで工程が多くなかった。
まあ・・・、気にせず書き続けます。
とりあえず、こんな面倒くさい工程をもう少し簡単にしたいので、
コンテキストメニューからdebパッケージのインストールコマンドを走らせるようにしてみました。
下みたいな感じに。
実際に使ってみるとこんな感じになります. pic.twitter.com/kaQmzlARPr
— ABC10946 v2.0 (@abc10946) 2021年10月7日
手順
FileManager-Actionsをインストールして、設定をしただけです。
1. FileManager-Actionsのインストール
$ sudo apt install filemanager-actions $ sudo apt install nautilus-extension-fma
2. 設定
新しい設定を追加して、以下のようにコマンドとどの種類に反映させたいかの設定を行います。
Command -> Command -> Pathにterminatorまたはgnome-terminalなど好きな端末エミュを開くコマンドを記述します。
Command -> Command -> Parametersに引数を書いていきます。
自分の場合はterminatorを指定使うので引数は以下のようになります。
-e "echo %f; sudo dpkg -i %f; echo 'press any key...'; read"
%fに右クリックしたときに選択したファイルのパスが入ります。
sudo dpkg -i %fはインストールコマンドです。
echo 'press any key...'; readは、キー入力してから端末を閉じるようにしています。これがないとエラーメッセージが出たときに見れないので・・・。

どの種類のファイルに反映させたいかの設定
Basename -> basename filterってところを*.debとするだけです。
こうすることで今回追加したメニューをdebパッケージファイルを選択したときだけ表示させることができます。
これで上記に貼り付けた動画のように動くはずです。
余談
今回はdebパッケージのインストールだけを行いましたが、他にもVisual Studio Codeをコンテキストメニューから開くOpen with vscodeを追加するなどができますので試してみると良いと思います。
1
1
OpenSiv3dのインストール備忘録 (2020年8月インストール成功確認)
Twitterで意気揚々とOpenGLでマイクラのクローン作ってやるぜって言ってたけど、シェーダーとかなんやら面倒くさくなってOpenSiv3dに逃げることにしました。
許して
今回はその逃げ場であるOpenSiv3dのインストールの備忘録となります。
環境はUbuntu 18.04となります。
インストール方法調べてるとUbuntuでのインストールに苦戦してる人が多かったので書き記すことにしました。
基本的にやったことは以下の通り
必要パッケージのインストール
これは普通にaptでインストールするだけ、自分がインストールしたのは以下のパッケージ
- libopenal-dev
- libgif-dev
- libwebp-dev
- libogg-dev
- libvorbis-dev
- libudev-dev
- libswresample-dev
- libturbojpeg0-dev
$ sudo apt install libopenal-dev libgif-dev libwebp-dev libogg-dev libvorbis-dev libudev-dev libswresample-dev libturbojpeg0-dev
これで必要なパッケージのインストールは完了
# OpenCV4の現在(2020/08/13)の最新版4.4.0のビルド
https://opencv.org/releases/から現在の最新版である4.4.0のソースをダウンロードしてunzipしておきます。
cmakeにちょっとしたオプションをつける以外は公式サイトに書いてあるインストール方法とほとんど変わりません。
まずはビルド用のディレクトリを作って・・・
$ cd opencv-4.4.0/ $ mkdir build && cd build/
cmakeを使ってビルドします。
ここでpkg-configのオプションをつけといてください。
$ cmake -D CMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
あとは公式のインストール行程に従ってやっていくだけです。
$ make -j7 $ sudo make install
boostの現在の最新版のビルド
aptでインストールしてきたboostだとバージョンが古く、Siv3Dをビルドする途中でboost/geometry/algorithms/densify.hppがないと怒られてしまいます。
aptでインストールしてきたboostは1.65.1で、Siv3Dが要求するdensifyは1.67.0で追加されているものでした。
そのため最新版をビルドします。
これはboostの日本語情報サイトに情報があるので、こちらに書いてある行程に従ってインストールしていきます。
$ git clone --recursive https://github.com/boostorg/boost.git $ cd boost $ ./bootstrap.sh $ ./b2 install -j2 --prefix=/usr/local
これで/usr/localにboostの最新版が入りました。
OpenSiv3Dのインストール
ここまで来ればあとは公式のREADMEに従ってインストールするだけです。
OpenSiv3D/README_JP.md at master · Siv3D/OpenSiv3D · GitHub
$ git clone https://github.com/Siv3D/OpenSiv3D.git $ cd OpenSiv3D $ mkdir Linux/Build $ cd Linux/Build
公式はninjaというビルドツール使ってますが、まあmakeでも大丈夫なので私はmake使いました。
$ cmake -DCMAKE_BUILD_TYPE=Release .. $ make
これでlibSiv3D.aが生成されればOKです。
動作テストをしたければOpenSiv3D/Linux/Appの方に移動してサンプルをビルドします。
$ cd ../App/ $ cmake . $ make $ ./Siv3D_App
Siv3Dキター!!! pic.twitter.com/LbWI76DbhH
— 社会不適合性降下物 (@ABC10946) 2020年8月13日
libSiv3D.aは他のプロジェクトでも使えるように/opt/OpenSiv3D/Linuxなどのディレクトリを作ってそこにコピーしておきましょう。
RAID1構成のHDDからデータ救出した話
家で運用しているNASが経年劣化らしくお亡くなりになったのでHDDからデータ救出しました。
使用したのはmdadmというソフトウェアRAIDのディスクを管理、構築するものらしいです。
参考にしたのはこちらのサイトというかPDF:
http://www.jaist.ac.jp/tech/archives/h27/pdf/17_fukushima
ほぼ同じような流れでやってますのでPDFの方を見たほうがよさげ。
以下実施した作業はUbuntu 18.04 LTS上で行っています
HDD接続
これは簡単、単にHDDをPCにつなげるだけ。
RAID1なので2つあるうちの1つだけでOKです。
SATAケーブルが余っていればマザボに繋げるとかしましょう。
私は以前密林で買っていたサンワサプライのSATA-USB3.0変換ケーブルを持っていたのでそいつで繋げました。
安いし電源安定化のためにコンセントから電源取れるし、あったら便利な奴だなと思います。

サンワサプライ SATA-USB3.0変換ケーブル 0.8m USB-CVIDE3
- 発売日: 2011/03/08
- メディア: Personal Computers
データ救出準備
ソフトウェアRAIDディスク管理、構築用ソフトウェアであるmdadmをインストールします。
普通にUbuntuの公式リポジトリにあるのでaptで落としてきます。
$ sudo apt install -y mdadm
私の環境ではインストールしたら自動的にHDDのRAIDが認識されたのでPDFみたいな面倒な手順は必要ありませんでした。
もしも以下の画像みたいにmd*みたいなものがそれぞれのパーティションにくっついてなければPDFの方を参考にやってみてください。
$ lsblk sde 8:64 0 2.7T 0 disk ├─sde1 8:65 0 4G 0 part │ └─md0 9:0 0 4G 0 raid1 ├─sde2 8:66 0 512M 0 part │ └─md1 9:1 0 512M 0 raid1 └─sde3 8:67 0 2.7T 0 part └─md2 9:2 0 2.7T 0 raid1
おそらく容量が一番大きいmd2にデータがあると思うのでこれをマウントします。
しかし何かマウントできない。
$ sudo mount /dev/md2 /media/raid_disk/ mount: /media/raid_disk: 未知のファイルシステムタイプ 'LVM2_member' です.
LVM2_memberとあり、これはどうやらLVMパーティションがあるから出てくるエラー表示らしい。
とりあえずLVM扱うのでlvm2パッケージをインストールします。
sudo apt install lvm2
LVM論理ボリュームを確認します。
$ sudo lvscan inactive '/dev/c/c' [2.71 TiB] inherit
inactiveであるので有効化します。
$ sudo lvchange --available y /dev/c/c
こうすればあとはマウントするだけです。
$ cd /media $ mkdir raid_disk $ sudo mount /dev/mapper/c-c /media/raid_disk/
データ救出
上の項目でマウントできたので、あとは普通のドライブと同じようにnautilusとかのファイルマネージャーで必要なデータを救出してください。

rsyncを用いたLinuxのストレージ移行 (wiki)
この記事は私が自前のwiki上で書いていた記事です。
本記事の自前wiki上での最終更新日時は2020/04/09 00:43:13なので情報が古くなっているかもしれません。
最近、主にゲームサーバとして運用するようになったkryptonサーバは、ストレージがHDDでありswapによる[?]ラグが度々起こりゲーム進行が阻害されていた。
そのうちSSDへ移行しようかと思っていたのでちょうど良い機会であるため重い腰を上げて取り組んでみた。
SSDのパーティショニングとフォーマット
これはcgdiskにより行った。
コンソールソフトウェアにしてはCUIが直感的で使いやすい。
Part. # Size Partition Type Partition Name ---------------------------------------------------------------- 1 512.0 MiB EFI System ESP 2 4.0 GiB Linux swap Swap space 3 234.0 GiB Linux filesystem Linux file system
最終的にこのような構成になった。
このkryptonサーバはUEFIなのでEFIパーティションが必須である。
フォーマットは以下の通り。
# mkfs.vfat /dev/sda1 # mkfs.ext4 /dev/sda3
swapについては後でもできるので保留
パーティションのマウント先ディレクトリの作成
ルートパーティションにあたるものは/media/mroot
EFIパーティションは/media/mroot/boot/efi
パーティションのマウント
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 ├─sda2 8:2 0 4G 0 └─sda3 8:3 0 234G 0 # mount /dev/sda3 /media/mroot # mount /dev/sda1 /media/mroot/boot/efi
rsyncによるフルコピー
# rsync -aHAXxSvP --numeric-ids /boot/efi /media/mroot/boot/efi
# rsync -aAXS --info=progress2 --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /media/mroot
fstabの設定
SSDにコピーしたシステムを起動させるため/etc/fstabの設定をする。
blkidでUUIDを確認し、それらを/etc/fstabの該当箇所に書き込むだけだ。
# blkid /dev/sda1: UUID="3E91-B3DE" TYPE="vfat" PARTLABEL="ESP" PARTUUID="f7a96089-de36-43b3-9e2c-c3a28fd90b05" /dev/sda2: UUID="7d7093f7-d19b-4d4c-8c85-17029018d878" TYPE="swap" PARTLABEL="Swap space" PARTUUID="2c04a23a-944a-4ad1-97fd-d98516746e47" /dev/sda3: UUID="f039c202-93b6-491e-bdd4-be488bc50431" TYPE="ext4" PARTLABEL="Linux file system" PARTUUID="d0f9227f-3785-4bf0-ad0b-55414ab46da7"
UUID=f039c202-93b6-491e-bdd4-be488bc50431 / ext4 defaults 0 0 UUID=3E91-B3DE /boot/efi vfat defaults 0 0
grubの設定
/boot/grub/grub.cfgと/boot/efi/EFI/ubuntu/grub.cfgの編集をする。
/boot/grub/grub.cfgはUUIDとあからさまに書いてあるのでそのUUIDを今回の/dev/sda3に置換するだけである。
/boot/grub/grub.cfgのUUIDを置き換えないとGrubシェルが起動してしまう(Grubシェルから起動させようとしてもinitramfsシェルでKernel Panicが起きた)
EFIパーティションの方も同様に下のような行にあるUUIDを書き換える。
search.fs_uuid f039c202-93b6-491e-bdd4-be488bc50431 root hd0,gpt2
あとは起動するだけ
swapの割り当て
# mkswap /dev/sda2 # swapon /dev/sda2
UUID=f039c202-93b6-491e-bdd4-be488bc50431 / ext4 defaults 0 0 UUID=3E91-B3DE /boot/efi vfat defaults 0 0 UUID=7d7093f7-d19b-4d4c-8c85-17029018d878 swap swap defaults 0 0
所感
*swapファイルというものがあるのでswapパーティションは別に必要なかったかなと思う。
今回は仕方なくswapパーティションのまま使った。
参考
E5823をLineageOSにする記録
手元に残っていたE5823にLineageOSをインストールすることにした。
この記事はその作業の備忘録。
まあ、ほぼXDA Developersの記事の和訳みたいになっちゃうけど、仕方ないね。
2020/07/13記述分
なんかいろいろやらかしてE5823が文鎮化したよ。
気をつけてね。
2020/07/13記述分
E5823に焼くとき使っていたイメージを別のやつにしたら文鎮から復活したよ。
やったね。
2020/08/13記述分
長い間放置してましたが、なんということかいろいろミスってしまって文鎮になってしまいました。
今度気力が出たときに動くようにしたい(願望)と思います。
TAパーティションのバックアップについて
LineageOSをインストールする前にTA Paritionをバックアップをする。
このTAパーティションだがXDA Developersによると
1)TAパーティションとは何ですか?
A)Sony Xperiaデバイスは、保証状況やDRMキーなどの貴重な情報をすべてTAパーティションに保存しています。
2)DRMキーとは何ですか?
A)このTA PartitionにはDRMキーが入っており、このDRMキーはBIONZ画像プロセッサやX-Reality Engineといった技術を有効にするものです。
と記されている。
つまりTAパーティションをバックアップしなければDRMキーが失われると、BIONZによるノイズ処理が無効になりXperiaで撮影した写真の品質が低下する。
そのためTAパーティションをバックアップするわけだが、そのためにはAndroidをダウングレードする必要がある。
ダウングレード
まずはダウングレードから始める。
TAパーティションのバックアップには"iovyroot"を用いるのだが、これはLollipop Kernelでのみしか動かない。
そのためAndroidのダウングレードをする。
ダウングレードの手順はXDA Developersによると以下の通りである。
1 Flashtoolをダウンロードしインストールする。
2 ファームウェアを以下のリンクからダウンロードする。
3 Flashtoolを起動する。
4 雷アイコンをクリック
5 Flash modeを選択
6 Lollipopファームウェアをインストールした場所を指定し選択
7 Wipe Optionですべてのオプションを選択
8 スマホをオフにする
9 Flashtoolがファイル準備をするまで待機する
10 処理が完了したら音量下げボタンを押しながらUSBでPCに接続する
11 完了するまで待機
12 完了したらデバイスを再起動する
今回この手順で行ったところ10で手こずった。
これは単純にドライバーのインストールをしてなかったからだった。
ウィンドウに表示されたエラーログはしっかり読んでおこう。
`<Flashtoolをインストールしたパス>/drivers`にあるFlashtool-drivers.exeで対応するドライバをインストールする。
ドライバインストールの途中でエラーが出たときは署名が不足して起きるエラーなので、Windowsをセーフモードにして『ドライバーの署名の強制を無効にする』を選択する。
詳しくはこちらを参照してほしい。
ドライバーをインストールし終わると、おそらく上の工程がうまく進むはず。
再起動してAndroidのバージョンがLollipopになってることを確認したら、デベロッパーモードにする。
あ、言い忘れてたけどさっきの手順はもちろんデベロッパーモードにしないとできないよ。
TAパーティションをゲットする!!
Lollipopでデベロッパッパーになったら、iovyroot使ってTAパーティションをバックアップするだけ。
なんだけど
Google Driveからダウンロードしようとすると規約違反で消されてやがるし、XDA Developerの他ページからダウンロードしようとするとウイルス扱いでChromeくんがダウンロードしてくれないです。
まあ、そりゃAndroidの脆弱性使ったコードが入ってるんだもん、そりゃウイルスとして扱って検閲するよね。
でも、今はその脆弱性使ったプログラムが必要なんだ。
ってことで別の方法探してたらどうやら前バージョンの方だとChromeくんの検閲を抜けられるらしい。
なのでこ↑こ↓の掲示板で親切な人がmediafireのリンク貼ってるのでここからダウンロードする。
あとはダウンロードしたzipを解凍して中にあるtabackup.batを実行すればTAパーティションをゲットできる。
このときなんかエラー起きたんだけど、なんやかんやしたら直ったので頑張って。
ごめん酒飲んでたせいか知らんけど記憶から抜け落ちてるんだ。
記憶から消えてるってことはそこまで重要じゃない簡単な作業っぽいのでいいよね
Bootloaderのアンロック
で、まあTAパーティションゲットできたらbootloaderのアンロックをする。
これもXDA Developersに、やり方書いてる。
1 設定>開発者向けオプションに行く
2 OEMロック解除を有効にする
3 SONYの開発者用ページに行って指示どおりにやる
4 IMEIナンバーを3のページのフォームに書いて送信、するとbootloader Unlockコードがもらえる
5 スマホの電源をオフる
6 FlashtoolのBLUをクリックする
7 音声下げボタンを押しながらUSBでPCにつなげる
8 処理が完了したらボリュームボタンから手を離し、PCから外す
9 音声上げボタンを押しながらUSBでPCにつなげる
10 ダイアログがPCの方に出てくるのでUnlockコードを入力する
11 処理が終わるのを待つ
SONYの開発者用ページは下の画像みたいになってる。

右の英文読めばある程度分かると思うけど書いておく
OEMロック解除まではすんなりできると思う。
電話アプリのダイヤル画面で*#*#7378423#*#*を入力すると何か黒い画面が出てくる。
これのService Info > COnfiguration > Rooting StatusのBootloader unlockedがYesになってればOK
このConfigurationに書いてあるIMEIをSONY開発者用ページの下にあるEnter IMEIフォームに入力すると太字で強調されたあからさまにこれを覚えとけよっていう英数字のコードが出てくるのでこれをコピペして10で出てくるダイアログでコピペする。
その後の手順はそのままやればOK
とりあえず今回はここまで続きは明日くらいに書くかも。
参考
https://wiki.lineageos.org/devices/suzuran/install
https://forum.xda-developers.com/z5-compact/general/how-to-backup-restore-ta-partition-root-t3479532
タイトル変えた
最近自分が社会不適合者だと認識しはじめた。
まあ友人からするとそんなの全く社会不適合者に入らないらしい。
うるさい、知らん。
俺がそう思うからそうなのだ。
というわけで私は社会不適合者です。
単に社会不適合者と名乗るのも面白くないので、以前ハマっていたゲームのタイトルFallout(放射性降下物)にちなんで社会性降下物とTwitter名を変えました。
というわけで社会降下物です。
たぶんそのうちもとに戻すんだろうけど、今のところはこのままで行きます。
さて、ブログのタイトルについてですが某フィリップ・K・ディックの某有名な小説のタイトルですね。中身読んだことないですが。
英訳とかつけられるなら『Do social fallouts dream of nuclear fission』とかになるのかな
以上、院試の面接近くて緊張でゲロ吐きそうになってる合間に錬成された記事でした。
面接こえーよ・・・