rpm -i で入れようとしたら、足りないパッケージがあるって止まった
apt みたいに依存をまとめて入れるのは何を使うん?
【疑問】rpm で入れたら依存のエラー。yum・dnf・zypper の使い方と /etc/yum.repos.d のリポジトリ設定【LPICレベル1】
前提のおさらい。rpm は手元の .rpm を1つずつ扱って、依存は取ってこない。署名は rpm -K、公開鍵は rpm --import
>>1
Red Hat 系は yum か dnf、SUSE 系は zypper。リポジトリから依存をたどってまとめて入れる
>>3
yum と dnf はどう違うん?
>>4
dnf は yum の後継で、使い方はほぼ同じ。AlmaLinux 9 の yum パッケージを調べたら、/usr/bin/yum は dnf-3 へのリンク、/etc/yum.conf は dnf/dnf.conf へのリンクやった。古い系統では yum が本体
>>3
よく使うコマンド(dnf の man。yum も同じ)install 入れる、remove 消す、upgrade 更新(update は古い別名)check-update 更新があるか見るだけsearch キーワード、info パッケージ、list --installedprovides ファイル そのファイルを持つパッケージrepolist 使うリポジトリの一覧、clean all キャッシュを消す
>>6dnf provides /usr/bin/tree で、まだ入れてないパッケージでも探せるんか。rpm -qf は入ってるものだけやから、ここが違う
>>6
パッケージのファイルを取ってくるだけなら dnf download(プラグイン)や --downloadonly。yum の時代は yumdownloader
>>2
リポジトリの設定はどこ?
>>9
全体の設定は /etc/dnf/dnf.conf(yum は /etc/yum.conf)、リポジトリは /etc/yum.repos.d/ の .repo ファイル。AlmaLinux 9 の almalinux-baseos.repo はこうなってた[baseos] リポジトリの IDname=AlmaLinux $releasever - BaseOSmirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseosenabled=1 使うgpgcheck=1 署名を確かめるgpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
>>10
mirrorlist の代わりに baseurl= で場所を直接書くこともできる。同じファイルの debuginfo と source のリポジトリは enabled=0 で止めてあった。$releasever などは dnf が版の番号に置き換える
>>3
zypper は?
>>12
openSUSE・SUSE のコマンド。短い別名がある(zypper の man)install(in)、remove(rm)、update(up)、search(se)、info(if)refresh(ref)リポジトリの情報を取り直すrepos(lr)一覧、addrepo(ar)追加、removerepo(rr)削除what-provides(wp)提供しているパッケージ
リポジトリの設定は /etc/zypp/repos.d/
>>13
apt の update にあたるのが zypper の refresh。dnf は .repo の metadata_expire(AlmaLinux は86400秒)が過ぎたら自分で取り直して、すぐ取り直すなら dnf makecache
>>6
依存は dnf・yum・zypper に任せて、設定は /etc/yum.repos.d と /etc/zypp/repos.d。探すのは provides と wp。rpm と役割を分けて覚えるわ
管理人のひとこと
- 依存をたどって入れるのは Red Hat 系の yum・dnf(dnf が後継。AlmaLinux 9 では yum は dnf へのリンク)と SUSE 系の zypper。
- dnf・yum:install・remove・upgrade(update は別名)・check-update・search・info・list・provides・repolist・clean all。ファイルだけ取るなら dnf download(yumdownloader)。
- 設定:/etc/dnf/dnf.conf(/etc/yum.conf)、リポジトリは /etc/yum.repos.d/*.repo。[ID]・name・baseurl か mirrorlist・enabled・gpgcheck・gpgkey。
- zypper:install(in)・remove(rm)・update(up)・search(se)・info(if)・refresh(ref)・repos(lr)・addrepo(ar)・removerepo(rr)・what-provides(wp)。設定は /etc/zypp/repos.d/。