Samba 4.11.1 がリリースされていましたので、改めて Amazon Linux2 へ Samba 4.11.1 をソースコードからインストールする手順をメモしておきます。 Samba 4.11.0 では Python2 のサポートが無くなる等、幾つか大きな変更がありました。 Samba 4.11.0 → 4.11.1 は Bug Fix のみであり、新機能の追加/機能の削除等は無いようです。
ゴール
今回は最終的に以下の環境を構築します。
- Amazon Linux release 2 (Karoo)
- Python 3.7.4
- Samba 4.11.1
EPEL の有効化
Samba をインストールする事前準備として、前提となるパッケージをインストールします。 EPEL (Extra Packages for Enterprise Linux) からパッケージをインストールすることになりますが、AmazonLinux2 なので amazon-linux-extras を使って EPEL リポジトリをインストールします。
yes | amazon-linux-extras install epel
必要パッケージのインストール
必要なパッケージをインストールしていきます。 Amazon Linux2 は初期状態で Python2 がインストールされています。 しかし、Samba 4.11 のリリースノート の REMOVED FEATURES 欄によると 4.11 からは Python2 サポートが無くなったようです。
Samba 4.11 will not have any runtime support for Python 2.
If you are building Samba using the '--disable-python' option (i.e. you're excluding all the run-time Python support), then this will continue to work on a system that supports either python2 or python3.
その為、python3-devel
をインストールし、Python3 が利用出来るようにします。
yum -y install \
docbook-style-xsl \
gcc \
gdb \
gnutls-devel \
gpgme-devel \
jansson-devel \
keyutils-libs-devel \
krb5-workstation \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libtasn1 \
libtasn1-tools \
libxml2-devel \
libxslt \
lmdb-devel \
openldap-devel \
perl \
perl-ExtUtils-MakeMaker \
perl-Parse-Yapp \
popt-devel \
python3-devel \
readline-devel \
systemd-devel \
tar \
zlib-devel
追加で pam-devel
もインストールします。 先にインストールしたパッケージ群と同時に pam-devel
をインストールしようとすると上手くいかない (pam-devel
がインストールされない) 為、pam-devel
は別にインストールします。
yum -y install pam-devel
Samba をソースコードからインストールする
現時点ではリポジトリからインストール出来るのは 4.8.3 とバージョンがやや古く、少なくても 2 カ月以上アップデートされていません。 しかも、この 4.8.3 のパッケージには Samba をドメインコントローラとして構築する際には多用することになる samba-tool がなぜかインストールされません。 この件についてはネット上でも How to install samba-tool on Amazon Linux と質問されている方がおり、現時点では回答されていません。
# yum info samba
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
187 packages excluded due to repository priority protections
Available Packages
Name : samba
Arch : x86_64
Version : 4.8.3
Release : 4.amzn2.0.1
Size : 682 k
Repo : amzn2-core/2/x86_64
Summary : Server and Client software to interoperate with Windows machines
URL : http://www.samba.org/
License : GPLv3+ and LGPLv3+
Description : Samba is the standard Windows interoperability suite of programs for Linux and
: Unix.
その為、今回はソースコードから Samba をインストールしていきます。 Samba 4.10 系までは PYTHON=python2
を指定することで Python2 で Samba をビルド出来たのですが、Samba 4.11 系からは Python2 系がサポートされなくなりました。 しかし、今回は Python3 をインストールしてあるので、Python バージョンを指定せず、そのまま ./configure; make; make install
します。
mkdir -p /usr/local/src/samba/
cd /usr/local/src/samba/
wget https://download.samba.org/pub/samba/samba-latest.tar.gz
tar zxvf samba-latest.tar.gz
cd samba-4.11.1/
./configure
make
make install
パスを追加する
ソースコードから Samba をインストールした場合、パスを指定しない限り実行ファイルは /usr/local/samba/bin
配下にインストールされます。 標準でここにはパスが通っていない為、利便性を考えてパスを通しておきます。 今回は root ユーザで操作することだけを想定し、/root/.bash_profile
にパスを追加しました。
echo "export PATH=\"/usr/local/samba/bin:/usr/local/samba/sbin:${PATH}\"" >> ~/.bash_profile
パス追加後は source ~/.bash_profile
するか、または SSH アクセスをログアウト / ログインし直してパス追加を反映します。 これで Samba 4.11.1 のインストールは完了です。 以降は必要に応じてドメインの設定等を実施していきます。
コメント