Ubuntu'da paketleri nasıl eski sürüme geçirebilirim?


14

Güncelleme Yöneticisi paketleri en son sürümde tutar, ancak bazen yeni bir paket sürümü beklendiği gibi veya düzgün çalışmayabilir. Yüklü bir paketi nasıl güncelleyebilir ve güncellenmesini önlemek için belirli bir sürüme nasıl kilitleyebilirim ? Bunu GUI veya Terminal kullanarak nasıl yapabilirim ?

Yanıtlar:


17

GUI'de - Synaptic kullanma

Ubuntu Yazılım Merkezi'nin basitleştirilmiş arayüzü paketleri eski sürüme geçirme seçeneği sunmuyor. Ubuntu'nun içerdiği daha gelişmiş bir grafik paket yöneticisi arayüzü olan Synaptic, bu seçeneği sunuyor. Bir paketi grafik olarak düşürmek için önce Synaptic uygulamasını yükleyin :

Ubuntu Yazılım Merkezi

Bunu yaptıktan sonra Dash'ten Synaptic Paket Yöneticisini açın:

synaptis

Synaptic'te eski bir sürümünü yüklemek istediğiniz paketi arayın, seçin ve Paket > Sürümü Zorla seçeneğini kullanın:

Sürümü zorla

Yüklemek istediğiniz sürümü seçin ve Sürümü Zorla'yı tıklayın. Synaptic size yalnızca depolarınızda bulunan sürümleri gösterir:

Sürüm seç

Her şeyin düzgün çalıştığını varsayarak değişikliklerinizi uygulamak ve paketin eski sürümünü yüklemek için Uygula düğmesini tıklayın .

Uygulamak

Paketi düşürdükten sonra seçin ve Paket > Sürümü Kilitle seçeneğini kullanın. Bunu yapmazsanız, Ubuntu kurulu paketlerinizi bir sonraki güncellemenizde kurulu paketi yükseltmeye çalışır:

Kilitli versiyon

Terminalde - kullanma apt-get

Sen bir paketin belirli bir sürümünü yükleyebilirsiniz apt-getiçinde Terminali . İlk olarak, aşağıdaki komutla yükleyebileceğiniz mevcut sürümleri belirleyin ( paketin adını düşürmek istediğiniz programın adı olarak kullanın):

apt-cache showpkg [packagename]

Daha sonra, apt-get install komutunu ve (için kullanacağım yüklemek istediğiniz paket versiyonu belirtmek sürümü daha önce size downgrade istediğiniz programın belirlenen sürüm numarası):

sudo apt-get install [packagename]=[version]

Yüklendikten sonra, yüklü sürümünüzü tutmak için aşağıdaki komutu çalıştırın ve paket yöneticisinin gelecekte otomatik olarak güncellemesini önleyin:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

Kaynak : http://www.howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu/


4
Cevabınızı bu siteye dayandırdıysanız howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu lütfen kaynak bağlantısını sağlayın. Howtogeek sakıncası olacağını sanmıyorum ama onlar kredi alabilirsiniz emin doğru kaynak bağlantı gerekir.
Luis Alvarado

Bunu yapmaya çalıştığımda karşılanmayan bağımlılıklarla ilgili her türlü sorunla karşılaştım. Bu sudo aptitude install smbclient = 2: 4.1.6 + dfsg-1ubuntu2 gibi tüm bağımlılıkları çözdüğü için yetenek kullanmayı daha iyi buldum. Bkz. Askubuntu.com/questions/770789/how-to-downgrade-smbclient
Lance Holland

3

Başka bir olasılık:

Arşivlenmiş paketi http://packages.ubuntu.com/ adresinde bulalım :

Örneğin php5'i düşürmek:

Arama:

resim açıklamasını buraya girin

Tam bir hit bulundu php5 için paket sayfasına bakalım:

resim açıklamasını buraya girin

Ubuntu sürümlerinin farklı sürümlerini burada görüyoruz:

resim açıklamasını buraya girin

Php (5.3) ... 12.04 (hassas) çalıştıran sürüme geçelim, örneğin:

resim açıklamasını buraya girin

tar.gz dosyasını indir

resim açıklamasını buraya girin

Ve sonra tar dosyasını çıkarın ve yükleyin:

cd /path/to/download
tar -xzvf name_of_package
cd name_of_extracted_folder
./configure
make
sudo make install

Çalışırken karşılaşılabilecek olası sorunlar ./configure:

  • Eksik bağımlılıklar (kurmak zorunda libxm2-dev): resim açıklamasını buraya girin

Çalışan sorunlar make:

  • derlerken hatalar düzgün ayarlanmamış bayrakları veya kodun kendisiyle ilgili sorunları içerebilir.
  • Derleme sırasında bir sürü çöp, ve sonra kodda bazı sorun?
  • Benim durumumda php için güncel kaynak dosyaları / tarball bulmak zorunda kaldım ( http://php.net/downloads.php )
  • ve çıkarmayı yeniden deneyin ve
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.