Linux コマンド #02

### dpkg
```bash
$ dpkg [オプション] アクション

インストール
$ dpkg -i [パッケージ名]

設定ファイルも含めてアンインストール
$ dpkc -p [パッケージ名]

インストール済みパッケージ一覧の表示
$ dpkc -l
```
* Debian 形式のパッケージを扱う

|オプション|説明|
|:--|:--|
|-E|既に同バージョンがインストールされていればインストールしない|
|-G|既に新バージョンがインストールされていればインストールしない|
|-R|ディレクトリ内を再帰的に処理する|

|アクション|説明|
|:--|:--|
|-i パッケージファイル名<br>(--install)|パッケージをインストールする|
|-r パッケージ名<br>(--remove)|設定ファイルを残して、パッケージをアンインストールする。|
|-P パッケージ名<br>(--purge)|設定ファイルも含め、完全にアンインストールする|
|-l 検索パターン<br>(--list)|インストール済みパッケージを検索して表示する|
|-S ファイル名検索パターン<br>(--search)|指定したファイルがどのパッケージからインストールされたかを表示する|
|-L パッケージ名<br>(--listfiles)|指定パッケージからインストールされたファイルを一覧表示する|
|-s パッケージ名<br>(--status)|パッケージの情報を表示する|
|--configure パッケージ名|展開されたパッケージを構成する|
|--unpack パッケージ名|パッケージを展開する(インストールはしない)|

### apt-get
```bash
$ apt-get [オプション] サブコマンド パッケージ名

インストール
$ apt-get install xxx

アンインストール
$ apt-get remove xxx

最新のパッケージ情報を取得
$ apt-get update

```

* APT(Advanced Packaging Tool)というパッケージ管理ツールに含まれるコマンド。
* 依存関係を調整しながらパッケージのインストール、アップグレード、アンインストールを行う。
* dpkgと違いインターネット経由で最新のパッケージの入手からインストールと依存関係の解決ができる。
* パッケージを管理しているサイトのURLを「/etc/apt/sources.list」に記述する。

例：deb ftp://ftp.jp.debian.org/debian stable main contrib non-free

|例|説明|
|:--|:--|
|deb|deb(debパッケージを取得)か、deb-src(ソースを取得)|
|ftp～|取得先URI|
|stable|バージョン名(lenny,squeeze,wheezyなど)か、stable(安定版)|
|main～|main(フリーソフトウェア)<br>contrib(フリーでない依存関係のあるフリーソフトウェア)<br>non-free(再配布に制限があるソフトウェア)|

#### コマンドオプション

|オプション|説明|
|:--|:--|
|-d|ファイルをダウンロードする(インストールはしない)|
|-s|システムを変更せず動作をシミュレートする|

|サブコマンド|説明|
|:--|:--|
|clean|過去に取得して保存中のパッケージを削除する|
|dist-package|Debianのシステムを最新にアップグレードする|
|install|パッケージをインストール、またはアップグレードする|
|remove|パッケージをアンインストールする|
|update|パッケージデータベースを更新する|
|upgrade|システムの全パッケージを安全にアップグレードする|

### apt-cache
```bash
$ apt-cache [サブコマンド]
```
* パッケージ情報の照会、検索

|サブコマンド|説明|
|:--|:--|
|search キーワード|指定したキーワードを含むパッケージを検索する|
|show パッケージ名|パッケージについての詳細情報を表示する|
|showpkg パッケージ名|パッケージについての情報を表示する|
|depends パッケージ名|指定したパッケージの依存関係情報を表示する|

### aptitude
```bash
$ aptitude
```
* apt-get コマンドよりも高度な機能を持ったコマンド。
* 正規表現を使った検索機能に優れている。

|サブコマンド|説明|
|:--|:--|
|update|パッケージデータベースを更新する|
|show パッケージ名|パッケージ情報を表示する|
|search パターン|指定したパターンでパッケージを検索する|
|install パッケージ名|パッケージをインストール、またはアップグレードする|
|remove パッケージ名|設定ファイルを残してパッケージをアンインストールする|
|purge パッケージ名|設定ファイルも含めてパッケージをアンインストールする|
|download パッケージ名|パッケージファイルをダウンロードする|
|dist-upgrade|Debian のシステムを最新にアップデートする|
|upgrade|システムの全パッケージを安全にアップデートする|

**検索パターン**

|検索パターン|説明|
|:--|:--|
|~n正規表現|パッケージ名が正規表現パターンにマッチするパッケージを検索する|
|~d正規表現|パッケージの説明が正規表現パターンにマッチするパッケージを検索する|
|~V正規表現|パッケージのバージョンが正規表現パターンにマッチするパッケージを検索する|
|~i|インストール済みのパッケージを検索する|
|~U|更新可能なパッケージを検索する|
|~M|自動的にインストールされたパッケージを検索する|

### rpm
```bash
$ rpm

パッケージのインストール
# rpm -ivh xxx.rpm

パッケージのアンインストール
# rpm -e xxx

パッケージ情報の照会
# rpm -qa | grep xxx



```
* RPM パッケージのインストール/削除/アップデートを行うことが出来る。

**インストール/アップグレードモード**

|オプション|説明|
|:--|:--|
|-i パッケージファイル名<br>(--install)|パッケージをインストールする|
|-U パッケージファイル名<br>(--upgrade)|パッケージをアップグレードする(なければインストールする)|
|-F パッケージファイル名<br>(--freshen)|パッケージがインストールされていればアップグレードする|

|併用オプション|説明|
|:--|:--|
|-v|詳細な情報を表示する|
|-h(--hash)|進行状況を「#」で表示する|
|--nodeps|依存関係を無視してインストールする|
|--force|既存のファイルを新しいものに置き換える|
|--test|実際にはインストールせずテストを実施する|

**アンインストールモード**

|オプション|説明|
|:--|:--|
|-e パッケージ名<br>(--erase)|パッケージをアンインストールする|

|併用コマンド|説明|
|:--|:--|
|--nodeps|依存関係を無視してアンインストールする|

**照会モード**

|オプション|説明|
|:--|:--|
|-q パッケージ名|指定したパッケージがインストールされているか照会する|

|サブコマンド|説明|
|:--|:--|
|-a (-all)|インストール済みのすべてのパッケージを表示する|
|-f ファイル名|指定したファイルを含むパッケージ名を表示する|
|-p パッケージファイル名|対象としてパッケージファイルを指定する|
|-c (--configfiles)|設定ファイルのみを表示する|
|-d (--docfiles)|ドキュメントのみを表示する|
|-i (--info)|インストール済みパッケージ情報を表示する|
|-l (--list)|指定したパッケージに含まれるファイルを表示する|
|-R (--requires)|指定したパッケージが依存しているファイル等を表示する|
|--changelog|変更履歴を表示する|

### yum
```bash
$ yum

インストール
$ yum install xxx

アンインストール
$ yum remove xxx

アップデート
$ yum update

```
* APTツールに相当するRH 系のコマンド。
* YUM：Yellow dog Update, Modified

|サブコマンド|説明|
|:--|:--|
|check-update|アップデート対象のパッケージリストを表示する|
|update パッケージ名|指定したパッケージをアップデートする|
|install パッケージ名|指定したパッケージをインストールする|
|remove パッケージ名|指定したパッケージをアンインストールする|
|info パッケージ名|指定したパッケージの情報を表示する|
|list|全パッケージ情報をリスト表示する|
|repolist|リポジトリ一覧を表示する|
|search キーワード|パッケージ情報をキーワードで検索する|
|search all キーワード|パッケージをキーワードで検索する<br>(パッケージ名および説明文等すべて)|
|grouplist|パッケージグループをリスト表示する|
|grouplist グループ|指定したグループのパッケージをインストールする|

### yumdownloader
```bash
$ yumdownloader xxx
```
リポジトリにあるパッケージをダウンロードだけする。


Template
### 
```bash
$ 
```
|オプション|説明|
|:--|:--|
|||
|サブコマンド|説明|
|:--|:--|
|||