Debian 11 (bullseye) - Git インストール(ソースビルド)!
Updated:
Debian GNU/Linux 11 (bullseye) に Git サーバをソースをビルドしてインストールする方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 11.2.0 (bullseye; 64bit) での作業を想定。
- Git 2.33.0 (当記事執筆時点で最新)を Git サーバとしてインストールすることを想定。
- アーカイブ保存先は
/usr/local/src
を想定。 - インストール先は
/usr/local
を想定。 - クライアントからアクセスがあった時だけサーバを起動するために xinetd を使用する。
- ドキュメント(doc, html, info)はインストールしない。
- root ユーザでの作業を想定。
1. 依存パッケージのインストール
# apt -y install xinetd libcurl4-gnutls-dev libexpat1-dev \
gettext libz-dev libssl-dev
2. アーカイブファイルの取得&展開
# cd /usr/local/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.33.0.tar.gz
# tar xvf git-2.33.0.tar.gz
ちなみに、最新版のソースを使用したければ、以下のように取得すればよい。(既インストールの git を使用して)
# git clone https://github.com/git/git
3. ビルド&インストール
# cd git-2.33.0
# make configure
# ./configure --prefix=/usr/local
# make
# make install
4. インストールの確認
# git --version
git version 2.33.0
5. xinetd 設定ファイルの作成
デフォルトでは存在しないので作成する。
File: /etc/xinetd.d/git
service git
{
disable = no
socket_type = stream
wait = no
user = nobody
server = /usr/local/libexec/git-core/git-daemon
server_args = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
log_on_failure += USERID
}
6. Xinetd の再起動
# systemctl restart xinetd
7. リポジトリの作成
作成先は /etc/xinetd.d/git
の --base-path
で指定している /var/lib/git/
とした。(以下は test.git
という Git リポジトリを作成する例)
# cd /var/lib/
# mkdir -p git/public_git
# cd git/public_git
# git --bare init --shared test.git
Initialized empty shared Git repository in /var/lib/git/public_git/test.git/
8. Git 用グループの作成
# groupadd git
9. 権限の変更
リポジトリの所有者・所有グループを変更する。
# chown -R root:git test.git
10. リポジトリのディレクトリを確認
現状のリポジトリ内を確認してみる。
# ls -l
合計 32
-rw-rw-r-- 1 root git 23 10月 2 12:05 HEAD
drwxrwsr-x 2 root git 4096 10月 2 12:05 branches
-rw-rw-r-- 1 root git 126 10月 2 12:05 config
-rw-rw-r-- 1 root git 73 10月 2 12:05 description
drwxrwsr-x 2 root git 4096 10月 2 12:05 hooks
drwxrwsr-x 2 root git 4096 10月 2 12:05 info
drwxrwsr-x 4 root git 4096 10月 2 12:05 objects
drwxrwsr-x 4 root git 4096 10月 2 12:05 refs
11. 動作確認
ここではクライアント側からの操作について説明はしないが、各種作業を行い問題がないことを確認しておく。
(git status
, git add
, git clone
, git push
, git pull
etc.)
12. 参考サイト
以上。
Comments