debianでパッケージをインストールするときのコマンドは何なのか?

2022/03/10に公開

背景

何かパッケージをインストールする場合に何気なく実行しているコマンドの意味を理解してみる。
今回の対象はgcloudをdebian系にインストールする場合のコマンド。

詳細は下記
https://cloud.google.com/sdk/docs/install-sdk#deb

コマンド

sudo {command}

commandをスーパーユーザや特定のユーザで実行するコマンド。
オプションで実行するユーザを指定しない場合は、スーパーユーザで実行される。

https://linuxjm.osdn.jp/html/sudo/man8/sudo.8.html

apt-get install {target package}

debianやUbuntuで利用されるパッケージ管理コマンドapt-get
apt-get installtarget packageをインストールできる。

https://manpages.debian.org/jessie/apt/apt-get.8.ja.html

echo "{text}"

textを標準出力に書き出すコマンド

https://linuxjm.osdn.jp/html/GNU_sh-utils/man1/echo.1.html

tee {file}

標準出力で出力された内容をfileに書き出すコマンド
-aオプションを有効にすると上書きされる。

https://linuxjm.osdn.jp/html/gnumaniak/man1/tee.1.html

下記はechoにて出力された文字列をパイプで受け取って、aaaというファイルに書き出している。

$ cat aaa
aaa
$ echo "this is pen"|tee aaa
this is pen
$ cat aaa
this is pen
$ echo "this is pen"|tee -a aaa
this is pen
$ cat aaa
this is pen
this is pen

curl {url}

urlへhttpリクエストを送るコマンド。

https://docs.oracle.com/cd/E62101_01/html/E62874/curl-1.html

apt-key

aptがパッケージ認証するのに使用するキーを管理するコマンド。

https://manpages.debian.org/unstable/apt/apt-key.8.ja.html

余談:廃止予定

下記の記事によると2022年の中頃に廃止予定とのこと。
変わりの方法として/etc/apt/trusted.gpg.d/にキーを個別ファイルとして置く方法が推奨される様子。

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0675?page=2

ディレクトリ

/etc/apt/sources.list.d/

apt updateなどを利用した場合にに参照されるファイルでパッケージがホスティングされているサーバが書き込まれているらしい。

RaspberryPiだと下記のような設定が入っている

$ cat /etc/apt/sources.list.d/raspi.list 
deb http://archive.raspberrypi.org/debian/ bullseye main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ bullseye main

フォーマットは下記にあった。

https://manpages.debian.org/jessie/apt/sources.list.5.ja.html

deb [ オプション ] uri スイート [コンポーネント1] [コンポーネント2] [...]

{スイート}はアーキテクチャっぽい。
先程の例ではbullseyeが指定されているがこれはDebianのバージョン名らしい。

https://www.google.com/search?q=bullseye+debian&sxsrf=APq-WBvAS3vG7bsPklSJlFom8x9DRONbkw%3A1646876749859&ei=TVgpYpbuM9Ok2roPkIaUsAo&oq=bullseye+&gs_lcp=Cgdnd3Mtd2l6EAMYATIKCAAQgAQQRhD_ATIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQ6BwgAEEcQsANKBAhBGABKBAhGGABQiQZYiQZg1iFoAXABeACAAZoBiAGaAZIBAzAuMZgBAKABAcgBCsABAQ&sclient=gws-wiz

Discussion