Linuxを日常的に使う実験ブログ

Slackware 14.1を使ってみた

 2015-02-01

 Slackware

こんにちは。今回のテーマは『Slackware 14.1を使ってみた』です。Slackwareといえば、ディストリビューションとしては最古参クラスであり難易度の高いディストロとして知られています。システムの設定はファイルの手動修正、パッケージ管理もマニュアルというまさにLinux界のシーラカンス(褒めてますよ)を使ってみました。 [adsense02] 【目次】 インストールは思ったほど難しくない 日本語環境も少しの設定で使えるようになる 日本語入力も初期状態から使える 公式リポジトリにあるパッケージは少ない パッケージ管理をめぐる環境は複雑な状態 ビルド用スクリプトのリポジトリも存在する

インストールは思ったほど難しくない

Gentoo LinuxやArch Linuxのインストールに比較すると親切なインストーラーが用意されています。コマンド操作はパーティション作成ぐらいで、後は対話式のインストーラーの質問に答えていけば終わります。インストールだけの話であればGentooの方が手動調整が多いと思います。 一方で、インストーラーの指示に素直に従うと痛い目を見ます。インストーラーが「インストールが完了したのでディスクを抜いて再起動して」と言っても真に受けずに、カーネルのリビルドやブートローダー周辺は自分できっちり設定しないと動かない場合があります。 画像はインストール画面:対話式UIでインストール可能 04

日本語環境も少しの設定で使えるようになる

次に日本語環境の話に移りますが、これに関してはほとんど問題を感じていません。もちろんUbuntuやFedoraのようにインストール時から日本語が使えたり、設定に反映されるような親切さはありませんが、Arch LinuxやGentoo Linuxの経験があるユーザーならば環境変数を少し変更するだけで日本語環境が出来上がります。日本語のフォントも予め入っていて、この点に関してはArchやGentooよりも親切です。 画像は筆者デスクトップ 01

日本語入力も初期状態から使える

日本語入力としてはscimが入っていてAnthy他の日本語入力が使用可能です。これらもフルインストールをすれば自動で入っているので、環境変数を設定するだけでX環境ですぐに使えます。英語しか入力できない状態で調べ物をするという事態に陥らずに済むと思います。 02

公式リポジトリにあるパッケージは少ない

最近の新しいディストリビューション、特にDebian系のディストロに慣れている人は公式リポジトリのパッケージが少ないことに驚くと思います。Slackwareは最小限のバイナリパッケージを提供し、その他はソースからビルドするか他のディストロのパッケージを変換して使うことになります。

パッケージ管理をめぐる環境は複雑な状態

パッケージの管理方針は非常にシンプルなSlackwareですが、それ故に様々なツールやリポジトリがユーザーサイドから提案されており、UbuntuやFedoraで現代的なパッケージ管理に慣れていると分かりづらいかも知れません。

パッケージ管理の基本はマニュアル

Slackwareの基本方針によりユーザーは自分のシステムで使用するパッケージの管理は自分で行う必要があります。公式パッケージはバイナリファイルをtarballにまとめたtgzやtxz形式で配布されますが、依存性の解決はマニュアルでする必要があります。また、公式にないパッケージはソースからビルドして使うのが基本です。 とはいえ、長い歴史のなかでユーザーによって便利なツールや半公式なリポジトリも出てきて、他のディストロに比べるとパッケージ管理の全容が掴みづらくなっています。以下ではツールやリポジトリを紹介しながらSlackwareのパッケージ管理をめぐる現状を見て行きたいと思います。

公式パッケージのローカル管理

Slackwareのパッケージはバイナリファイルをtarballにまとめただけのtgzやtxzファイルです。これらをpkgtoolと呼ばれるパッケージ郡を使ってインストールやアップデート、削除が出来ます。 ツール名:pkgtool 由緒正しき公式パッケージ管理ツールです。installpkg,removepkg,upgradepkgから構成されています。ローカルパッケージしか扱えません。 画像はpkgtoolの対話画面 03

オンラインリポジトリと接続する公式ツール

公式リポジトリのパッケージを管理するには便利なツールもあります。pkgtoolがローカルリポジトリのみを対象とするのに対してslackpkgはオンラインリポジトリも対象とします。 ツール名:slackpkg 標準ではインストールされていないので公式パッケージから取得する必要があります。オンラインリポジトリとローカルをシームレスにつなぎます。

依存性解決を行うパッケージ管理ツール

APTやYUMのようなツールもサードパーティ製ですが存在します。このようなツールを使うと「パッケージの管理をユーザーが行う」というSlackwareの方針からは外れますが、便利なツールです。特にslapt-getは名前の通りAPTシステムを目標としています。 ツール名:slapt-get APTシステムを模倣するツールです。オンラインリポジトリからのパッケージ取得とインストールをシームレスに行います。

ビルド用スクリプトのリポジトリも存在する

ソースからビルド、パッケージ作成までを記述したスクリプトによるビルドシステムも存在します。このシステムは公式にサポートされているわけではありませんが、SlackBuilds.orgでは多くのパッケージが扱われており半公式なオンラインリポジトリと化しています。言わばArchユーザーにとってのAUR(Arch Users Repository)のような存在となると思います。GentooのebuildやArchのpkgbuildスクリプトに相当するのがSlackBuildスクリプトです。

SlackBuildによるビルドをシームレスにするツール

ブラウザを使わずにSlackBuild.orgからSlackBuildスクリプトを取得しインストールまでを行うツールがあります。Arch LinuxだとAURヘルパーのような存在です。 ツール名:sbopkg SlackBuildスクリプトを元にパッケージのビルドを自動化するツールであり、ビルドに必要なライブラリ等もSlackBuild.orgから取得する。

最後に

散発的な内容になりましたが、「Slackwareってどんなディストロなの?」というところが少しでも伝わればと思い書きました。他のメジャーなディストロと比べて大きく違うのはやはりパッケージ関連の部分だと思います。SlackwareのシンプルさとArch Linuxのシンプルさはまた違うと感じました。ある程度経験のあるLinuxユーザー向けだという点は頷けますが、必要以上に恐れることは無いと思います。 [adsense]