パッケージマネージャの主要コマンド備忘録
パッケージマネージャのコマンドがディストリビューションで微妙に違ってて覚えられないのでメモ。
pkg
を使うのはFreeBSDapt
を使うのはDebian, Ubuntu (一部dpkg
も使う)dnf
を使うのはFedora, RHEL, CentOSapk
を使うのはAlpine Linuxwinget
を使うのはWindows
リポジトリを近くのミラーに変更
- (
pkg
は自動で近場につないでくれるので不要) apt
はsed -i.org -e 's#//archive#//jp.archive#' /etc/apt/sources.list
とか- (
dnf
は自動で近場につないでくれるので不要) apk
はデフォルトのdl-cdn.alpinelinux.orgで十分速いので基本不要だが、やるならapk add alpine-conf && setup-apkrepos
- (
winget
は今のところリポジトリが1つしかない)
パッケージリストの最新化
- (
pkg
は自動で最新化するので不要だが、手動でやるならpkg update
) apt update
- (
dnf
は自動で最新化するので不要だが、何かで最新化するならdnf check-update
とか) apk update
- (
winget
は常に最新のリストを見ていると思われる)
検索
pkg search xxx
apt search xxx
かapt list '*xxx*'
dnf search xxx
かdnf list '*xxx*'
apk search xxx
かapk list '*xxx*'
winget search xxx
インストール
pkg install xxx
apt install xxx
dnf install xxx
apk add xxx
winget install xxx
かwinget add xxx
削除(そのパッケージだけ)
pkg delete xxx
apt remove xxx
か、設定も消すならapt purge xxx
dnf remove --noautoremove xxx
- (
apk
ではできない) winget uninstall xxx
かwinget remove xxx
削除(依存先も一緒に)
pkg delete xxx && pkg autoremove
apt remove --auto-remove xxx
か、設定も消すならapt purge --auto-remove xxx
dnf remove xxx
apk del xxx
か、設定も消すならapk del --purge xxx
- (
winget
ではできない)
全パッケージを更新
pkg upgrade
apt upgrade
か、削除も許すならapt full-upgrade
dnf upgrade
apk upgrade
winget upgrade --all
かwinget update --all
インストールされているパッケージ一覧
pkg info
apt list --installed
かdpkg -l
dnf list --installed
apk list -I
かapk info
winget list
明示的にインストールしたパッケージ一覧(依存で入ったやつは除外)
pkg prime-list
- (
apt
ではできない) dnf history
で追うか、dnf install 'dnf-command(leaves)'
してからdnf leaves
- (
apk
ではできない) - (
winget
では今のところ依存関係を管理していない)
説明
pkg info xxx
apt info xxx
かapt show xxx
dnf info xxx
apk info xxx
winget show xxx
かwinget view xxx
何に依存しているか
pkg info -d xxx
apt depends xxx
dnf deplist xxx
apk info -R xxx
- (
winget
では今のところ依存関係を管理していない)
何から依存されているか
pkg info -r xxx
apt rdepends xxx
dnf repoquery --whatdepends xxx
apk info -r xxx
- (
winget
では今のところ依存関係を管理していない)
そのパッケージが入れたファイル一覧
pkg info -l xxx
dpkg -L xxx
dnf repoquery -l xxx
apk info -L xxx
- (
winget
ではできない)
そのファイルを入れたパッケージ
pkg which /path/to/the/file
dpkg -S /path/to/the/file
dnf provides /path/to/the/file
apk info -W /path/to/the/file
- (
winget
ではできない)
キャッシュ削除
pkg clean
apt clean
dnf clean all
rm -rf /var/cache/apk/*
- (
winget
ではできない)
※バージョンメモ
- FreeBSD 13.0-RELEASE
- Ubuntu 20.04
- CentOS 8.3
- Alpine Linux 3.13
- Windows 11 Pro 22H2
※更新履歴
- 2023-05-12
winget
を追加。