目次
文書の過去の版を表示しています。
Samba AD DCパッケージの再構築
rpmbuild 環境を整える
Fedora 16 - 20
$ sudo yum install @development-tools $ sudo yum install fedora-packager
CentOS 7
$ sudo yum groupinstall "Development Tools" $ sudo yum install fedora-packager
※インストール可能なグループ一覧を取得するには、 bash -c 'LANG=C;yum grouplist' を実行する。
rpmbuild を行うためのディレクトリ構造を作成
必ず root 以外で作業すること。
$ rpmdev-setuptree
ホームディレクトリに以下の構造が作成される。
rpmbuild +-- BUILD +-- BUILDROOT +-- RPMS +-- SOURCES +-- SPECS +-- SRPMS
ソースパッケージのダウンロード
Fedora 20
$ yumdownloader --source samba
直接最新をダウンロードする場合
$ curl -O https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/s/samba-4.1.1-2.fc21.src.rpm
※fc22用はlibldb-devel-1.1.17を要求するので、Fedora20ではビルドできない。
$ curl -O https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/s/samba-4.1.11-1.fc22.2.src.rpm
ソースパッケージのインストール
$ rpm -ivh samba-4.1.17-1.fc20.src.rpm
specファイルを修正してSamba AD DCを有効化
$ cp ~/rpmbuild/SPECS/samba.spec ~/rpmbuild/SPECS/samba.spec.org $ vi rpmbuild/SPECS/samba.spec
変更箇所 | 変更前 | 変更後 | 備考 |
---|---|---|---|
46行目付近 | %global with_mitkrb5 1 %global with_dc 0 | %global with_mitkrb5 0 %global with_dc 1 | MIT Kerberos 5を無効にしてheimdal kerberosを組み込む。 Samba AD DCの機能を有効化する。 |
66行目付近 | Release: %{samba_release} | Release: %{samba_release}.mgc | 本家のパッケージ名と衝突しないようにする。 samba-4.1.1-2.fc19.mgc.x86_64.rpmにする。 |
その他changelogの曜日を修正。
$ diff ~/rpmbuild/SPECS/samba.spec.org ~/rpmbuild/SPECS/samba.spec 46,47c46,47 < %global with_mitkrb5 1 < %global with_dc 0 --- > %global with_mitkrb5 0 > %global with_dc 1 66c66 < Release: %{samba_release} --- > Release: %{samba_release}.mgc
ビルドに必要なパッケージのインストール
sudo yum-builddep ~/rpmbuild/SPECS/samba.spec
RPMパッケージの再構築
$ rpmbuild -ba rpmbuild/SPECS/samba.spec
野良リポジトリに野良パッケージをコピー
野良リポジトリの構築方法はyumプライベートリポジトリの構築を参照のこと。
Webサーバーで公開用ディレクトリを作成
$ sudo mkdir -p /usr/share/nginx/html/pub/fedora/20/x86_64/ $ sudo mkdir -p /usr/share/nginx/html/pub/fedora/20/SRPMS/
パッケージの配置
$ scp -P 22 ~/rpmbuild/RPMS/x86_64/* tomoyan@tomoyan.net:/usr/share/nginx/html/pub/fedora/20/x86_64/ $ scp -P 22 ~/rpmbuild/SRPMS/* tomoyan@tomoyan.net:/usr/share/nginx/html/pub/fedora/20/SRPMS/
Webサーバーでリポジトリデータの作成
$ sudo createrepo -v /usr/share/nginx/html/pub/fedora/19/x86_64/ $ sudo createrepo -v /usr/share/nginx/html/pub/fedora/19/SRPMS/
野良リポジトリからのインストール
野良リポジトリの設定
インストール先のマシンに野良リポジトリの設定を行う。
$ sudo vi /etc/yum.repos.d/mgc.repo
[mgc] name=Fedora $releasever - $basearch Monster's Garage Repository failovermethod=priority baseurl=http://monsters-g.com/pub/fedora/$releasever/$basearch/ enabled=0 gpgcheck=0 priority=1 [mgc-source] name=Fedora $releasever - $basearch Monster's Garage Source Repository failovermethod=priority baseurl=http://monsters-g.com/pub/fedora/$releasever/SRPMS/ enabled=0 gpgcheck=0 priority=1
野良リポジトリからのインストール
野良リポジトリを有効にしてyumを実行する。
$ sudo yum install samba samba-dc samba-pidl samba-client \ samba-winbind samba-winbind-clients samba-winbind-krb5-locator \ --enablerepo=mgc
mgc | 2.9 kB 00:00:00 mgc/19/x86_64/primary_db | 52 kB 00:00:00 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ samba.x86_64 2:4.0.9-1.fc19.mgc を インストール ... 依存性を解決しました ====================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ====================================================================================================== インストール中: samba x86_64 2:4.0.9-1.fc19.mgc mgc 529 k samba-client x86_64 2:4.0.9-1.fc19.mgc mgc 453 k samba-dc x86_64 2:4.0.9-1.fc19.mgc mgc 754 k samba-pidl x86_64 2:4.0.9-1.fc19.mgc mgc 150 k samba-winbind x86_64 2:4.0.9-1.fc19.mgc mgc 434 k samba-winbind-clients x86_64 2:4.0.9-1.fc19.mgc mgc 140 k samba-winbind-krb5-locator x86_64 2:4.0.9-1.fc19.mgc mgc 61 k 依存性関連でのインストールをします: iniparser x86_64 3.1-2.fc19 fedora 13 k libsmbclient x86_64 2:4.0.9-1.fc19.mgc mgc 109 k libwbclient x86_64 2:4.0.9-1.fc19.mgc mgc 77 k perl x86_64 4:5.16.3-265.fc19 updates 8.3 M perl-Carp noarch 1.26-243.fc19 fedora 19 k perl-Encode x86_64 2.54-1.fc19 updates 1.5 M perl-Filter x86_64 1.49-1.fc19 fedora 76 k perl-Parse-Yapp noarch 1.05-50.fc19 fedora 47 k perl-PathTools x86_64 3.40-3.fc19 updates 82 k perl-Pod-Escapes noarch 1:1.04-265.fc19 updates 47 k perl-Pod-Simple noarch 1:3.20-265.fc19 updates 236 k perl-Scalar-List-Utils x86_64 1.27-246.fc19 fedora 36 k perl-Socket x86_64 2.009-2.fc19 fedora 48 k perl-libs x86_64 4:5.16.3-265.fc19 updates 668 k perl-macros x86_64 4:5.16.3-265.fc19 updates 40 k perl-threads x86_64 1.87-1.fc19 fedora 49 k perl-threads-shared x86_64 1.43-2.fc19 fedora 38 k samba-common x86_64 2:4.0.9-1.fc19.mgc mgc 694 k samba-dc-libs x86_64 2:4.0.9-1.fc19.mgc mgc 776 k samba-libs x86_64 2:4.0.9-1.fc19.mgc mgc 4.8 M samba-python x86_64 2:4.0.9-1.fc19.mgc mgc 1.9 M トランザクションの要約 ====================================================================================================== インストール 7 パッケージ (+21 個の依存関係のパッケージ) 総ダウンロード容量: 22 M インストール容量: 83 M Is this ok [y/d/N]: y <-- 野良と依存パッケージを確認してyを入力。
Sambaのインストール確認
$ samba -V Version 4.0.9 $ samba-tool -V 4.0.9 $ smbclient -V Version 4.0.9