パッケージ作成情報
slackware-current(x86_64)用のオリジナルパッケージを配布しています。
各パッケージのビルドスクリプトと作成方法も解説します。
最終更新
Slackwareパッケージ作成の概要
Slackwareのパッケージは、tarアーカイブをxzまたはgzipで圧縮した形式(.txz / .tgz)です。
makepkgコマンドで作成し、installpkgでインストールします。
パッケージ作成の基本手順
- 前提: slackware-current (x86_64) 環境、pkgtools(makepkg, installpkg等)がインストール済み。ソースからビルドする場合はインストール時にDシリーズ(開発ツール群)を全てインストールしておくことを推奨します。
- ソース取得: 公式サイトからソースコードをダウンロード
- ビルド:
./configure && makeでコンパイル - 仮インストール:
make install DESTDIR=/tmp/pkgで一時ディレクトリにインストール - slack-descの作成:
/tmp/pkg/install/slack-descを作成します。パッケージの説明を記述する必須ファイルです。installpkgでの表示やpkgtoolでの管理に使用されます。 - doinst.shの作成(必要な場合): インストール後処理(シンボリックリンクの作成やGLib設定の更新など)が必要なパッケージでは
/tmp/pkg/install/doinst.shを作成します。 - パッケージ化:
makepkg -l y -c n /tmp/パッケージ名-バージョン-アーキテクチャ-ビルド番号.txz - 検証:
installpkgでインストールし、動作確認
公式リソース
- Slackware Linux公式サイト
- SlackBuilds.org - コミュニティによるビルドスクリプト集
- Slackware Documentation - Package Management
日本語入力関係
Slackwareで日本語入力を行うためのIME(Input Method Editor)と関連ツールです。
ツール
開発やシステム管理に役立つユーティリティ、および汎用アーカイブツールです。
- Difftastic ... インテリジェントな構文解析してくれるdiff
- cabextract ... Microsoftのcabinetファイルを解凍する
- p7zip ... 7z形式をはじめ、ZIP、RAR、TAR、GZIPなど多数のアーカイブ形式に対応したアーカイブツール
ライブラリ
他のアプリケーションが依存する共有ライブラリです。
Wine関連ツール
Linux上でWindowsアプリケーションを実行するための互換レイヤーと関連ツールです。
- Wine ... LinuxでWindowsアプリケーションを実行する
- Winetricks ... Wineの設定やライブラリのダウンロードなどのユーティリティツール
よくある質問(FAQ)
- Q1. Slackwareのパッケージ形式は何ですか?
-
A. Slackwareのパッケージは
.txz(tar + xz圧縮)形式です。
makepkgコマンドで作成します。 - Q2. パッケージのインストール・アンインストール方法は?
-
A.
installpkg パッケージ名.txzでインストール、removepkg パッケージ名でアンインストール、upgradepkg パッケージ名.txzでアップグレードします。 - Q3. SlackBuildsとは何ですか?
-
A. SlackBuilds.orgは、Slackware用のビルドスクリプト(.SlackBuild)を集めたコミュニティプロジェクトです。
公式リポジトリにないソフトウェアのパッケージ作成に利用できます。 - Q4. このページのパッケージの対象環境は?
- A. slackware-current(x86_64アーキテクチャ)を対象としています。
- Q5. パッケージ作成に必要なツールは?
-
A. 基本的には
makepkgコマンド(pkgtoolsに含まれる)があれば作成できます。
ソースからビルドする場合は gcc、make、autoconf 等が必要なため、インストール時にDシリーズ(開発ツール群)を全てインストールしておくことをお勧めします。 - Q6. 依存関係はどう管理しますか?
-
A. Slackwareは依存関係を自動解決しません。
各パッケージページに記載の依存パッケージを事前にインストールしてください。
SlackBuilds.orgでは依存関係情報が提供されています。
また、SlackBuildsを効率的に扱うフロントエンドツールとして sbopkg や sbotools を使うと、依存関係の解決やビルドの管理が楽になります。 - Q7. パッケージのバージョンが古い場合は?
-
A. 各パッケージページのビルドスクリプトを参考に、最新ソースで再ビルドしてください。
バージョン番号とダウンロードURLを更新するだけで対応できる場合が多いです。 - Q8. わざわざ自分で依存関係を調べて、手間を掛けてパッケージを作るのは面倒では?
-
A. 確かに手間はかかります。
しかし、最初から自動化された仕組みに頼ってパッケージを使い続けると、その裏側にある仕組みを学ぶ機会を失います。
パッケージを自分で手動で何度も、いくつもの種類を作ってみることで、ソフトウェアの依存関係やビルドの仕組みが、頭で理解するだけでなくからだに染み込むように習得できます。
ある程度慣れてきたら、繰り返し行う作業についてはビルドスクリプトを自分で作成すると良いでしょう。
手順を自動化できるようになった時点で、その作業を本当に理解しているという証でもあります。
使い込んでいくうちに、むしろ他のディストリビューションのパッケージ管理システムに縛られる方が窮屈に感じるようになるエンジニアは少なくありません。
それはちょうど、Lispを覚えた後に他の言語の制約が気になり始めるのと似たような感覚です。
もちろん、手軽さを優先したい場合は、よりパッケージ管理が充実した他のディストリビューションを選ぶのも賢い判断です。