Saya telah menginstal git melalui apt-get on debian 7 yang memberi saya:
# git --version
git version 1.7.10.4
Saya ingin ugrade ke git versi terbaru. Saya telah mencoba:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Tapi itu memberikan kesalahan berikut:
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
Saya juga mencoba mengikuti panduan ini:
http://backports.debian.org/Instructions/
tapi saya masih tidak bisa mendapatkan git terbaru, ada saran?
Jawaban:
Diperbarui 2016-07-27: wheezy -backports sekarang tersedia untuk Git 1.9.1. Instruksi masih berlaku untuk menginstal versi yang lebih baru atau untuk Jessie.
Ketika versi yang lebih baru dari paket backport tidak tersedia, Anda memiliki dua opsi:
Minta pengelola paket untuk menyiapkan backport. Ini tidak dijamin berhasil, tetapi beberapa pengelola positif membuat backport, jadi saya coba saja.
Email pengelola dapat ditemukan di sana .
Bangun sendiri dari sumbernya. Ini bisa dilakukan dengan dua cara:
Bangun "apa adanya" dari tarball sumber. Jika Anda memilih rute ini, pastikan untuk mengkonfigurasi sistem build Git untuk menginstal semuanya di bawah
~/git
atau/opt/git
atau sesuatu seperti ini jika tidak nanti Anda akan memiliki PITA yang bagus menghapus apa yang Anda instal.Masalahnya adalah bahwa cara Unix konvensional menginstal perangkat lunak dengan menyebarkannya di seluruh sistem file masuk akal tetapi hanya ketika Anda memiliki semacam registri yang "tahu" file mana milik paket dan sebaliknya, dan sistem pengemasan seperti Debian's lakukan persis ini. Jika Anda melakukan "normal" install dari paket yang dibangun dari sumber, Anda dalam kebanyakan kasus tidak akan memiliki cara untuk uninstall software ini kemudian (singkat menggunakan
checkinstall
bukanmake install
, tapi ini benar-benar adalah pilihan terakhir). Sebaliknya, jika Anda mengonfigurasi paket sumber untuk menginstal semuanya di bawah satu direktori, Anda akan mengalami sedikit kesulitan menjalankan perangkat lunak (direktori "biner" tidak akan ada di Anda$PATH
), sebagai gantinya menguninstall itu nanti akan menjadi no-brainer - saturm -rf /path/to/that/dir
.Lakukan backport sendiri. Ini lebih terlibat tetapi dalam kasus-kasus sederhana ini mungkin hanya berfungsi sehingga IMO layak untuk dicoba.
Pada dasarnya Anda pergi seperti ini (tautan ke
.dsc
file diambil dari halaman paket tidak stabil ):Periksa apakah semua dependensi build Anda puas dengan menjalankan:
Dan instal semua yang dikatakan alat saat ini tidak ada. Terkadang sebuah paket mungkin merujuk ke versi sesuatu yang terlalu segar untuk tersedia di distro yang Anda backport; dalam hal ini tidak apa-apa untuk mencoba menipu dan memperbaiki versi paket seperti itu di
debian/control
file.Sekarang perbaiki versi paket yang akan dibangun. Cara terbaik untuk mencapai ini adalah memiliki alat melakukan hal yang benar:
Ini akan menambah entri ke
debian/changelog
file dan membuka editor teks pilihan Anda untuk mengawasinya. Tutup saja editor - versi untuk paket yang akan dibuat diambil dari entri teratas dalam file ini.Sekarang mari kita benar-benar berusaha membangun:
Jika Anda beruntung, pada titik ini Anda akan memiliki banyak
.deb
paket Git mengkilap..
, yang dapat Anda instal menggunakandpkg -i <packagename> ...
.(Jalankan
debuild clean
untuk menyingkirkan crud yang dibangun atau hanya menghapusgit
direktori sepenuhnya. Anda mungkin juga ingin menghapus apa pun yang Anda instal setelah menjalankandpkg-checkbuilddep
.)Sayangnya, jika bangunan gagal karena suatu alasan, dibutuhkan pengetahuan tertentu untuk berusaha memperbaikinya tetapi ini di luar cakupan diskusi ini.
sumber
dget
tidak dibutuhkan? Intinya adalah untuk membawa Anda semua file yang merupakan paket sumber sehingga Anda benar-benar memiliki sesuatu untuk membongkar, mengubah dan membangun. Hanya mengambil.dsc
file tunggal akan melakukan hal itu tetapi tarball sumber dan debianisasi akan hilang.Anda masih dapat menggunakan Git PPA untuk Ubuntu Precise dengan meminta apt untuk membangun dari sumber terbaru yang ditemukan di sana. Distribusi cukup mirip sehingga ini akan berfungsi dengan baik.
Saya menggunakannya dengan sukses pada Raspbian (yang didasarkan pada wheezy) untuk mendapatkan paket untuk armhf, tetapi seharusnya bisa digunakan untuk arsitektur apa pun.
Pertama-tama tambahkan kunci GPG untuk PPA:
Tambahkan URL untuk paket sumber ke apt:
Perbarui apt:
Instal dependensi build:
Unduh dan bangun git dari sumber. Anda mungkin ingin melakukan ini sebagai direktori sementara, karena proses build membuat sedikit kesalahan:
Instal paket yang baru saja Anda bangun dan bersihkan (git-core tidak lagi diperlukan):
sumber
Jika Anda ingin memutakhirkan paket tertentu di Debian 7 (Wheezy), Anda memiliki opsi untuk menggunakan backports dengan hanya menambahkan ke /etc/apt/sources.list baris berikut:
Kemudian, untuk menginstal / memutakhirkan git , jalankan perintah:
Anda juga dapat mengonfigurasi backports dalam file terpisah di /etc/apt/sources.list.d/. Saya khususnya lebih suka menggunakan file /etc/apt/sources.list.d/backports.list .
sumber