Linuxå­Šç¿’ 第10ç«  ゜フトりェアの取埗ず管理

📢 この蚘事は gemini-3-flash-preview によっお翻蚳されたした

第十章 ゜フトりェアの取埗ず管理

10.1 デスクトップでの゜フトりェア管理

゜フトりェアセンタヌやGUIを䜿っお管理する方法だよ。

10.2 Software りィンドりを超えお

「Software」で怜玢できる゜フトりェアには限りがあるんだ。

10.3 Linux の RPM ず DEB パッケヌゞに぀いお知ろう

パッケヌゞは tarball圧瞮ファむルず呌ばれおいお、実行ファむルコマンド、ドキュメント、蚭定ファむル、そしおラむブラリが含たれおいるよ。

  • DEB (.deb) パッケヌゞ

Debian GNU/Linux プロゞェクトが䜜成したパッケヌゞ圢匏。Debian や、それをベヌスにしたディストリビュヌションUbuntu、Linux Mint、KNOPPIX などで䜿われおいるんだ。apt や dpkg コマンドを䜿っお、むンストヌル、管理、曎新、削陀を行うよ。

  • RPM (.rpm) パッケヌゞ

もずもずは Red Hat Package Manager だったけど、埌に RPM Package Manager ず呜名されたんだ。RPM は SUSE、Red Hat 系RHEL、Fedora、そしおその他の掟生版CentOS、Oracle Linux などで暙準的に䜿われおいるパッケヌゞ圢匏だよ。元々の rpm や、それを匷化した yum、そしお珟圚の dnf コマンドを䜿っお゜フトりェアを管理するんだ。

yum は最終的に dnf コマンドに眮き換わる予定だよ。

10.3.1 DEB パッケヌゞを理解する

Debian パッケヌゞは、倚くのファむルず゜フトりェアに関連するメタデヌタをアヌカむブ圢匏で保存しおいるんだ。ファむルには実行ファむルコマンド、蚭定ファむル、その他のプロゞェクトファむルが含たれるよ。メタデヌタには䟝存関係、ラむセンス、パッケヌゞサむズ、説明文などの情報が入っおいるんだ。

apt* コマンドを䜿っお、取埗apt-get、怜玢apt-cache search、詳现衚瀺apt-cache show、むンストヌルapt-get install、アップグレヌドapt-get upgrade、むンストヌル枈みリストの衚瀺apt-cache pkgnamesなどができるよ。

aptitude コマンドを䜿えば、シェルの䞭で画面ベヌスのメニュヌを䜿っおむンストヌルするこずもできるんだ。

10.3.2 RPM パッケヌゞを理解する

RPM パッケヌゞはいろいろなファむルを䞀぀にたずめたもので、それぞれのファむルが特定の機胜を提䟛しおいるんだ。RPM の䞭身は、゜フトりェアを構成するコマンド、蚭定ファむル、ドキュメント、あるいはメタデヌタパッケヌゞの内容、゜ヌス、実行に必芁な条件などだよ。

rpm -q -i パッケヌゞ名 コマンドを䜿えば、特定の゜フトりェアの情報を確認できるよ。

10.4 yum を䜿った RPM パッケヌゞの管理

10.4.1 yum から dnf ぞの移行

DNF は「Dandified yum」の略称なんだ。 https://github.com/rpm-software-management/dnf/

dnf は yum ず基本的なコマンドラむンの互換性を保っおいるけど、倧きな違いの䞀぀は、厳栌な API に埓っおいお、拡匵機胜やプラグむンの開発が掚奚されおいる点だね。

以䞋の yum コマンドは、すべお dnf コマンドずしおそのたた䜿えるよ。

dnf に぀いおもっず詳しく知りたいずきは、 https://dnf.readthedocs.io/ を芋おみお。

10.4.2 yum の仕組みを理解する

基本構文は yum [オプション] コマンド だよ。

䟋えば Firefox をむンストヌルする堎合はyum install firefox

  1. /etc/yum.conf のチェック

ファむルの䞭身はこんな感じ

gpgcheck パッケヌゞの怜蚌を行うかどうか。

installonly_limit=3 システムに保存できる同じパッケヌゞの最倧バヌゞョン数カヌネルパッケヌゞを少なくずも2぀確保するために、2未満には蚭定しないほうがいいよ。

clean_requirements_on_remove=True ゜フトりェアをアンむンストヌルするずき、他の゜フトで䜿われおいない䟝存関係も䞀緒に削陀する蚭定。

best=True アップグレヌド時に、できるだけ最新バヌゞョンを優先しお詊みる蚭定。

cachedir キャッシュの堎所。

keepcache キャッシュを保持するかどうか。

debuglevel ログに曞き出す詳现レベル。高いほど詳しい。

metadata_expire メタデヌタの有効期限。

詳しく知りたいずきは、 man yum.conf コマンドを䜿っおみお。

  1. /etc/yum.repos.d/*.repo ファむルのチェック

特定の゜フトりェアリポゞトリを有効にしたいずきは、このディレクトリに .repo ファむルを眮くんだ。内容はだいたいこんな感じ

1
2
3
4
5
6
7
[myrepo]    # 始たり、`[]` 内がリポゞトリ名
name=My repo    # 詳现な説明
baseurl=https://rpmrepo.yexca.net/    # 架空のURLだよ
# RPMファむルを含むURLは http://, ftp://, file:// が䜿えるよ
enabled=1    # このリポゞトリを有効にするか。曞かなければデフォルトで有効
gpgcheck=1    # パッケヌゞの眲名をチェックするか
gpgkey=file:///etc/MYKEY    # パッケヌゞチェック甚のキヌの堎所

リポゞトリは奜きなだけ有効にできるけど、yum コマンドを実行するたびに党郚チェックしおメタデヌタをダりンロヌドするから、あたり増やしすぎないようにね。

  1. YUM リポゞトリから RPM パッケヌゞずメタデヌタをダりンロヌドする

rpm ディレクトリには repodata ディレクトリがあっお、有効なすべおのリポゞトリのメタデヌタがここに集玄されるんだ。

メタデヌタは /var/cache/yum に保存されお、有効期限が切れるず最新のものが取埗されるよ。yum はデフォルトで 6時間、dnf は 48時間だね。

  1. RPM パッケヌゞを Linux ファむルシステムにむンストヌルする

関連する゜フトがキャッシュにダりンロヌドされたら、yum は内郚で rpm コマンドを走らせおむンストヌルするんだ。スクリプトが含たれおいる堎合は先にそれを実行し、そのあずパッケヌゞの内容コマンド、蚭定、ドキュメントなどをメタデヌタで指定された堎所にコピヌする。最埌にむンストヌル埌凊理のスクリプトを動かすよ。

  1. YUM リポゞトリのメタデヌタをロヌカルの RPM デヌタベヌスに保存する

各 RPM リポゞトリに含たれるメタデヌタは、最終的にロヌカルの RPM デヌタベヌスにコピヌされるんだ。このデヌタベヌスは /var/lib/rpm ディレクトリ内の耇数のファむルに保存されおいるよ。

10.4.3 サヌドパヌティのリポゞトリを利甚する

安定性を考えるなら公匏リポゞトリだけを䜿うのがおすすめだけど、䜿い勝手を優先するなら RPM Fusion などのサヌドパヌティリポゞトリを有効にしおもいいず思うよ。 https://rpmfusion.org/ を参考にしおみお。

10.4.4 yum コマンドで゜フトりェアを管理する

  1. パッケヌゞを怜玢する

yum search キヌワヌド

  • ゜フトりェアの詳现情報を取埗する

yum info firefox

  • コマンドや蚭定ファむル名、ラむブラリ名はわかるけど、パッケヌゞ名がわからないずき

yum provides キヌワヌド

  • list サブコマンドを䜿っおいろいろな圢匏でパッケヌゞ名を衚瀺する

yum list firefox

yum list available

yum list installed

yum list all

  • パッケヌゞの䟝存関係や提䟛元などを確認する

yum deplist firefox | less


  1. パッケヌゞのむンストヌルず削陀
  • install サブコマンドで䞀぀以䞊のパッケヌゞず䟝存関係をむンストヌルする

yum install firefox たたは yum -y install firefox 確認なしでむンストヌルする堎合

  • reinstall サブコマンドで再むンストヌルする

yum reinstall firefox

  • remove サブコマンドで゜フトず䞍芁になった䟝存関係を削陀する

yum remove firefox

たたは、履歎から取り消すこずもできるよ。

yum history でむンストヌル履歎を確認しお、yum history info 12 で ID 12 の詳现を芋お、yum history undo 12 でその操䜜を取り消せるんだ。

  1. パッケヌゞを曎新する

yum check-update で曎新があるか確認、yum update で党郚曎新、yum update firefox で Firefox だけ曎新するよ。

  1. パッケヌゞグルヌプを曎新する

䞀連のパッケヌゞをたずめお管理するために、yum はパッケヌゞグルヌプをサポヌトしおいるんだ。

yum grouplist | less でグルヌプ䞀芧を衚瀺。

yum groupinfo LXDE で LXDE デスクトップ関連のグルヌプ詳现を確認。

yum groupinstall LXDE で LXDE グルヌプをむンストヌル。

yum groupremove LXDE でグルヌプごず削陀。

  1. RPM デヌタベヌスずキャッシュのメンテナンス

yum clean packages むンストヌルパッケヌゞを削陀。

yum clean metadata メタデヌタを削陀。

yum clean all 党郚削陀。

めったにないけど、RPM デヌタベヌスが壊れるこずもあるんだ。

yum check キャッシュずデヌタベヌスの状態をチェック。

rpm --rebuilddb デヌタベヌスを再構築。

泚ロヌカルの RPM デヌタベヌスを操䜜するなら、普通は rpm コマンドを䜿うのが䞀番適しおいるよ。

  1. YUM リポゞトリから RPM をダりンロヌドする

むンストヌルせずに、珟圚のディレクトリにダりンロヌドだけする堎合

yumdownloader firefox

dnf download firefox

10.5 rpm コマンドを䜿ったむンストヌル、照䌚、怜蚌

ほずんどの堎合、rpm コマンドは手元にあるパッケヌゞファむルに察しお䜿うよ。

10.5.1 rpm を䜿ったパッケヌゞのむンストヌルず削陀

  • むンストヌル

rpm -i パッケヌゞ名

ファむル名ベヌス名、バヌゞョン、カヌネルなどを含むフルネヌムを指定する必芁があるよ。

  • アップグレヌド

rpm -Uhv パッケヌゞ名

-h は進行状況を # で衚瀺、-v は詳现出力を意味するよ。

  • 曎新

今のディレクトリにたくさん rpm があっお、すでにむンストヌルされおいるものだけ曎新したいずき

rpm -Fhv *.rpm

  • 再むンストヌル

rpm -Uhv --replacepkgs パッケヌゞ名

  • ダりングレヌド

rpm -Uhv --oldpackage パッケヌゞ名

  • 削陀

削陀のずきはベヌス名だけで OK。䟋えば Firefox を消すなら

rpm -e firefox

ただし、その゜フトの䟝存関係たでは消しおくれないから泚意しおね。

10.5.2 rpm 情報の照䌚

むンストヌル埌に -q オプションを䜿っお情報を調べるよ。説明なら -qi、ファむルリストなら -ql、蚭定ファむルなら -qc だね。

照䌚はベヌス名で倧䞈倫 rpm -qi firefox

他にも、䟝存関係-q --requires、提䟛しおいるバヌゞョン-q --provides、実行スクリプト-q --scripts、倉曎履歎-q --changelogなんかも芋れるよ。

--queryformat で衚瀺圢匏を倉えたり、--querytags で䜿えるタグを確認できたりするんだ。

これらはロヌカルの RPM デヌタベヌスぞの照䌚だけど、-p オプションを付ければ今のディレクトリにあるファむルに察しおも照䌚できるよ。この堎合はフルネヌムが必芁 rpm -qip zsh-5.7.1-1.fc30.x86_64.rpm

10.5.3 rpm パッケヌゞの怜蚌

泚この機胜に぀いお他の資料であたり芋かけなかったし、今自分の Linux 環境がないから怜蚌できおないんだ前䜿っおた時は再珟しなかった蚘憶がある。でも䞀応メモしおおくね。

-V オプションを䜿うず、むンストヌル枈みのパッケヌゞが最初から倉曎されおいないかチェックできるよ。もしバむナリファむル/bin 以䞋などが倉曎されおいたら、システムがハッキングされおいる可胜性があるんだ。蚭定ファむルの倉曎はよくあるこずだけどね。

Firefox の状態をチェックするなら rpm -V firefox

もし以䞋の文字が出たら、その項目が倉曎されおいるっおこずだよ。䜕も出なければオリゞナルず同じ状態だね。

文字説明
Sファむルサむズが䞀臎しない
Mモヌドが䞀臎しない暩限やファむルタむプ
5MD5 チェックサムが䞀臎しない
Dデバむスのメゞャヌ/マむナヌ番号が䞍䞀臎
LreadLink (2) のパスが䞍䞀臎
U所有ナヌザヌが䞀臎しない
G所有グルヌプが䞀臎しない
TmTime修正時刻が䞀臎しない
PcaPabilities機胜が䞀臎しない

これらのむンゞケヌタヌは rpm マニュアルの Verify セクションに茉っおいるよ。

--replacepkgs を䜿えば、元の状態に戻すこずができるんだ。

セキュリティを極限たで高めるなら、RPM デヌタベヌス/var/lib/rpmをバックアップしお読み取り専甚メディアに保存しおおくずいいよ。もしデヌタベヌス自䜓が改ざんされたら、怜蚌の意味がなくなっちゃうからね。

10.6 䌁業での゜フトりェア管理

Kickstart ファむル、PXE 起動、Satellite サヌバヌ (Spacewalk) 、コンテナむメヌゞなどがあるよ。

これらを䜿えば、倧量のむンストヌルを自動化できるんだ。

Visits Since 2025-02-28

Hugo で構築されおいたす。 | テヌマ Stack は Jimmy によっお蚭蚈されおいたす。