Zenn
Open4

シェルスクリプト備忘録

NonakaNonaka

aptインストール済みの一覧を取得

apt list --instaled にて一覧を取得できる。

一覧出力(日本語化している場合)
username@penguin:~$ apt list --installed
一覧表示...
adduser/stable,now 3.134 all [インストール済み]
adwaita-icon-theme/stable,now 43-1 all [インストール済み、自動]
alsa-topology-conf/stable,now 1.2.5.1-2 all [インストール済み、自動]
NonakaNonaka

パッケージ名のみで良い場合は、awk を使って出力を / 区切りにし、最初のフィールドのみ抽出する。

パッケージ名のみ抽出
username@penguin:~$ apt list --installed | awk -F '/' '{print $1}'
一覧表示...
adduser
adwaita-icon-theme
alsa-topology-conf
NonakaNonaka

Visual Studio Code のインストール

公式サイトの deb ファイルを使ったインストールでなく、マイクロソフトのリポジトリを登録して apt 経由でインストールする方法について。

スクリプト全体
# 0. HTTPS経由でリポジトリにアクセスするためのソフトをインストール
sudo apt install -y apt-transport-https

# 1. マイクロソフト公開鍵の取得
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg

# 2. 鍵をインストール
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

# 3. インストールして不要となった鍵を削除
rm packages.microsoft.gpg

# 4. apt に登録
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

# 5. リポジトリ情報を更新し、VSCode をインストール
sudo apt update
sudo apt install -y code
NonakaNonaka

0. HTTPS経由でリポジトリにアクセスするためのソフトをインストール

マイクロソフトのリポジトリは https://packages.microsoft.com/repos/ にあり、HTTPS通信で取得することになる。

ここでは apt で HTTPS 経由でアクセスする際の apt-transport-https をインストールしている。

1. マイクロソフト公開鍵の取得

ここでは curl 経由でマイクロソフトの公開鍵を取得し、GPG(GNU Privacy Guard:公開鍵を利用した暗号化ソフトウェア)で鍵データをカレントディレクトリに出力している。

マイクロソフトの公開鍵は下記のようになっているため、gpg --dearmorOpenPGP ASCII armor 形式のバイナリデータに変換している。

microsoft.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.7 (GNU/Linux)

■■■ ここに鍵情報 ■■■
-----END PGP PUBLIC KEY BLOCK-----

2. 鍵をインストール

install コマンドを使い、所有者や権限情報等を設定した上で 特定のディレクトリにコピーすることができる。

ここでは前述の鍵データを /usr/share/keyrings/ に、所有者及びグループを root、アクセス権は 644-rw-r--r--)の形でコピーしている。

3. インストールして不要となった鍵を削除

カレントディレクトリにある鍵データは不要になったので、rm コマンドで削除している。

4. apt に登録

apt に各種情報(公開鍵をどこに設置しているか、リポジトリの場所 など)を登録している。

5. リポジトリ情報を更新し、VSCode をインストール

先程の登録情報を反映するため、一旦 apt update で更新をかけている。その後は code でインストールが可能に。

参考文献

https://qiita.com/yoshiyasu1111/items/e21a77ed68b52cb5f7c8

https://www.gnupg.org/documentation/manpage.html

ログインするとコメントできます