Debian 7にapt-getを介してgitをインストールしました。
# git --version
git version 1.7.10.4
最新バージョンのgitにアップグレードしたいのですが。私が試してみました:
Sudo apt-get install python-software-properties
Sudo add-apt-repository ppa:git-core/ppa
Sudo apt-get update
Sudo apt-get install git
ただし、次のエラーが発生します。
Fetched 6,944 B in 0s (10.1 kB/s)
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/source/Sources 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/binary-AMD64/Packages 404 Not Found
私はこのガイドにも従おうとしました:
http://backports.debian.org/Instructions/
しかし、まだ最新のgitを取得できません。何か提案はありますか?
更新2016-07-27:wheezy-backportsはGit 1.9.1の 現在利用可能 です。手順は、より新しいバージョンをインストールするか、Jessieに適用されます。
バックポートパッケージの新しいバージョンが利用できない場合、2つのオプションがあります。
パッケージのメンテナにバックポートの準備を依頼してください。動作することは保証されていませんが、一部のメンテナはバックポートの作成に前向きなので、試してみます。
メンテナのメールは there で見つかります。
ソースから自分で構築します。これは2つの方法で行うことができます。
ソースtarballから「そのまま」ビルドします。このルートを選択した場合、-必ずインストールするようにGitのビルドシステムを構成しますeverything~/git
または/opt/git
またはこのような何かの下に、そうでなければ後で素晴らしいPITAが削除されます。あなたがインストールしました。
問題は、ファイルシステム全体にソフトウェアをインストールすることでソフトウェアをインストールする従来のUnixの方法が賢明であるということですが、どのファイルがどのパッケージに属しているかを知っている何らかのレジストリがあり、その逆の場合、およびDebianなどのパッケージシステムまさにこれをしなさい。ソースからビルドされたパッケージの「通常の」インストールを行う場合、ほとんどの場合、このソフトウェアを後でアンインストールする方法はありません(make install
の代わりに checkinstall
を使用する以外) 、しかしこれは本当に最後の手段です)。逆に、すべてを単一のディレクトリにインストールするようにソースパッケージを構成すると、ソフトウェアの実行に若干の問題が発生します(その「バイナリ」ディレクトリは$PATH
にありません)。代わりに、後でアンインストールするのは簡単です。 —単一のrm -rf /path/to/that/dir
。
自分でバックポートしてください。これはより複雑ですが、単純なケースではうまく機能する可能性があるため、IMOを試す価値があります。
基本的には次のようになります(.dsc
ファイルへのリンクは nstableのパッケージのページ から取得されます):
# apt-get install devscripts
$ mkdir ~/devel && cd $_
$ dget http://ftp.de.debian.org/debian/pool/main/g/git/git_2.1.4-2.1.dsc
$ dpkg-source -x git_2.1.4-2.1.dsc
$ cd git
次のコマンドを実行して、ビルドの依存関係がすべて満たされているかどうかを確認します。
$ dpkg-checkbuilddeps
そして、ツールが現在欠落していると言うすべてをインストールします。時には、パッケージが、バックポートしているディストリビューションで使用するには新鮮すぎるバージョンを参照している場合があります。この場合、debian/control
ファイル内のそのようなパッケージのバージョンをだまして修正しようとするのは問題ありません。
ビルドされるパッケージのバージョンを修正します。これを実現する最良の方法は、ツールに正しいことを実行させることです。
$ dch --bpo
debian/changelog
ファイルにエントリを追加し、選択したテキストエディターを開いて監視します。エディターを閉じるだけです。ビルドするパッケージのバージョンは、このファイルの一番上のエントリから取得されます。
それでは実際にビルドしてみましょう:
$ dpkg-buildpackage -uc -us -b
運が良ければ、この時点で.deb
に多数の光沢のある新しいGit ..
パッケージがあります。これらはdpkg -i <packagename> ...
を使用してインストールできます。
(debuild clean
を実行して、ビルドされたクラッドを取り除くか、git
ディレクトリを完全に削除します。dpkg-checkbuilddep
の実行後にインストールしたものをすべて削除することもできます。)
残念ながら、何らかの理由でビルドが失敗した場合、修正を試みるにはある程度の知識が必要ですが、これはこの説明の範囲外です。
そこにある最新のソースからビルドするようにaptに指示することで、Ubuntu PreciseのGit PPAを引き続き使用できます。ディストリビューションは十分に似ているので、これで問題なく動作します。
Raspbian(wheezyに基づく)でそれを使用してarmhfのパッケージを取得しましたが、どのアーキテクチャでも機能するはずです。
まず、PPAのGPGキーを追加します。
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E1DF1F24
ソースパッケージのURLをaptに追加します。
cat > /etc/apt/sources.list.d/git.list << EOF
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main
EOF
Aptを更新します。
apt-get update
ビルドの依存関係をインストールします。
apt-get build-dep git
ソースからgitをダウンロードしてビルドします。ビルドプロセスが少し残酷なものを作成するので、これを一時ディレクトリにすることもできます。
apt-get -b source git
ビルドしたパッケージをインストールしてクリーンアップします(git-coreは不要です):
dpkg -i git_*.deb git-man_*.deb
dpkg -P git-core
Debian 7(Wheezy)の特定のパッケージをアップグレードする場合は、/ etc/apt/sources.listに次の行を追加するだけで、バックポートを使用できます。
deb http://cloudfront.debian.net/debian wheezy-backports main
deb-src http://cloudfront.debian.net/debian wheezy-backports main
次に、インストール/アップグレードgitの場合、次のコマンドを実行します。
$ aptitude update
$ aptitude -t wheezy-backports install git
/etc/apt/sources.list.d/の別のファイルでバックポートを設定することもできます。私は特に/ etc/apt/sources.list.d/backports.listファイルを使用することを好みます。