Skip to content

Linux

Linux パッケージ管理コマンド比較(yum / dnf / apt 等)

Linux でパッケージを管理するには、ディストリビューション毎に以下のコマンドがあります。

系統 ディストリビューション 主なコマンド
RedHat 系 RedHat Enterprise Linux, CentOS, Fedora 等 yum, rpm
Debian 系 Debian, Ubuntu 等 apt-get, apt-cache, dpkg

RedHat 系の yum は Python2.x ベースで書かれているそうです。しかし、今後の Python3 対応を考えると書き直すよりも新たなパッケージマネージャを作った方が良い… という考えで、今後は dnf への移行が決まっているそうです。実際、Fedora 22 からは dnf が採用されています。yum と dnf の違いは man で確認することも出来ます。

1
man yum2dnf

また、Debian 系も apt-get と apt-cache を統合したような apt というツールがリリースされています。

Kickstart による自動インストール用 .iso ファイルを作成するには

Kickstart や Preseed といった方法を使うことで、Linux のインストールを自動化することが出来ます。各々、以下のように利用出来るディストリビューションが異なります。

  • Kickstart
    • RedHat Etnerprise Linux, Fedora, CentOS 等の RedHat 系ディストリビューションのインストールを自動化する手法
  • Preseed
    • Debian や Ubuntu 等の Debian 系ディストリビューションのインストールを自動化する手法

今回は Kickstart 用の .iso ファイルを作成してみます。

sshpass をインストールするには

「パスワード認証での SSH ログインをスクリプトに埋め込み、自動化したい」場合には sshpass が便利です。但し、パスワードをスクリプト等に平文で記載しておくことになりますので利用はセキュリティを考慮する必要の無い、検証環境のみに制限すべきです(検証環境内での利用にも十分な注意が必要です)。今回はこの sshpass コマンドをインストールします。

CentOS 5.5(64bit)に yum で Trac をインストールする

CentOS 5.5 に Trac をインストールしようと思ったのですが、標準のリポジトリにはパッケージが用意されていません。しかし、Dag をリポジトリに追加することにより、Trac を yum でインストールすることが可能となります。今回は CentOS 5.5(64bit)環境で試しましたが、OS バージョンやアーキテクチャは、余り意識しなくても良いように思われます。

hashlib のダウンロード URL

CentOS 5.6 を検証した際、Python のバージョンが 2.4 系だったのですが、あるプログラムを実行させようとすると "hashlib が無い" と怒られてしまいました(※ インストール時のパッケージは Base + Development Tools だけを選択)。追加で hashlib をインストールしたので、hashlib のダウンロード元 URL をメモしておきます。

RHEL6 からはインストール番号が不要

今更、気がついたのですが、RHEL6 からはインストール時の「インストール番号入力」が不要になったそうです。

RHEL 6 Does not require an installation number. Instead, users will be prompted to install any additional product purchased by selecting it during installation.

RHEL のシステムプロファイル登録手順については SIOS さんの Red Hat Enterprise Linux Plus システムプロファイル登録手順(CUI版) に詳しく説明してありますが、基本的にはシェルから "rhn_register" を実行し、後は画面上の指示に従うだけです。

RHEL 6.1 (x86_64) で 32bit バイナリを実行する

昨晩、RHEL 6.1 (x86_64) をダウンロードしたので早速、インストールしてみました。カーネルのバージョンは以下の通りでした。

1
2
$ uname -a
Linux rhel-01.eco.local 2.6.32-131.4.1.el6.x86_64 #1 SMP Fri Jun 10 10:54:26 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

初期環境構築時、あるバイナリが動作せず、よくよく調べてみると 32bit ELF でした...compat-libstdc++ をインストールすると、32bit ELF を動作させることが出来るようです。