Ubuntu, Debian, CentOS と異なるOSを使っています。 もし、”どのOSを使っているのですか?”と聞かれたら。 ほとんどの方が、”Linuxを使っています “と答えるかもしれません。 それらは本当のLinuxではありません。 Linuxはカーネルの名前に過ぎないのです。
さて、「Linux ディストリビューションとは何か」と聞かれるかもしれませんが、Linux カーネル自体はそれほど凝ったことはできません。 ハードウェアを管理し、プログラムにメモリを割り当て、プログラムの実行を支援し、その他基本的な非常に低レベルのタスクを代行するソフトウェアです。 例えば、nanoというテキストエディタでファイルを編集したいとしましょう。 Linuxカーネルにはそれがないんだ。
便利なプログラムがなければ、Linux カーネルは普通のユーザには何の役にも立ちません。 繰り返すが、Linuxカーネルの上にプログラムをインストールするのは、普通の人が好き好んでやることではない。 そこで、さまざまな企業や個人が、Linuxカーネルの上に重要なツール(あるいはソフトウェア)を載せてパッケージ化してくれています。 だから、それをインストールすると、必要なプログラムを使って作業を始めることができる。 これをLinuxベースのオペレーティング・システム、あるいはLinuxディストリビューションと呼びます。 Ubuntu、Debian、CentOS、FedoraなどがLinuxディストリビューション、またはLinuxベースのOSです。
さて、Linuxには数え切れないほど多くのソフトウェアがあります。 それらをすべて1つのOSパッケージに含めると、OSのサイズが不必要に大きくなり、配布が困難になります。 だから、OSには、必要に応じて簡単にパッケージをインストールできる仕組みが必要なんだ。 そうすれば、ごく一般的なユーティリティを含めて、インストールを小さくすることができるだろう。
次に、追加のパッケージは、Linux ディストリビューションの Web サーバーまたは FTP サーバーでホストされ、ユーザーはそこからダウンロードしてインストールすることができます。 これらのウェブサーバや FTP サーバはパッケージリポジトリと呼ばれます。
また、パッケージリポジトリからパッケージを管理(インストール、削除、ダウンロード)する方法が必要です。 そこで、お気に入りの Linux ディストリビューションには、パッケージマネージャが含まれています。 Ubuntu は Debian GNU/Linux ディストリビューションをベースにしています。 Ubuntuは、APT(Advanced Package Tool)パッケージマネージャを使用して、パッケージを管理しています。 APT パッケージマネージャーとすべてのグラフィカルフロントエンド (Ubuntu Software Center、Muon、aptitude など) は sources.list ファイルを使用して、使用するパッケージリポジトリまたはリポジトリについて学習します。
この記事では、Ubuntu で sources.list ファイルがどのように使用されるかをお見せします。 始めましょう。
APT パッケージマネージャとそのすべてのグラフィカルフロントエンドは、パッケージリポジトリの情報を /etc/apt/sources.list ファイルと /etc/apt/sources.list.d ディレクトリから取得します。
Ubuntu では、異なるパッケージマネージャは /etc/apt/sources.list ファイルを直接編集しています。 そこにカスタムパッケージリポジトリを追加することはお勧めしません。 もし、追加のパッケージリポジトリを追加する必要があるなら、/etc/apt/sources.list.d/ ディレクトリに追加するのが最善でしょう。
sources.list ファイルについて:
/etc/apt/sources.list ファイルの内容は以下のようになります。
ここで、ハッシュ (#) で始まる行はコメントです。 コメントは、このファイルの文書化のために使用されます。 コメントは、ここで特定のパッケージ リポジトリを無効にするためにも使用されます。
例えば、次のようにカスタム パッケージ リポジトリを追加するときにコメントを残します。
deb http://192.168.10.1/nodejs/8.x stretch main
/etc/apt/sources.list ファイルと /etc/apt/sources.list.d/ ディレクトリのファイルでパッケージリポジトリを追加するために使われる各行 (deb で始まる行) を APT 行と呼ぼうと思います。
さて、APT 行がどのようにフォーマットされるかについて説明しましょう。
APT 行は deb で始まり、これはパッケージリポジトリが deb ファイル形式のコンパイル済みバイナリとしてソフトウェアパッケージを配布していることを意味しています。 Ubuntuでは、デフォルトでは、すべてのdeb-srcパッケージリポジトリは無効になっています。 個人的には、使わないので、無効にしておくのが望ましいです。 ソースからのパッケージのインストールには、コンピューターの仕様によって長い時間がかかります。
次に、パッケージ リポジトリの HTTP、HTTPS、または FTP URL があります。 ここには、すべてのパッケージ ファイルとパッケージ データベース ファイルが保管されています。 パッケージ マネージャーは、パッケージのメタデータとその他の情報をダウンロードして、どのパッケージが利用可能で、どこにダウンロードするかを学びます。
それから、Ubuntu オペレーティング システムの短いコードネームを入力する必要があります。 Ubuntuのバージョンごとに異なります。 たとえば、Ubuntu 18.04 LTS では、それは bionic です。
次のコマンドで、あなたのディストリビューションのそれが何かわかります:
そして、そのパッケージリポジトリの異なるセクションのスペース区切りリストが配置されています。 パッケージリポジトリのパッケージは、以下の本記事のマークされたセクションにあるように、論理的に多くのグループに分けられる場合があります。 Ubuntuのパッケージリポジトリは、main、restricted、universe、multiverseのセクションに分けられています。 この例では、bionic パッケージ リポジトリの main および restricted セクションのみを追加しました。
Ubuntu の sources.list ファイルについて知っておくべきことは基本的に以上です。
Ubuntu に自分自身のパッケージ リポジトリを追加する:
Ubuntu に自分自身のパッケージ リポジトリを追加したいとしましょう。 ローカル ネットワーク上でホストされ、http://192.168.10.5/nodejs で利用可能で、NodeJS パッケージ リポジトリのミラーであるとします。
最初に、次のコマンドで /etc/apt/sources.list.d/ ディレクトリに新しいファイル node.list を作成します:
。