Debian 7で最新のgitにアップグレードする方法は?


14

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を入手できません、提案はありますか?


1
ソースからコンパイルしないのはなぜですか(INSTALLドキュメントには、初めて使用する場合に役立つものがあります)。
オタクウォーラー

ランチパッドのソースが壊れている場合、取得したWebサイトのアーカイブを直接ダウンロードします。
ラムハウンド

2
本当に必要ですか?ほとんどの場合、新しいバージョンをインストールしても問題はありません。新しいバージョンに必要な特定の機能はありますか?どのバージョンがあり、どのバージョンをインストールしますか?とにかく、DebianPPAを使用することはできません。それらはUbuntuのものです。
テルドン

回答:


12

2016年7月27日更新: Git 1.9.1でwheezy-backportsが利用可能になりました。手順は、最新バージョンのインストールまたはJessieの場合にも適用されます。


バックポートパッケージの新しいバージョンが利用できない場合、2つのオプションがあります。

  1. パッケージメンテナにバックポートの準備を依頼してください。動作が保証されているわけではありませんが、バックポートを作成することに積極的なメンテナーもいるため、試してみます。

    メンテナの電子メールはそこにあります。

  2. ソースから自分でビルドします。これには2つの方法があります。

    • ソースtarballから「現状のまま」ビルドします。あなたはこのルートを選択する必要があり、必ずインストールするには、Gitリポジトリのビルドシステムを構成するすべてのものを~/gitか、/opt/gitまたはこのようなものがそうでなければ、後であなたは偉大なPITAは、インストール何を削除する必要があります。

      問題は、ファイルシステム全体にソフトウェアを配布することでソフトウェアをインストールする従来のUnixの方法は賢明ですが、どのファイルがどのパッケージに属し、その逆、およびDebianのようなパッケージングシステムを「知る」何らかのレジストリがある場合のみですまさにこれをしてください。ソースからビルドされたパッケージの「通常の」インストールを行う場合、ほとんどの場合、このソフトウェアを後でアンインストールする方法はありません(使用するcheckinstall代わりにmake install、しかしこれは本当に最後の手段です)。逆に、すべてを単一のディレクトリにインストールするようにソースパッケージを設定すると、ソフトウェアを実行するのに多少の困難が生じます(その「バイナリ」ディレクトリはにありません$PATH)。後でアンインストールするのは簡単です。シングルrm -rf /path/to/that/dir

    • 自分自身をバックポートしてください。これはより複雑ですが、単純なケースではうまくいくかもしれませんので、試してみる価値があります。

      基本的には次のようになり.dscます(ファイルへのリンクは、不安定版パッケージのページから取得されます)。

      # 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ビルドされたcrudを取り除くために実行するか、単にgitディレクトリを完全に削除しますdpkg-checkbuilddep。実行後にインストールしたものをすべて削除することもできます。)

      残念ながら、何らかの理由でビルドが失敗した場合、修正を試みるには特定の知識が必要ですが、これはこの議論の範囲外です。


@Dereckson、編集の提案に感謝します-感謝します!しかし、なぜdget必要ないのか詳しく説明できますか?その全体のポイントは、ソースパッケージを構成するすべてのファイルを提供して、実際に解凍、調整、およびビルドするものがあることです。単一の.dscファイルのみを取得すると、それだけで実行できますが、ソースとdebianization tarballは失われます。
kostix

ああ、私のせい。git_2.1.4-2.1.dscファイルのみが後で引数として明示的に使用されるため、コマンドのシーケンスは私をだましました。dpkg-sourceはソースを取得したと思っていましたが、実際にはパッケージファイルが物理的にそこにある必要があります。
デレクソン

7

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

7

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ファイルを使用することを好みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.