Kısa cevap:
APT tercihleri dosyası / etc / apt / preferences kurulum için hangi paket sürümlerinin seçileceğini kontrol etmek için kullanılabilir .
İşte dosyasıdır /etc/apt/preferences
, apt-get
tek packge birçok versiyonu varsa seçmek zorunda olduğunu hangi sürümün, karar için kullanın. Bununla, yerel depodan gelen herhangi bir paket diğer paketlere göre öncelik kazanacaktır.
Paket: *
Pin: "" kökeni
Pin Önceliği: 1001
Bu sürümü kontrol etmez, ancak her iki paket de aynı sürüme sahipse kaynak tercihi. Yerel reponuzdaki aynı paket sürümü için en yüksek önceliği atamanız gerekirse , bunları en üstte /etc/apt/sources.list
dosyaya ekleyin >
Orijinal sorunun cevabı:
Sources.list dosyasını kullanmadan en yüksek önceliği yerel depoya nasıl atayabilirim?
sources.list
Dosya kullanmadan yerel depoya en yüksek önceliği atamanın yolu yoktur . Yerel reponuza en yüksek önceliği vermek istiyorsanız, onları "sources.list" in üstüne koymalısınız.
Bu sorunun özeti:
Apt-get 'in aynı depo sürümünü resmi depolardan tekrar indirmek yerine yerel depo paketlerini tercih etmesini nasıl sağlayabilirim? Yerel depo imzalandı ve güvenildi. Zaten apt tercihlerini öncelik denedik.
/etc/apt/sources.list
Dosyayı kullanarak, yerel depo hattınızı bu dosyanın en üstüne koymanız gerekir. Aşağıdaki gibi.
deb cdrom: [Kubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120424)] / kesin ana kısıtlı
deb dosyası: / media / Main / Kesin-Debs-Yeni /
deb file: / media / Ana / Linux Yazılımı / Ubuntu / Precise /
deb http://archive.ubuntu.com/ubuntu hassas ana evren çok dilli sınırlı
deb-src http://archive.ubuntu.com/ubuntu hassas evren ana çoklu sınırlı # Yazılım özelliklerine göre eklendi
# deb cdrom: [Xubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120423.1)] / kesin çok-boyutlu sınırlı evren
# deb cdrom: [Ubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120423)] / kesin ana kısıtlı
# deb http://archive.canonical.com/ubuntu hassas ortağı
# deb-src http://archive.canonical.com/ubuntu hassas ortağı
# deb http://extras.ubuntu.com/ubuntu ana ana
# deb-src http://extras.ubuntu.com/ubuntu ana ana
Ve evet, "apt_preference", aynı sürümdeki paketlerin örneklerini seçmekle ilgisi yoktur . Buradaki nokta , yerel deponuzdan en yüksek önceliği atayarak yerel havuzunuzdaki /etc/apt/preference
bir .deb
dosyayı seçmeye / kullanmaya zorlamak için dosya kullanamazsınız . Bu dosya (tercih), aynı sürümün belirli bir örneğini (.deb dosyası) değil belirli bir sürümü seçmek için kullanılır. İkinci durumda, /etc/apt/sources.list
yukarıda belirtilen yöntemle dosya kullanmanız gerekir .
Açıklama:
apt_preference
Amacımız hepimizin yanlış anlaşıldığı görülüyorsa, apt_preference kılavuzu bunu ilk 3 paragrafta açıklar!
APT tercihleri dosyası / etc / apt / preferences kurulum için hangi paket sürümlerinin seçileceğini kontrol etmek için kullanılabilir .
Bir paketin çeşitli sürümleri, sources.list (5) dosyası birden fazla dağıtıma referans içerdiğinde (örneğin kararlı ve test) kurulum için mevcut olabilir. APT, kullanılabilir olan her sürüme öncelik atar. Bağımlılık kısıtlamalarına bağlı olarak apt-get (8), kurulum için en yüksek önceliğe sahip sürümü seçer. APT tercihleri dosyası, APT'nin varsayılan olarak paket sürümlerine atadığı öncelikleri geçersiz kılar, böylece kullanıcıya kurulum için hangisinin seçileceğini kontrol eder.
Ve en önemlisi üçüncü paragrafta
Bir paketin aynı sürümünün birkaç örneği, sources.list (5) dosyası birden fazla kaynağa referans içerdiğinde kullanılabilir. Bu durumda apt-get (8) sources.list (5) dosyasında en erken listelenen örneği indirir. APT tercihleri dosyası, yalnızca sürüm seçimini, örnek seçimini etkilemez .
Bu italik benimki tarafından yapıldı
Bunu bir örnekle görelim:
Kesin sürümüne compiz-fusion-plugins-extra
sahibim, ancak gösteri için bunu devre dışı bıraktım.
İşte dosyasıdır /etc/apt/preferences
, apt-get
tek packge birçok versiyonu varsa seçmek zorunda olduğunu hangi sürümün, karar için kullanın. (Bu örnekte, compiz-fusion-plugins-extra
çeşitli sürümleri vardır.
Paket: *
Pin: "" kökeni
Pin Önceliği: 1001
Bu dosya apt-get
, farklı depoda birkaç sürümü bulunan tüm paketler için yerel depodan yükleneceğini söylüyor .
Paketi varsa başka deyişle, xapps
sürümü ile 1.0
benim yerel depoda ve bu aynı paket xapps
daha yüksek versiyonu ile en hassas depo var, diyelim 2.0
, apt-get
yerel depo, yani sürümden versiyonunu tercih edecektir 1.0
.
İşte benim /etc/apt/sources.list
dosyam
deb http://archive.ubuntu.com/ubuntu hassas ana evren çok dilli sınırlı
deb-src http://archive.ubuntu.com/ubuntu hassas evren ana çoklu sınırlı # Yazılım özelliklerine göre eklendi
deb http://security.ubuntu.com/ubuntu/ hassas güvenlik evreni ana çoklu sınırlı
deb http://archive.ubuntu.com/ubuntu evrende ana çok evreli hassas güncelleme yapar
deb http://archive.ubuntu.com/ubuntu kesin destek dünyalar ana çoklu sınırlı
# deb http://archive.canonical.com/ubuntu hassas ortağı
# deb-src http://archive.canonical.com/ubuntu hassas ortağı
# deb http://extras.ubuntu.com/ubuntu ana ana
# deb-src http://extras.ubuntu.com/ubuntu ana ana
deb file: / media / Ana / Linux-Yazılım / Ubuntu / Oneiric / #thiric bir depodur.
deb file: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty /
deb file: / media / Ana / Linux Yazılımı / Ubuntu / Natty / kubuntu /
deb file: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty_new /
Kesin veri havuzunu daha önce dosyada listelemiş olmama rağmen, apt-get
bu veri havuzundan paket seçmek neden olmaz . Kılavuzda açıklandığı gibi
APT tercihleri dosyası, yalnızca sürüm seçimini, örnek seçimini etkilemez.
Bu nedenle, komutun çıktısı apt-cache policy compiz-fusion-plugins-extra
aşağıdaki gibi beklenildi
anwar @ edubuntu-lenovo: / etc / apt $ apt-cache politikası compiz-fusion-plugins-extra
compiz-fusion-plugins-extra:
Yüklendi: (yok)
Aday: 0.9.5.94-0ubuntu1 / ** öncelik için alt sürümleri seçme ** /
Sürüm tablosu:
0.9.7.0 ~ bzr9-0ubuntu6 0
500 http://archive.ubuntu.com/ubuntu/ precise / universe i386 Paketleri
0.9.5.94-0ubuntu1 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Oneiric / Packages
0.9.4-0ubuntu3 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
Burada, aday versiyonu 0.9.5.94-0ubuntu1
(yerel depoda olan) değil 0.9.7.0~bzr9-0ubuntu6 0
, kesin olan 'depoda. Kesin olmasına rağmen 'biri sources.list
dosyada ilk sırada yer aldı .
Yerel depoya en yüksek önceliği ayarladıktan sonra apt-get
yüklemeye çalışmanın bir örneği compiz-fusion-plugins-extra
.
anwar @ edubuntu-lenovo: ~ $ sudo apt-get compiz-fusion eklentilerini kur
Paket listeleri okunuyor ... Tamamlandı
Bağımlılık ağacı oluşturma
Durum bilgisi okunuyor ... Tamamlandı
Aşağıdaki paketler otomatik olarak kuruldu ve artık gerekli değil:
x11-uygulamaları x11-xfs-utils xinit x11 oturumu-utils libfs6
Bunları kaldırmak için 'apt-get autoremove' kullanın.
Aşağıdaki ekstra paketler yüklenecek:
compiz-core compiz-plugins-varsayılan compiz-plugins-extra
compiz-plugins-main-default libdecoration0 xserver-xorg-core
xserver-xorg-video-intel
Önerilen paketler:
compizconfig-settings-yöneticisi xfonts-100dpi xfonts-75dpi
Aşağıdaki paketler ÇIKARILACAKTIR:
compiz-compn-gnome compizconfig-backend-gconf edubuntu-masaüstü
libcompizconfig0 ubuntu-masaüstü birlik xorg xserver-xorg
xserver-xorg-input-tümü xserver-xorg-input-evdev xserver-xorg-input-mouse
xserver-xorg-input-synaptics xserver-xorg-input-vmmouse
Xserver-xorg-giriş-wacom Xserver-xorg-video-tüm Xserver-xorg-video-ATI
Xserver-Xorg-Video-Cirrus Xserver-Xorg-Video-FXBD xserver-Xorg-Video-Geode
xserver-xorg-video-mach64 xserver-xorg-video-oyunu Xserver-xorg-video-neomajik
xserver-xorg-video-nouveau xserver-xorg-video-openchrome
Xserver-Xorg-Video-QXL Xserver-Xorg-Video-R128 Xserver-Xorg-Video-Radeon
xserver-xorg-video-s3 xserver-xorg-video-vahşi
xserver-xorg-video-siliconmotion xserver-xorg-video-sis
Xserver-Xorg-Video-Sisusb Xserver-Xorg-Video-Tdfx Xserver-Xorg-Video-Trident
xserver-xorg-video-vesa xserver-xorg-video-vmware
Aşağıdaki YENİ paketler yüklenecek:
compiz-fusion eklentileri-ekstra compiz-eklentileri-ekstra
Aşağıdaki paketler İNDİRİLECEKTİR:
compiz-core compiz-eklentileri-varsayılan compiz-plugins-ana-varsayılan
libdecoration0 xserver-xorg çekirdekli xserver-xorg-video çekimi
0 yükseltildi, 2 yeni yüklendi, 6 düşürüldü, kaldırılacak 37 ve 698 yükseltilmedi.
0 B / 5,772 kB arşiv almanız gerekiyor.
Bu işlemden sonra 8,294 kB disk alanı boşaltılacaktır.
Devam etmek istiyor musunuz [E / H]?
Garip !!!, Bağımlılıkları (Oneiric ile eşleşen) yeni seçilenler ile çözmek için önceden kurulmuş compiz paketlerini düşürmeye çalışıyor compiz-fusion-plugins-extra
!!!.
Daha tehlikeli olan, yeni hesaplarla çakışmamak için grafik sürücüsü paketlerini (xserver-xorg -....) kaldırmaya çalışıyor.
(Muhtemelen, Yerel depoda da bulunduysam, güvenli bir şekilde düşürmek isteyebilirler. Fakat bu paketler genellikle kurulduğundan, onları indirmedim, bu nedenle yerel repoda bulunmadım, bu nedenle bu sonuç) .
Sonuç : Bu nedenle, /etc/apt/preferences
yerel sistemde tam havuzunuz varsa, yalnızca yerel depoyla birlikte kullanılması önerilir.
Aynı sürümün birkaç örneği (.deb dosyası) birçok depoda mevcutsa ne olur.
Hangi apt_preference
kılavuz tarafından açıklanmıştır
Bir paketin aynı sürümünün birkaç örneği, sources.list (5) dosyası birden fazla kaynağa referans içerdiğinde kullanılabilir. Bu durumda apt-get (8) sources.list (5) dosyasında en erken listelenen örneği indirir.
/etc/apt/preferences
Dosya için kullanım durumlarına bir örnek :
apt-get
Ubuntu'nun standardı yerine özel bir repodan mevcut sürümü seçmeye zorlama örneği "Linux Mint" dağıtımı olabilir. Bu özel preference
dosyayı kullanıyorlar.
Paket: *
Pin: serbest bırakma o = linuxmint
Pin Önceliği: 700
Paket: *
Pin: kaynak paketleri.linuxmint.com
Pin Önceliği: 700
Paket: *
Pin: serbest bırakma o = Ubuntu
Pin Önceliği: 500
Bu etkili bir şekilde onları depolarında bulundukları zaman paketler sağlamalarına neden olur. Fakat eğer onlar yoksa, Ubuntu'nun standart havuzunu kullanırlar.
apt-get
Yerel depoya en yüksek önceliğe sahip olduktan sonra çalışan bir Örnek
Sadece kubuntu-desktop
KDE'yi test etmek için Ubuntu üzerine paket kurmak istedim . (Bunu unuttum, /etc/apt/preference
dosyayı kullanarak bir tercih belirledim ) . Ben kubuntu-12.04-alternate-installer'dan bir iso aldım, bu yüzden bunu kullanabileceğimi düşündüm.
(isoyu depo kaynağı olarak düzgün bir şekilde ayarladıktan sonra) koştum
sudo apt-get install kubuntu-desktop
, sonra aşağıdaki çıktıyı görünce şaşırdım.
anwar @ edubuntu-lenovo: ~ $ sudo apt-get yüklemek kubuntu-desktop
Paket listeleri okunuyor ... Tamamlandı
Bağımlılık ağacı oluşturma
Durum bilgisi okunuyor ... Tamamlandı
Bazı paketler yüklenemedi. Bu, sahip olduğunuz anlamına gelebilir
imkansız bir durum istedi veya dengesiz kullanıyorsanız
gerekli bazı paketlerin henüz yaratılmadığı dağılımı
veya Gelen’in dışına taşındı.
Aşağıdaki bilgiler durumun çözülmesine yardımcı olabilir:
Aşağıdaki paketlerin karşılanmayan bağımlılıkları vardır:
kubuntu-desktop: Bağımlı: dil seçicisi-kde ancak yüklenmeyecek
Tavsiye: amarok ama kurulmayacak
Tavsiye eder: apturl-kde fakat kurulmayacak
Tavsiye: gdebi-kde fakat kurulmayacak
Tavsiye: gpgsm ama kurulmayacak
Tavsiye: ibus-qt4 ama kurulmayacak
Tavsiye: jokey-kde ama kurulmayacak
Önerilenler: kdegraphics-strigi-plugins, ancak yüklenmeyecek
Tavsiye: kdepim sihirbazları ancak kurulmayacak
Tavsiye: kpackagekit fakat kurulmayacak
Tavsiye eder: libreoffice-kde fakat kurulmayacak
Tavsiye: libreoffice tarzı oksijen ama kurulmayacak
Önerilenler: ağ yöneticisi-pptp-kde, ancak yüklenmeyecek
Tavsiye eder: plasma-widget-facebook ama kurulmayacak
Tavsiyeler: plasma-widget-kimpanel ancak kurulmayacak
Tavsiye: usb-creator-kde fakat kurulmayacak
E: Sorunları çözemediyseniz, kırılmış paketleriniz var.
Sonuçtan şaşırdım. Birdenbire hatırlıyorum, yerel depoya en yüksek önceliği koymak için bir tercih belirledim ( bu cevabı yazmak için ) /etc/apt/preference
.
bu yüzden şunu koştum: apt-cache policy kubuntu-desktop
çıktı aşağıdaki gibidir:
anwar @ edubuntu-lenovo: ~ $ apt-önbellek politikası kubuntu-desktop
kubuntu-desktop:
Yüklendi: (yok)
Aday: 1.222.1kde47 ~ ppa2
Sürüm tablosu:
1.254 0
500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120424) / kesin / ana i386 Paketleri
500 http://archive.ubuntu.com/ubuntu/ precise / main i386 Paketleri
1.222.1kde47 ~ ppa2 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222.1 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / kubuntu / Paketler
Bu çıktıda, hem "cdrom" hem de "kesin ana veri havuzunun" 1.254 sürümüne sahip olduğunu, yerel veri deposunun daha düşük sürüm olan 1.222.1kde47 ~ ppa2 sürümüne sahip olduğunu görüyoruz . Kaynaklar, yerel kaynaklardan önce.
Açıkçası bunun apt-get
yerelden kurulum yapmaya çalıştığını görmek için koştum synaptic
ve anladım, ki bu da Apt sisteminin 1.222.1kde47 ~ ppa2'yi kurmaya aday sürüm olarak gördüğünü gösteriyor .
Ayrıca apt-cache policy kubuntu-desktop
aynı şeyleri gösteren
anwar @ edubuntu-lenovo: ~ $ apt-önbellek politikası kubuntu-desktop
kubuntu-desktop:
Yüklendi: (yok)
Aday: 1.222.1kde47 ~ ppa2
Sürüm tablosu:
1.254 0
500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120424) / kesin / ana i386 Paketleri
500 http://archive.ubuntu.com/ubuntu/ precise / main i386 Paketleri
1.222.1kde47 ~ ppa2 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222.1 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222 0
1001 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / kubuntu / Paketler
Bunu çözmek için, /etc/apt/preference
dosyayı kaldırdım sudo rm /etc/apt/preference
.
Sonra tekrar tekrar koştum apt-cache policy kubuntu-desktop
. sadece bu beklenen çıktıyı görerek.
anwar @ edubuntu-lenovo: ~ $ sudo rm / etc / apt / tercihler
anwar @ edubuntu-lenovo: ~ $ sudo apt-cache politikası kubuntu-desktop
kubuntu-desktop:
Yüklendi: (yok)
Aday: 1.254
Sürüm tablosu:
1.254 0
500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Sürüm i386 (20120424) / kesin / ana i386 Paketleri
500 http://archive.ubuntu.com/ubuntu/ precise / main i386 Paketleri
1.222.1kde47 ~ ppa2 0
500 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222.1 0
500 dosya: / media / Ana / Linux Yazılımı / Ubuntu / Natty / natty / Paketler
1.222 0
500 dosya: / medya / Ana / Linux-Yazılım / Ubuntu / Natty / kubuntu / Paketler
Yine bunu koştum. sudo apt-get install kubuntu-desktop
Aşağıdaki çıktıyı görmek için:
......... Gereksiz detaylar silindi .........
0 yükseltildi, 213 yeni yüklendi, 0 kaldırıldı ve 150 yükseltilmedi.
0 B / 89.6 MB arşiv almanız gerekiyor.
Bu işlemden sonra 269 MB ek disk alanı kullanılacaktır.
Devam etmek istiyor musunuz [E / H]?
Tam sonucunu kontrol edebilirsiniz burada
Sonra Açıklama kısmı hakkında oldukça eminim.
Referans 1: apt_preference kılavuzu
Referans 2: Belirli bir paket paket versiyonunun nasıl kurulacağı