[Udemyの動画講座]:https://www.udemy.com/course/linuxlpic/?utm_source=bene-content-marketing&utm_campaign=normal&utm_content=story&utm_term=career&utm_medium=udemyads
[Linux入門 3-8]:https://qiita.com/hoglet/items/34bf1c9b93bdb917ea1c
[Linux入門 3-10]:https://qiita.com/hoglet/items/1327215b771e6a3e08f7
はじめに
Linux初学者である自分向け用の記事です。[Udemyの動画講座]を参考にしました。
僕の勉強法は動画を見る
→実際に動かしてみる
→問題演習
という流れです。
前回まで:[Linux入門 3-8]
3. LinuC 101 Ver .10.0(問題、テスト、演習)
リポジトリとパッケージ管理
RPMパッケージ管理, yumコマンドによるパッケージ管理
RPM: レッドハット社が開発したパッケージ管理方式
rpm: RPMパッケージを管理(インストール、アップグレード、削除、検索)するためのコマンド
-----------------------------------------------------------------------------------
–i(--install): パッケージをインストール
–U(--upgrade): パッケージをアップグレード(存在しない場合インストールする)
–F(--freshen): パッケージをアップグレード(存在しない場合インストールしない)
上と併用するオプション
–h(--hash): インストールの進捗状況を表示
–v: 詳細情報を表示
–-nodeps: 依存関係を無視してインストール
-–prefix: インストールするディレクトリを指定
–-relocate: インストール済みのパッケージをディレクトリ変更して再インストール
–e(--erase): パッケージを削除
併用するオプション
--nodeps: 依存関係を無視
yum: RedHat系で用いられるRPMパッケージの管理ツール
-----------------------------------------------------------------------------------
check-update: アップデート可能なパッケージを表示
update パッケージ名: 指定したパッケージをアップデート(パッケージ名を省略した場合はupdate可能なもの全てupdate)
install パッケージ名: パッケージをインストール
remove パッケージ名: パッケージをアンインストール
info パッケージ名: パッケージの情報を表示
list: 全パッケージを表示
search: 指定したパッケージを検索
grouplist: パッケージグループの一覧を表示
groupinstall: 指定したグループをインストール
provides: 指定したファイルが含まれるパッケージを検索する
/etc/yum.conf: yumで使用する設定ファイル。
/etc/yum.repos.d/: yumコマンドで使用されるリポジトリ情報が格納される。RPMリポジトリのダウンロード先を追加したい場合は、ファイルをこのディレクトリに追加する。リポジトリとはパッケージの保存場所。このディレクトリ内の情報を元にパッケージをインストールする
yumdownloader: RPMパッケージをインストールせずにダウンロードのみを行うコマンド。
yumdownloader –-source: RPMでなくソースファイルをダウンロードする
実行環境で確認。
https://centos.pkgs.org/8/okey-x86_64/httpd-2.4.37-12.el8.x86_64.rpm.html
[root@localhost ~]# rpm -ivh http://repo.okay.com.mx/centos/8/x86_64/release/httpd-2.4.37-12.el8.x86_64.rpm
http://repo.okay.com.mx/centos/8/x86_64/release/httpd-2.4.37-12.el8.x86_64.rpm を取得中
警告: /var/tmp/rpm-tmp.iGv4hq: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 13d0a55d: NOKEY
エラー: 依存性の欠如:
/etc/mime.types は httpd-2.4.37-12.el8.x86_64 に必要とされています
httpd-filesystem は httpd-2.4.37-12.el8.x86_64 に必要とされています
httpd-filesystem = 2.4.37-12.el8 は httpd-2.4.37-12.el8.x86_64 に必要とされています
httpd-tools = 2.4.37-12.el8 は httpd-2.4.37-12.el8.x86_64 に必要とされています
libapr-1.so.0()(64bit) は httpd-2.4.37-12.el8.x86_64 に必要とされています
libaprutil-1.so.0()(64bit) は httpd-2.4.37-12.el8.x86_64 に必要とされています
mod_http2 は httpd-2.4.37-12.el8.x86_64 に必要とされています
system-logos-httpd は httpd-2.4.37-12.el8.x86_64 に必要とされています
[root@localhost ~]# rpm -V httpd
パッケージ httpd はインストールされていません
[root@localhost ~]# yum install httpd
Docker CE Stable - x86_64 36 kB/s | 3.5 kB 00:00
依存関係が解決しました。
================================================================================================================
パッケージ Arch バージョン リポジトリー サイズ
================================================================================================================
インストール:
httpd x86_64 2.4.37-43.module_el8.5.0+1022+b541f3b1 appstream 1.4 M
依存関係のインストール:
apr x86_64 1.6.3-12.el8 appstream 129 k
apr-util x86_64 1.6.1-6.el8 appstream 105 k
centos-logos-httpd noarch 85.8-2.el8 baseos 75 k
httpd-filesystem noarch 2.4.37-43.module_el8.5.0+1022+b541f3b1 appstream 39 k
httpd-tools x86_64 2.4.37-43.module_el8.5.0+1022+b541f3b1 appstream 107 k
mailcap noarch 2.1.48-3.el8 baseos 39 k
mod_http2 x86_64 1.15.7-3.module_el8.4.0+778+c970deab appstream 154 k
弱い依存関係のインストール:
apr-util-bdb x86_64 1.6.1-6.el8 appstream 25 k
apr-util-openssl x86_64 1.6.1-6.el8 appstream 27 k
モジュールストリームの有効化中:
httpd 2.4
トランザクションの概要
...
インストール済み:
apr-1.6.3-12.el8.x86_64
apr-util-1.6.1-6.el8.x86_64
apr-util-bdb-1.6.1-6.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64
centos-logos-httpd-85.8-2.el8.noarch
httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64
httpd-filesystem-2.4.37-43.module_el8.5.0+1022+b541f3b1.noarch
httpd-tools-2.4.37-43.module_el8.5.0+1022+b541f3b1.x86_64
mailcap-2.1.48-3.el8.noarch
mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64
完了しました!
[root@localhost ~]# yum info httpd
メタデータの期限切れの最終確認: 0:01:26 時間前の 2022年01月07日 02時48分36秒 に実施しました。
インストール済みパッケージ
名前 : httpd
バージョン : 2.4.37
リリース : 43.module_el8.5.0+1022+b541f3b1
Arch : x86_64
サイズ : 4.3 M
ソース : httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.src.rpm
リポジトリー : @System
repo から : appstream
概要 : Apache HTTP Server
URL : https://httpd.apache.org/
ライセンス : ASL 2.0
説明 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
[root@localhost ~]#
Debianパッケージ管理, apt コマンドによるパッケージ管理
dpkg: Debianのパッケージを管理するためのコマンド
–i(--install) パッケージ名: パッケージ をインストール
–r(--remove) パッケージ名: 設定ファイルを残してパッケージを削除
–p(--purge) パッケージ名: 設定ファイルを含めてパッケージを削除
–l(--list): インストール済みのパッケージ一覧を表示
–L(--listfiles) パッケージ名: パッケージによってインストールされたファイル一覧を表示
–I(--info) アーカイブ名: 指定したパッケージのアーカイブ情報を表示
–c(--contents) パッケージ名: パッケージに含まれるファイル一覧を表示
–C(--audit) パッケージ名: パッケージのインストール状態の確認
–s(--status) パッケージ名: パッケージの詳細情報を表示
–S(--search) パッケージ名: 指定した文字列に一致するパッケージを表示
その他オプション
–E: 同じバージョンがインストール済みの場合はインストールしない
–G: システムにインストールされているパッケージが最新の場合、インストールしない
dpkg-reconfigure: すでにインストールされたdebパッケージの状態を再設定できる。対話的にパッケージを再設定する。
APT(Advanced Package Tool): dpkgコマンドを拡張した高機能なツール。パッケージ間の依存関係を解決しながらリポジトリというパッケージ管理サイトから、最新のパッケージをダウンロード・インストールできる。
apt-get: APTを使ってパッケージを管理するコマンド(aptコマンドの方が新しいので推奨)
autoclean: ダウンロードしたパッケージから最新版以外を削除
clean: ダウンロードしたパッケージを削除
install パッケージ名: パッケージをインストール or 更新
remove パッケージ名: パッケージを削除
update: パッケージリスト情報を最新に更新
dist-upgrate: Linuxディストリビューションを最新版にアップグレード
upgrade: 全パッケージを最新版にアップグレード
/etc/apt/sources.list: パッケージのダウンロード元を設定したファイル
apt-cache: パッケージの情報の照会やパッケージの依存関係を表示するコマンド
search キーワード: 指定したキーワードを含むパッケージを検索
show パッケージ名: パッケージ情報の表示
showpkg パッケージ名: パッケージに依存したパッケージ一覧を表示
depends パッケージ名: パッケージが依存したパッケージ一覧を表示
aptコマンド: apt-getとapt-cacheコマンドを組み合わたようなコマンド。最近はパッケージインストール時にはapt-getでなくaptコマンドが推奨されている
-c 設定ファイル: /etc/apt/sources.list以外の設定ファイルを指定したい場合に利用するオプション
-d: installと併用して用いてパッケージのダウンロードのみを行う
-y: 問い合わせに対して自動的にYesと応答する
list: パッケージのリストを表示する
list --installed: インストールされたパッケージの一覧をリスト表示する
list --upgradable: アップグレード可能なパッケージをリスト表示する
update: パッケージリスト情報を最新に更新
clean: ダウンロードしたパッケージを削除
install パッケージ名: パッケージをインストール or 更新
remove パッケージ名: パッケージを設定ファイルは残して削除
purge パッケージ名: パッケージを設定ファイルを含め完全に削除する
upgrade: インストール済みのパッケージをまとめて更新する
full-upgrade: システムのメジャーバージョンを最新版にアップグレードする
search キーワード: パッケージの説明文からキーワードを検索して該当するパッケージを表示する
autoremove: 必要とされていないパッケージを自動削除する
apti-file: 指定したファイルを含むパッケージを検索する。必要なファイルはわかるがパッケージはわからないという場合に用いる
apt-fileのインストール: apt install apt-file
apt-file update: パッケージ情報を更新する
apt-file search: ファイルが含まれるパッケージを検索する
Dockerを用いて検証していく。
[root@localhost ~]# docker run -it ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
ea362f368469: Pull complete
Digest: sha256:b5a61709a9a44284d88fb12e5c48db0409cfad5b69d4ff8224077c57302df9cf
Status: Downloaded newer image for ubuntu:latest
root@5fd5595cc0a5:/#
root@5fd5595cc0a5:/#
root@5fd5595cc0a5:/#
root@5fd5595cc0a5:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
To Be Continued...
[Linux入門 3-10] へ