黒い画面を便利に使うためにPackage Managerについて知りましょう。
## Package Manager(パッケージマネージャー)の必要性
「黒い画面」では以前紹介した ls や curl など、単機能のコマンドを組み合わせることで複雑な処理を実現します。一つのソフトが複数のソフトを利用するため、「ソフト A をアップデートしたらソフト B、ソフト C が動かなくなった」という状況が発生します。「ソフト B 5.0 にはソフト A 2.0 以上が必要」といった関係があるためです。これをソフトの依存関係と言います。
![Image from Gyazo](https://i.gyazo.com/5936a63f98ef3b2afa7a57d0dc78c762.png)
無数のソフトの依存関係を手動でインストールしたり依存を調べたりといった管理をするのは面倒過ぎるので Package Manager(パッケージマネージャー)と呼ばれる種類のソフトがよく使われます。Package Manager は「そのソフトにどのソフトのバージョン何以上が必要か」、「今インストールされているソフトは何か」といった情報を持っているため、必要に応じてソフトを勝手にダウンロードしてきてインストールしてくれます。便利過ぎますね。今回は最近Linuxで人気のあるPackage Manager の APT(Advanced Packaging Tool)を使ってみます。
## aptでソフトを検索する
treeというソフトを検索してみましょう。
```sh
$ apt search tree
```
![Image from Gyazo](https://i.gyazo.com/b96a82a5d709d092ba7e39b5b3fce12c.png)
aptの後にsearchというキーワードと検索したいソフト名を入れると検索できます。
treeで検索するとたくさんでてきますね。
## aptでソフトをインストールする
```sh
$ sudo apt install tree
```
![Image from Gyazo](https://i.gyazo.com/8c9f54582b162fcc661357faae45b3ca.png)
aptの後にinstallというキーワードとインストールしたいソフト名を入れるとインストールできます。ネット上からパッケージをダウンロードしてインストールを全てやってくれます。このとき依存している必要なソフトも全てインストールされます。便利ですね。
### sudoとは?
上記のインストールのコマンドの先頭にsudoというコマンドが出てきます。これは**S**uper**U**serでDO(実行)するという意味のコマンドです。
ソフトのインストールのようなコンピューター全体に影響を及ぼす作業は管理者の権限が必要です。Linuxではrootという名前の管理者ユーザーがいますが、`su`という管理者ユーザー(スーパーユーザーともいう)としてログインできるコマンドを使ったあとで、`apt install tree`をしても良いですが、それだといちいち面倒なので、`sudo`をコマンドの先頭につけると今のユーザーでログインしたままで管理者としてコマンドを実行することができます。
## aptでパッケージリストを更新する
```sh
$ sudo apt update
```
![Image from Gyazo](https://i.gyazo.com/d66b54f4942de3e40c63587495c04002.png)
ちなみ`tree`はこういうコマンドです。大体わかりますよね?ディレクトリをtree(木)のように表示するコマンドです。
![スクリーンショット 2023-04-25 130237.png](https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdzRDQXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--facbc0f4b2d5e964dd564ea145ef2e340e0581e3/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-04-25%20130237.png)
要らなくなったら`sudo apt remove ソフト名`で綺麗に消えるので安心です。
```sh
$ sudo apt remove tree
```
![Image from Gyazo](https://i.gyazo.com/d66c79ffda7823cd4d720b3c7354a04b.png)
インストールできるソフトは無数にあるので色々探してみると楽しいです。`tree`のような小物から `mysql`のような大物まで沢山あります。是非色々と search して install してみてください。
[「本当は怖くない黒い画面」入門(Windows \+ WSL2編) Part.7](https://bootcamp.fjord.jp/articles/26)へ続く。
ブログ