null mayu

web勉強中の記録・雑記とか

aptコマンドのこと

debianでのターミナル操作の学習をやっていますが、aptコマンドについてまとめてみます。

 

・概要 - aptコマンドとは

APT (Advanced Packaging Tool) は、Debian用に開発されたパッケージ管理システムである。dpkgのフロントエンドとして動作するように設計されたが、現在はRPMに対応するように移植されたapt-rpmもある。

コンパイル済みのソフトウェアを管理する機能に加え、ソースコードからソフトウェアをコンパイルする際の依存関係を解決する機能も備えている。

APT - Wikipedia

別のページでも見てみました。

APTとさまざまなパッケージ操作コマンド

 ソフトウェアを配布する際には、実行ファイル1つだけではなく、設定ファイルやマニュアルなど、関連ファイルをまとめて「パッケージ」にしておくと便利です。UbuntuなどDebian系のディストリビューションでは、「debパッケージ」と呼ばれるフォーマットのパッケージを使用します。

 debパッケージの操作には、伝統的に「dpkg」コマンドが使われていました。

その後、APT(Advanced Packaging Tool)というパッケージ管理システムが登場しました。APTでは、インストールや更新、削除に「apt-get」コマンドを使い、パッケージの検索には「apt-cache」コマンドを使用します。APTはdpkgのフロントエンドとして動作するので、操作対象はdpkgと同じdebパッケージです ※。

RPMパッケージ用に移植されたAPT-RPMも開発されています。

 

 

 現在は、apt-getとapt-cacheを統合した「apt」コマンド、そしてCUI画面でもグラフィカルな表示が可能な「aptitude」も使われています。dpkgとapt-get、apt-cache、apt、aptitudeを同じマシンに対して使用しても問題ありません ※2。

【 apt 】コマンド(基礎編)――ソフトウェアをインストールする:Linux基本コマンドTips(139) - @IT

 

・コマンド 

以下のページを参考にしました。

【 apt 】コマンド(基礎編)――ソフトウェアをインストールする:Linux基本コマンドTips(139) - @IT

aptコマンドチートシート - Qiita

Ubuntu 16.04 / Debian 8: aptコマンドの使い方 - Narrow Escape

最後のページでapt upgradeとapt-get upgradeの違いについて書かれていました。

apt upgradeは新規パッケージをインストールする場合があります。apt-get upgradeは新規パッケージをインストールしません。

apt dist-upgrade/apt dist-upgradeは新規パッケージを追加するだけでなく既存パッケージを削除する場合があります。これはapt upgrade/apt-get upgradeとは異なります。

基本的にはapt upgradeを使う方が良いです。

 壁にぶつかるまではapt upgradeを使って行こうと思います。

 

・おまけ - パッケージをsearchしたら同じ文字列を含んだパッケージがたくさん出てきてしまった。

試しに"vim"をインストールしようと"apt search vim"で検索をかけたら、文字列"vim"を含むパッケージがたくさん出てきました。

部分一致検索のコマンドを実行しているので当たり前なのですが、今回は"vim"をインストールしたいとはっきりわかっているので完全検索をします。

 

方法1:用意されているコマンドを使う。

完全一致検索は"apt search [パッケージ名]"ではなく、"apt list [パッケージ名]"でした。

 

方法2:正規表現を使う。

この方法は教わるまで知りませんでした。

参考:正規表現 - Wikipedia

今使っているシステムにおいてのことになりますが、"^[検索する文字列]"とすると前方一致検索に、"[検索する文字列]$"とすると後方一致検索に、"^[検索する文字列]$"とすると完全一致検索になりました。

これを使えば、"apt search"コマンドでも"apt search ^[パッケージ名]$"とすることで"apt list [パッケージ名]"とコマンド入力した時と同じ結果になりました。

※"apt-cache search"コマンドでも使い方は同じ。

正規表現、覚えておこうと思います。