Paketleri daha yeni sürümlerden oluşturmadan yükleme (apt pinning)


34

Bu paketlere ubuntu / natty için desteklenen en yeni yukarı akış sürümüne ihtiyacım var

  • libccid_1.4.5-0ubuntu1_amd64.deb
  • libpcsclite1_1.8.1-0ubuntu1_amd64.deb
  • libpcsclite desteği-dev_1.8.1-0ubuntu1_amd64.deb
  • Libusb-1.0-0_1.0.9-0ubuntu1_amd64.deb
  • Libusb-1,0-0-dev_1.0.9-0ubuntu1_amd64.deb
  • opensc_0.12.2-1ubuntu1ppa1 ~ natty1_amd64.deb
  • pcscd_1.8.1-0ubuntu1_amd64.deb pcscd_1.8.1-0ubuntu1_amd64.deb

Onları güncellemeli bir kaynaktan oluşturmaya çalıştım ama başarısız oldu. Ambalajlama konusunda uzman değilim ve orada çok sayıda öğretici ve tarif var.

Ubuntu paketlerini desteklemek için iyi ve güncel bir eğitim biliyor musunuz?

Başka sürümlerden paketleri kendim yapmak zorunda kalmadan nasıl edinebilirim?

Yanıtlar:


36

Apt pining keşfetmek daha iyi olurdu, bkz man apt_preferences.

Oneiric'de olduğunuzu ve bu paketleri Precise'dan almak istediğinizi varsayalım.

Eğer okursanız manben / kopyalamak ilgili bölümleri yapıştırılan ve sadece bırakma adını değiştirdiniz görürsünüz

/etc/apt/preferences:

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10

Sonra anlatmaya diğer kopyalanan /etc/apt/sources.listiçin /etc/apt/sources.list.d/precise.listve hassas olan oneiric tüm oluşumlarını yerini aldı. Sonra koştum apt-get updateve sonunda apt-get upgrade.

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
 Fetched 86.0 kB in 0s (124 kB/s) 

Bazı nedenlerden dolayı, pcscd ve opensc yüklenmedi, muhtemelen başlayacak şekilde yüklenmediğinden, yükseltme yapacak bir şey yoktu, önemli değil, tam olarak bu sürümü referans olarak kesin olarak kullanarak yükleyebilirim.

apt-get install opensc pcscd -t precise

Kullanımının dikkat edin -t, packagename/preciseayrıca çalışacak.

ve son sürümden itibaren istediğiniz paketler vardır ve yalnızca bu paketler de otomatik olarak güncellenir. Eğer artık onları istemiyorsanız, sadece girişleri silin /etc/apt/preferencesve bir sonraki çalıştırışınızda apt-get upgradesilinirler. Prefs dosyasının tamamını kaldırırsanız, bu precise.listkaynak dosyasını da sildiğinizden emin olun; sistemimiz en son paket grubuna güncelleme yapmaya çalışacaktır. Ayrıca yükseltmeyi daha sonra dağıtmaya karar verirseniz, tüm tercihler dosyasını silmeniz gerekir ve muhtemelen diğer kaynakları kaldırmanız iyi bir fikir olacaktır. güncellenecek paket yok.

Apt sabitleme o kadar da zor değil, sadece biraz kazıp deney yapmanız gerekiyor. Tüm fiiller n=inceleyerek bulunur apt-cache policy.

Bu nedenle tecrübeli yöneticiler rant ve apt vs yum hakkında rave. Hizmetleri kapsamlı bir şekilde güncelleyebilir ve bunları temiz, kararlı ve sürdürülebilir bir şekilde güncel tutabilirsiniz.

Artık başka derleme paketi de yok.

Bu öneriye devam etmeden önce tüm man sayfasını okumanızı ve konseptte rahat olmanızı ve uygun sabitleme ile ilgili diğer kılavuzları okumanızı şiddetle tavsiye ediyorum. İyi şanslar ve iyi eğlenceler!

https://help.ubuntu.com/community/PinningHowto


bu harika bir cevap, ama benim için değil. Sabitlemeyi çoktan biliyorum ama bazı paketler kesin olarak son sürüm değil ve bazılarının hataları (opensc) var. bu yüzden gerçekten en son kaynağa sahip olmak istiyorum.
Janning

O zaman gerçekten geliştirme modundasınız, UDD kılavuzuna bakın. Bkz developer.ubuntu.com/packaging/html/getting-set-up.html . Paketleri oluşturduktan sonra, yamaları gönderebilir ve sonunda yerel olarak oluşturulmuş olanları elinizden çıkarabilirsiniz. Bir PPA kullanımı biraz yardımcı olabilir, ancak önce paketleme temellerini azaltmanız gerekir veya bir yapı hatası yaptığınızı öğrenmek için 10 dakika beklersiniz, PPA'daki borçları silin, tekrarlayın. Bu paketlerin güncellemelere girinceye kadar önceliğe sahip olmalarını sağlamak için önceki cevap işbirliğini yeni bir PPA ile kullanabilirsiniz.
ppetraki


Bu yöntemle aynı paketin hem amd64 hem de i386 versiyonlarını nasıl tercih edersiniz?
saat
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.