LoginSignup
2
2

More than 3 years have passed since last update.

LPIC・ソフトウェア管理

Posted at

個人的なメモです。

共有ライブラリの管理

☆ライブラリ

・複数のアプリケーションからよく使用される機能を関数として実装し、複数の関数を種類ごとにファイルにまとめたもの
静的ライブラリ共有ライブラリの2種類がある

(表)ライブラリの種類

主な種類 説明 使用方法
静的ライブラリ プログラム作成時にその実行ファイル内に組み込まれるもの 静的リンク  
共有ライブラリ プログラムの実行時にロードされ、複数のプログラム間で共有されるもの 動的リンク/動的ロード

※動的リンカ/ローダによる自動的なロードとリンクを動的リンク、アプリケーションがAPIによって共有ライブラリを使用することを動的ロードと呼ぶ。通常は動的リンクだが、特別なアプリケーション(PAMやApache)だけ動的ロードを用いる

image.png

☆共有ライブラリの設定

以下の順で行う
/etc/ld.confにディレクトリパスを追加
ldconfigコマンド/etc/ld.confを参照して適切なシンボリックファイルを作成し、共有ライブラリのパスを/etc/ld.cacheファイルに書き込む

ldconfigコマンド・・・共有ライブラリを認識させるため、/etc/ld.so.confを/etc/ld.so.cacheに反映するときに使う

/etc/ld.conf・・・共有ライブラリの検索パスを記載しておく設定ファイル

/etc/ld.cache・・・共有ライブラリの名前と実際のファイルの置き場所が書いてあるファイル

ユーザーごとに共有ライブラリを追加したい場合は環境変数LD_LIBRARY_PATHを用いて、以下の順番で目的のライブラリを検索

①環境変数LD_LIBRARY_PATHで指定されたディレクトリパス配下
②/etc/ld.so.cache ファイルで指定されたディレクトリパス配下
③/lib と /usr/lib ディレクトリ配下
image.png

☆共有ライブラリの確認

lddコマンドを使用し、プログラムで必要とする共有ライブラリを確認できる

RPM/yumパッケージ管理

☆パッケージ管理システム

・ソフトウェアをパッケージというファイル単位で管理するシステム
・パッケージは実行形式に変換したバイナリのほか、ライブラリや設定ファイル、マニュアルなどを1つにまとめたもの。また、パッケージを管理する上で必要となる依存情報も含まれている
・主なパッケージ管理システムにはRPM形式Debian形式がある

コマンド RedHat系 Ubuntu/Debian系
パッケージ形式 rpm形式 deb形式
パッケージ管理コマンド rpmコマンド dpkgコマンド
リポジトリを利用したパッケージ管理コマンド yum(dnf)コマンド apt-cacheコマンド・apt-getコマンド

☆RPM形式

・Red Hat LinuxやFedora Linux、CentOs等のRed Hat系ディストリビューションで採用されているパッケージ管理システム
rpmコマンドyumコマンドを利用してrpmパッケージの管理を行う

rpmコマンド

RedHat Package Managerの略
Red Hat系ディストリビューションのパッケージ管理システムの1つ

(表)rpmのオプション

短いオプション 長いオプション  説明
-q --query 指定したパッケージがインストールされていればバージョンを表示
-a --all インストール済みのrpmパッケージ情報を一覧で表示
-i --info 指定したパッケージの詳細情報を表示
-f --file 指定したファイルを含むrpmパッケージを表示
-c --configfiles 指定したパッケージ内の設定ファイルのみを表示
-d --docfiles 指定したパッケージ内のドキュメントのみを表示
-l --list 指定したパッケージに含まれるすべてのファイルを表示
-K --checksig パッケージの完全性を確認するために指定されたパッケージファイルに含まれるすべてのダイジェスト値と著名をチェックする
-R --requires 指定したパッケージが依存しているrpmパッケージ名を表示
-p --package インストールされたrpmパッケージではなく、指定したrpmパッケージファイルの情報を表示
なし --changelog パッケージの更新情報を表示

(表)インストール・アップグレードに関するオプション

短いオプション 長いオプション   説明
-i --install パッケージをインストールする(アップデートは行わない)
-U -upgrade パッケージをアップデートする。インストール済みのパッケージが存在しない場合、新規にインストールを行う
-F --freshen パッケージをアップデートする。インストール済みのパッケージが存在しない場合、何も行わない
-v --verbose 詳細な情報を表示する
-h --hash 進行状況を#記号で表示する
なし --force 指定されたパッケージがすでにインストールされていても上書きインストールを行う
なし --oldpackage 古いパッケージに置き換えることを許可(ダウングレード)する
なし --test パッケージをインストールせず、衝突等のチェックを行い結果を表示する

(表)アンインストールに関するオプション

短いオプション 長いオプション  説明
-e --erase パッケージを削除する
なし -nodeps 依存関係を無視してパッケージを削除する
なし --allmatches パッケージ名に一致するすべてのバージョンのパッケージを削除する

yumコマンド

rpmと同じくパッケージ管理システムではあるが、rpmはRPMパッケージを扱い、RPMデータベースやRPMパッケージのリポジトリを使用しパッケージを管理するYUMを扱うのがyum。つまり、yumは内部的にrpmを扱っていることになる

機能においてrpmとの大きな違いは以下

1.パッケージの依存関係を自動的に解決する
→このソフトウェアが必要といった依存をチェックして、必要なソフトウェアを自動でインストールできる
2.パッケージファイルを準備する必要はない
→インターネット上のリポジトリ(パッケージを保管・管理している場所)と通信し、簡単にrpmパッケージのインストールや最新情報の入手が可能

rpmにはない便利な機能があるため、基本的にyumを使用する事が多い

(表)検索・表示に関するサブコマンド

主なサブコマンド 説明
list 利用可能な全rpmパッケージ情報を表示
list installed インストール済みをのrpmパッケージを表示
info 指定したrpmパッケージの詳細情報を表示
search 指定したキーワードでrpmパッケージを検索し結果を表示
deplist 指定したrpmパッケージの依存情報を表示
list updates インストール済みのrpmパッケージで更新可能なものを表示
check-update インストール済みのrpmパッケージで更新可能なものを表示

(表)インストール・アップグレードに関するサブコマンド

主なサブコマンド 説明
install 指定したrpmパッケージをインストールする。自動的に依存関係も解決する
update インストール済みのrpmパッケージで更新可能なものをすべてアップデートする。なお、個別のrpmパッケージを指定して更新することも可能
upgrade システム全体のリリースバージョンアップを行う

(表)yumの設定ファイル

主な設定ファイル 説明
/etc/yum.conf 基本設定ファイル
/etc/yum.repos.d ディレクトリ以下に保存されたファイル リポジトリの設定ファイル

その他のコマンド

rpm2cpioコマンド・・・rpmファイルをcpioアーカイブ形式に変換し、標準出力に出力する

yumdownloderコマンド・・・rpmファイルのダウンロードだけをするコマンド。rpmファイルを保存しておけば、最新のパッケージを使用するのではなく、決められたバージョンでマシンを更新しなければならないときに便利

zepperコマンド・・・Libzyppライブラリを利用したコマンドラインによるパッケージ管理ツール。パッケージのインストール、更新、削除、およびリポジトリの管理が可能

(表)zepperのコマンド

コマンド 説明
update パッケージの更新
search パッケージ名 パッケージの検索
install パッケージ名 パッケージのインストール
remove パッケージ名 パッケージの削除
info パッケージ名 パッケージの情報を調べる
repos リポジトリの一覧表示

Debian/debパッケージ管理

☆Debian形式

・Debian GNU/LinuxやUbuntu Linux等のDebian系ディストリビューションで採用されているパッケージ管理システム
dpkgコマンドapt-getコマンドapt-cacheコマンドを利用してdebパッケージの管理を行う

dpkgコマンド

Debian系システムで使われているdebパッケージを扱うパッケージ管理コマンド

(表)表示に関するコマンド

短いオプション 長いオプション 説明
-l --list インストール済みの全debパッケージの情報を表示。特定のパッケージ情報のみ表示する場合は、-lオプションの後にパッケージ名を指定
-s --status 指定したパッケージの情報を表示。依存関係も確認可能
-L --listfiles 指定したパッケージに含まれるすべてのファイルを表示
-S --search インストール済みのパッケージから指定されたファイルを検索
-I --info 指定したパッケージの詳細情報を表示
-C --audit インストールが完了していないパッケージを検索
-c --contents インストールされたパッケージではなく、指定したdebパッケージファイルに含まれるファイルの一覧を表示

(表)アンインストールに関するオプション

短いオプション 長いオプション 説明
-r --remove パッケージは削除するが、設定ファイルは残したままとする
-P --purge 設定ファイルも含め完全にパッケージを削除する

(表)インストール・アップグレードに関するオプション

短いオプション 長いオプション 説明
-i --install パッケージをインストールする
-E --skip-same-version すでに同じバージョンのパッケージがインストールされている場合は何も行わない
-G --refuse-downgrade すでに新しいバージョンのパッケージがインストールされている場合は何も行わない

dpkg-reconfigureコマンド

指定したインストール済みのパッケージに対し設定内容を変更することが可能

apt-cacheコマンド

debパッケージをより効率よく管理するためのツール「APT」を使用する主なコマンドはapt-cacheコマンドapt-getコマンドがあり、パッケージの依存関係を自動的に解決する
apt-cacheコマンドは、debパッケージ情報の検索、表示に使用する

(表)apt-cacheのサブコマンド

主なサブコマンド 説明
pknames すべてのdebパッケージを一覧表示
search 指定したキーワードを含むパッケージを表示。複数キーワードや正規表現を用いたキーワードの指定が可能
show 指定したパッケージの詳細情報と、依存情報を表示
depends 指定したパッケージの依存情報関係と、依存関係を満たすほかのパッケージの一覧の表示

apt-getコマンド

debパッケージのインストール、アップグレード、アンインストールに使用するコマンド

(表)apt-getのサブコマンド

主なサブコマンド 説明
install 依存関係をチェックし、パッケージをインストールする
upgrade アップグレード可能なdebパッケージをすべて更新する。現在インストール中のパッケージの削除は行わない
update パッケージデータベースを更新する
dist-upgrade 古いパッケージの削除を含め、現在インストールされている全パッケージを更新する
remove debパッケージをアンインストールする

/etc/apt/sources.list・・・apt-getコマンドは、/etc/apt/sources.listに記述された入手リストに従い、パッケージをインストールする

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2