Yanlışlıkla Sürüm Öncesi güncellemeleri (natty-recommended) deposunu etkinleştirdim ve ardından tüm paketleri yükselttim.
Bunu nasıl geri alabilirim?
İşte test sonuçları elde @ enzotib talimatlarına ve test sonuçları elde benim talimatlar .
Yanlışlıkla Sürüm Öncesi güncellemeleri (natty-recommended) deposunu etkinleştirdim ve ardından tüm paketleri yükselttim.
Bunu nasıl geri alabilirim?
İşte test sonuçları elde @ enzotib talimatlarına ve test sonuçları elde benim talimatlar .
Yanıtlar:
Burada yerel olarak kurulu paketlerden geri dönmenin, önerilen ve paketleri kararlı + güncelleme kanalına geri götürmenin daha genel bir yolu var. Diğer cevaplar doğru olsa ve benzer şekilde çalışsa da, bunun daha şık bir yaklaşım olduğunu düşünüyorum.
-proposed
ya -backports
da içinde /etc/apt/sources.list
ve /etc/apt/sources.list.d/*
dosyalar.Bir apt-Preferences dosyası ekleyin, örneğin /etc/apt/preferences.d/99-back-to-stable-updates
içeren ( precise
burada ( sürümünüzle değiştirin):
Package: *
Pin: release a=precise
Pin-Priority: 1001
Package: *
Pin: release a=precise-updates
Pin-Priority: 1001
Package: *
Pin: release a=precise-security
Pin-Priority: 1001
Package: *
Pin: release a=precise-proposed
Pin-Priority: -10
Package: *
Pin: release a=precise-backports
Pin-Priority: -10
> 1000'in bu sabitlenmesi, o kanaldan gelen paketlerde indirgemeyi zorlar -proposed
ve -backports
kanallardaki <0 önceliği de ek paketleri kaldırır.
Şimdi koş
sudo apt-get update
sudo apt-get dist-upgrade
Önerilen çözümü size uygun olanı inceleyin ve uygun olduğunu düşünüyorsanız, kabul edin. Neden ve hangi sürüme düşürüleceğini kontrol etmeniz gerekiyorsa, apt-cache policy packagename
hangi sürümlerin kullanılabilir olduğunu ve kurulum için hangi kararın uygun olduğunu görmek için bunu kontrol edin .
/etc/apt/preferences.d/99-back-to-stable-updates
Artık gerekli olmadığından dosyayı tekrar kaldırın .
5 yıldan daha uzun bir süre önce görevine sonmlind
vermek için yapılan bu ilham için Ubuntu forumlarına teşekkürler - bugün bana çok iyi yardımcı oldu.
Bu sayfa , Apt sabitlemenin 1000'den daha yüksek pin önceliklerinin paket düşürmeye neden olabileceği gerçeğinden yararlanarak tüm bir depodan indirgemek için kullanılabileceğini göstermektedir .
Öyleyse, çözümlerden biri, natty-proposed
depodakiler dışındaki tüm paket dosyalarının varsayılan önceliklerini 1000'e kadar geçici olarak artırmak olabilir :
apt-cache policy | awk '
/^ [0-9]+ / {
p = $1;
getline;
r = $0;
if (r !~ /a=natty-proposed/) p += 1000;
print "Package: *\nPin: " r "\nPin-priority: " p "\n"
}
' | sudo tee /etc/apt/preferences.d/downgrade-from-natty-proposed
(Not: Bu yöntem , sürüm alanları virgül içeren paket dosyalarının önceliğini arttırmaz . Bu soruya bakın .)
Bunu yaptıktan sonra, apt-get --simulate upgrade
başarılı bir düşüş oranı tespiti için test etmek için kullanılabilir. Doğru düşüşlerin tespit edildiğini onayladıktan sonra sudo apt-get upgrade
, düşüşün gerçekleştirilmesi için gereken her şey olmalıdır.
Düşüş tamamlandığında, Sürüm Öncesi güncellemeleri (natty-önerilen) depoyu devre dışı bırakmak için Yazılım Kaynakları'nı kullanın , ardından geçici öncelik artışını kaldırın:
sudo rm /etc/apt/preferences.d/downgrade-from-natty-proposed
Son olarak, çalışan tüm programların indirgenmiş sürümleri olması için yeniden başlatın.
Aşağıdakilerden daha basit bir çözüm bulamıyorum. Yine de birisinin daha iyi bir cevap almasını umuyorum.
Düşürmeyi çalıştırabilen aşağıdaki komut dosyası
#!/bin/bash
# get a list of installed packages
dpkg --get-selections | awk '{ print $1 }' > all-packages
# run apt-cache policy on each of them, then elaborate with the awk script
apt-cache policy $(<all-packages) |
./get-prev-pkg-vers >old-versions
# install previous version of packages
sudo apt-get --simulate install $(< old-versions)
Adı verilen awk
komut dosyası get-prev-pkg-vers
aşağıdaki gibidir
#!/usr/bin/awk -f
/^[^ ]/ {
package = $1
gsub(":", "", package)
search_next = 0
}
/^ [^ ]/ {
installed = 0
version = $1
if (search_next == 1) {
print package "=" version
search_next = 0
}
}
/^ \*\*\* [^ ]/ {
installed = 1
}
/^ [^ ]/ {
branch = $3
if (installed == 1 && branch ~ /proposed/) {
search_next = 1
}
installed = 0
}
Komut dosyasını çalıştırırken, önerilen repo henüz devre dışı bırakılmamalıydı.
Her iki komut dosyasında da yürütülebilir biti ayarlamayı unutmayın.
Bu yaklaşımla ilgili bir sorun, indirilen tüm paketlerin manuel olarak yüklenmesinin (ayrıca otomatik olarak kurulanların) ortaya çıkmasıdır.
Güvende olmak --simulate
için apt-get
, bash betiğinin sonuna seçeneği ekleyin .
Tüm paketleri natty'den önerilmiş olana geri döndürmek gerekmeyebilir: çoğu paket yine de natty güncellemeleri aracılığıyla yakında aynı sürümlere güncellenir.
Bir pakette sorun yaşarsanız, bir pakete darent hediyeler yöntemini kullanarak geri döndürebilirsiniz (devre dışı bıraktıktan sonra) veya kullanabilirsiniz sudo aptitude install packagename/natty
. Fakat daha önemlisi, pakete karşı bir hata yazmalısınız. Çok az insan aslında natty tarafından önerilen testleri test ediyor ve eğer gerilemeler (= yeni problemler) meydana gelirse, kesinlikle rapor edilmelidir. Aksi halde, tüm ubuntu kullanıcıları için güncellemelerle sonuçlanabilirler. Eğer herhangi bir sorun yaşarsanız, lütfen bildirin.
Sinaptik olarak, teklif edilen deposu devre dışı bırakabilir ve kaynaklarını güncelleyebilirsiniz. Ardından, güncellenen paketlerin hepsinin yerel olarak yüklendiğini göreceksiniz (artık depolarda bulunmadıkları için).
Şimdi bu paketleri "düşürmek" zorunda kalacaksınız. Birer birer seçin ve üst menüden şunu seçin:
package > force version
(veya Control + E)
Uygun seçenekler içeren bir menü görünecektir. Her paket için daha düşük sürüm numarasını seçerdim. Bir hata yaparsanız ve normal depolarda daha yeni bir sürüm varsa, daha sonraki bir güncellemede çözülecektir.
Hızlı bir çözüm, önerilen depoya işaret eden purge-ppa komutunu kullanmak olacaktır, ancak onlarla çalışıp çalışmadığını bilmiyorum, yalnızca harici ppa'ları ve düşürme paketlerini resmi ubuntu sürümlerine temizlemek için kullandım. Bu durumda bunu yapmanızı tavsiye etmem, belki de güvenli bir yöntem olup olmadığını bilen birileri ...
Bütün eski sürüme bir işlev kazandırmak için önerilen proposed
basit tutulan komut equiavalent ile paketlerini ppa-purge
de https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1810499 burada mesajlar hala temsil görünüyor beri sistemin durumu.
"teklif" - anladın mı?