web-dev-qa-db-ja.com

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

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を取得できません。何か提案はありますか?

14
u123

更新2016-07-27:wheezy-backportsはGit 1.9.1の 現在利用可能 です。手順は、より新しいバージョンをインストールするか、Jessieに適用されます。


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

  1. パッケージのメンテナにバックポートの準備を依頼してください。動作することは保証されていませんが、一部のメンテナはバックポートの作成に前向きなので、試してみます。

    メンテナのメールは there で見つかります。

  2. ソースから自分で構築します。これは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の実行後にインストールしたものをすべて削除することもできます。)

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

12
kostix

そこにある最新のソースからビルドするように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
emning

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

7
ramsvidor