読者です 読者をやめる 読者になる 読者になる

フィヨルド リモートインターン日記4〜aptについて〜

aptとは

f:id:twipg:20170320133044j:plain

Advanced Packaging Toolの略で、Ubuntuを含むDebianから派生したLinuxディストリビューションやいくつかの非派生系ディストリビューションで採用されているパッケージ 管理システムのことです。

下記の引用先によると、aptやdpkgがあるおかげでソースコードからコンパイルする手間を省いて、パッケージが使えるようになったようです。

もともとLinuxは「tar.gz」という感じで圧縮されたソースコードをもってきて、コンパイルすることが当たり前だった。 しかし、ソフトウェアがアップデートするたびにコンパイルしたり、整合性を取ったりするのは非常に苦い。オープンソースはアップデートが多いし、なおさらだ。 Debianの開発者たちは迅速にソフトウェアを管理するパッケージ管理システムが必要なことに気がつき、「dpkg」をつくりあげた。 これがDebianにおけるパッケージの始まりで、そのdpkgを管理するために「apt」が開発された。aptとは「Advanced Packaging Tool」の略である。Debianのパッケージ管理システムとして開発されたものである。 LinuxのDebian系パッケージ管理 apt系コマンドの使い方

aptは、Macでよく使われているHomebrewのようなものみたいなものかなと理解しました。

APTを使えば様々なソフトウェアを簡単にDebianにインストールできます。

例えば以下のコマンドでパッケージをインストールできます。

apt-get install パッケージ名

パッケージをインストールする

試しにtreeコマンドをインストールしてみます。

$ sudo apt-get install tree

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  tree
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 45.9 kB of archives.
After this operation, 102 kB of additional disk space will be used.
Get:1 http://ftp.jp.debian.org/debian/ jessie/main tree amd64 1.7.0-3 [45.9 kB]
Fetched 45.9 kB in 0s (188 kB/s)
Selecting previously unselected package tree.
(Reading database ... 31991 files and directories currently installed.)
Preparing to unpack .../tree_1.7.0-3_amd64.deb ...
Unpacking tree (1.7.0-3) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up tree (1.7.0-3) ...

インストールできましたので、コマンドを使ってみます。

$ tree
.
├── test1
├── test2
└── test3

パッケージのインストールが成功しました。簡単で良いですね。

ちなみに更新方法は

apt-get update
  • インストール済みのパッケージの更新
apt-get upgrade
apt-get dist-upgrade

隠しコマンドもあるみたいです

$ apt-get moo
                 (__)
                 (oo)
           /------\/
          / |    ||
         *  /\---/\
            ~~   ~~
..."Have you mooed today?"...

aptについて調べましたが、パッケージ管理システムがあることによって、使用したいソフトウェアが簡単にDebianなどにインストールができることがわかりました。

これからも色々とお世話になりそうなコマンドなので、勉強していきたいと思います。


こちらの記事は下記のリンクを参考に作成しました