apt-file -- APT paket arama yardımcı programı -- komut satırı arabirimi
apt-file [options] search pattern
apt-file [options] show package
apt-file, APT paket yönetim sistemi için paketlerdeki dosyaları aramak için kullanılan bir komut satırı aracıdır.
Aramayı çalıştırmak için bazı işlemler gereklidir:
Arama için takma ad.
Bir paketin içeriğini listeleyin. Bu eylem dpkg -L komutuna çok yakındır, ancak paketin yüklenmesi veya getirilmesi gerekmez. Varsayılan olarak, liste eylemi, kalıbını --fixed-string belirtilmiş gibi yorumlar.
Bilinen İçerik endekslerini ve durumlarını insan tarafından okunabilir bir biçimde listeleyin. Bu indeksler -I seçeneği ile aranabilir (etkinleştirildiğinde ve indeksler getirildikten sonra). Çıktı önceden bildirilmeksizin değiştirilebilir ve bu nedenle komut dosyası kullanımı/otomasyon için uygun değildir. Makine tarafından okunabilen biçimler için (ör. otomasyon), önbelleği kontrol etmek için lütfen apt-config dump (Acquire::IndexTargets ile başlayan seçenekleri arayın) ve apt-get indextargets kullanın (Contents- ile başlayan Identifier alanına sahip girişleri arayın). Kaynaklar listesi girişlerinin bireysel olarak genel varsayılanı geçersiz kılabileceğini unutmayın. sources.list dosyalarının gelişmiş yapılandırması hakkında daha fazla bilgi için lütfen sources.list (5)'e başvurun.
Bir dosyanın hangi pakete dahil olduğunu arayın. Desen desenini içeren tüm paketlerin bir listesi döndürülür. İçindekiler dosyaları dizin içermediğinden, kalıp dosya adıyla (a'nın bir parçası) eşleşmelidir. Varsayılan olarak, arama eylemi, kalıbını --substring-match belirtilmiş gibi yorumlar.
Liste için takma ad.
Yalnızca apt update veya apt-get update'i (bir tty olup olmadığına bağlı olarak) çağıran bu eylem. Bunu normal bir apt update veya doğrudan apt-get update'e göre kullanmanın tek avantajı, apt-file'a özel bir yapılandırma yapılandırmış olmanızdır ( Dir::Etc::apt-file-main yapılandırma seçeneği). Bu durumda, söz konusu yapılandırma otomatik olarak dahil edilecektir.
Aşağıdaki seçenekler mevcuttur:
Bu seçenek, sisteminizde yüklü olandan farklı bir mimari için bir paket ararsanız kullanışlıdır. Birden çok mimaride arama yapmak için virgülle ayrılmış bir liste olabilir.
Yapılandırma Dosyası; Kullanılacak bir yapılandırma dosyası belirtin. Program, varsayılan yapılandırma dosyasını ve ardından bu yapılandırma dosyasını okuyacaktır. Varsayılan yapılandırma dosyaları ayrıştırılmadan önce yapılandırma ayarlarının yapılması gerekiyorsa, APT_CONFIG ortam değişkenine sahip bir dosya belirtin. Sözdizimi bilgisi için apt.conf (5)'e bakın. Yapılandırma dosyası, komut satırında göründüğü zamana göre okunacaktır ve kendisinden önce görünen seçeneklerin üzerine yazabilir. Yapılandırma dosyasının apt-file tarafından çağrılan tüm APT araçlarına da iletileceğini unutmayın.
Verilen .deb arşivlerinin içeriğini kalıp olarak kullanın. Diğer paketlerle dosya çakışmalarını aramak için kullanışlıdır. -F anlamına gelir.
Her satıra bir tane olmak üzere verilen dosya(lar)daki kalıpları okuyun. Stdin için dosya adı olarak - kullanın. Hiçbir dosya verilmezse, liste stdin'den okunacaktır. Bu, apt-file'ı birçok kez çağırmaktan çok daha hızlıdır.
Yalnızca listelenen kaynaklardan (ör. Debian) arama dizinleri. Bu filtre, Sürüm dosyasındaki Kaynak alanında listelenen adla eşleşir. '*' olarak ayarlanırsa, bu filtre devre dışı bırakılır (çoğunlukla bir yapılandırma dosyasındaki ayarı geçersiz kılmak için kullanışlıdır) APT yapılandırma seçeneğinin takma adı: apt-file::Search-Filter::Origin
Yalnızca listelenen süitlerden veya kod adlarından (örn. kararsız) dizinleri arayın. Bu filtre, Sürüm dosyasındaki Kod adı ve Süit alanlarında listelenen adla eşleşir. Bu, kararsız veya sid'in Debian'ın kararsız paketiyle eşleşeceği anlamına gelir. '*' olarak ayarlanırsa, bu filtre devre dışı bırakılır (çoğunlukla bir yapılandırma dosyasındaki ayarı geçersiz kılmak için kullanışlıdır) APT yapılandırma seçeneğinin takma adı: apt-file::Search-Filter::Suite
Arama kalıbını, kalıbın başında ve sonunda jenerik karakterlerle genişletmeyin. Bu, göster ve liste işlemleri için varsayılandır.
Yalnızca verilen ad(lar)ın dizinlerini arayın. ALL (büyük/küçük harfe duyarlı) özel değerine ayarlanırsa, tüm apt-file dizinleri aranır. Ad(lar), APT yapılandırmasında kullanılan bir veya daha fazla tanımlayıcıyla eşleşmelidir (eksi baştaki İçerikler-). Yapılandırma aşağıdaki parçacıklara sahipse örnek:
Acquire::IndexTargets::deb::Contents-deb { ... };
Acquire::IndexTargets::deb-src::Contents-dsc { ... };
Acquire::IndexTargets::deb::Contents-udeb { ... };
Acquire::IndexTargets::deb::Contents-deb-legacy {
# Explicitly named to "Contents-deb"
Identifier "Contents-deb";
...;
};Ardından, apt-file dizin adları olarak deb, dsc ve udeb'i tanıyacaktır. Bu seçenek varsayılan olarak apt-file::Index-Names apt yapılandırma seçeneğinin (veya atlanırsa deb) değerini alır.
Kalıp ararken büyük/küçük harf durumunu dikkate almayın.
Sadece paket adını göster; dosya adlarını gösterme.
Bu, çok sayıda eşleşme (10 000'den fazla) üreten veya/veya sonuçların otomatik olarak işlenmesini sağlayan aramalarla başa çıkmak için kullanışlı bir özel kullanım seçeneğidir. Veri tekilleştirme mantığını devre dışı bırakın ve bir eşleşme bulunduğunda hemen bir sonuç yayınlayın. Bu, birçok eşleşme içeren aramaları işlerken apt-file için bellek gereksinimlerini büyük ölçüde azaltabilir. Ayrıca, ilk eşleşmenin yayınlanmasına kadar geçen süreyi azaltacaktır; bu, eşleşmeler keşfedildikçe işlenebiliyorsa ve tüketici yinelenen eşleşmeleri kaldırabiliyorsa yararlı olabilir.
Bir Yapılandırma Seçeneği belirleyin; Bu, isteğe bağlı bir yapılandırma seçeneği belirleyecektir. Sözdizimi -o APT::Option=Değer şeklindedir. -o ve --option, farklı seçenekleri ayarlamak için birden çok kez kullanılabilir. Bu seçenek, diğer komut satırı seçeneklerinin üzerine yazmak için can kullanılabilir (örneğin, -o apt-file::Search-Filter::Origin=Debian, --filter-origins Debian ile etkin bir şekilde aynıdır). Bu seçenek aracılığıyla iletilen yapılandırma seçeneklerinin, apt-file tarafından çağrılan tüm APT araçlarına da aktarılacağını unutmayın.
Verilen arama pattern bir yol veya paketin alt dizisiyse eşleştirin. Bu, arama ve bul işlemleri için varsayılandır.
apt-file'ı ayrıntılı/hata ayıklama modunda çalıştırın.
Deseni bir (Perl) düzenli ifadesi olarak ele alın. Ayrıntılar için perlreref (1)'e bakın. Bu seçenek olmadan, desen aranacak değişmez bir dize olarak ele alınır. Bu seçeneğin oldukça yavaş olabileceğini unutmayın. Performans bir sorunsa, apt-file normal ifade olmayan kalıp eşleşmesini çok fazla vermeyi düşünün ve çıktıyı Perl -ne '/
Kısa bir yardım ekranı görüntüleyin.
apt-file komutu, APT yapılandırmasına dayanır. Özellikle, varsayılan yapılandırma, apt'nin bir apt update çağrısı sırasında İçerik dosyalarını varsayılan olarak getirmesini sağlar.
APT'yi daha fazla veya daha az İçerik dosyası getirecek şekilde yapılandırma hakkında bilgi için lütfen /usr/share/doc/apt-file/README.md.gz adresine bakın.
Aşağıdaki dosyalar özellikle ilgi çekicidir:
Bu yolun aslında Dir::Etc::apt-file-main adlı APT yapılandırmasının değeri değiştirilerek yapılandırılabileceğini unutmayın. Listelenen değer, yalnızca o seçeneğin varsayılan değeridir. Bu dosya varsa, apt-file bu dosyayı tüm varsayılan APT yapılandırma dosyalarından sonra okuyacaktır. Herhangi bir yapılandırma dosyası -c veya seçenek (-o), bu dosyadan önce değerlendirilir (ve içinde ayarlanan seçenekleri geçersiz kılabilir). Dosya, apt-file tarafından çağrılan tüm APT araçlarına da iletilecektir.
Hangi İçerik dosyalarının indirileceğini seçer. apt-file öğesinin yalnızca Contents- ile başlayan Acquire hedeflerini tanıdığını unutmayın.
İşte apt-file 2 ile ilgili bazı iş akışları ve bunların apt-file 3 ile (neredeyse) nasıl taklit edileceği.
Öykünme, kutudan çıktığı haliyle sizin için mükemmel olmayabilir. Yamalar, örnekler önemsiz kaldığı sürece örnekleri güncel tutabilir.
Yalnızca apt-file update'nin Contents dosyalarını getirmesini sağlayın Contents dosyalarını apt update getirmemeye alışkınsanız, /usr/share/doc/apt-file/examples/apt-file-2-update.sh komutunu çalıştırabilirsiniz. Bu betik apt ve apt-file'ı en iyi çabanın ardından buna göre yapılandıracaktır. Lütfen ortaya çıkan /etc/apt/apt-file.conf dosyasını okuyun.
Creating/using user caches Previous versions of apt-file had a --cache option, which could be used to denote a directory to store the Contents files. This can be emulated by doing:
# Setup
$ mkdir -p ~/.cache/apt-file ~/.config
$ touch ~/.cache/apt-file/dpkg-status
$ sed '/^Dir::State/ d; /^Dir::Cache/ d;' \
/usr/share/doc/apt-file/examples/apt-file.conf \
> ~/.config/apt-file.conf
$ cat <> ~/.config/apt-file.conf
Dir::State "$HOME/.cache/apt-file";
Dir::Cache "$HOME/.cache/apt-file";
Dir::State::status "$HOME/.cache/apt-file/dpkg-status";
EOF
# Update the cache
$ apt-file -c ~/.config/apt-file.conf update
# Search using the cache
$ apt-file -c ~/.config/apt-file.conf show apt-file
# Removal of the cache + config
$ rm -fr ~/.cache/apt-file ~/.config/apt-file.conf
(You will probably want to add an alias apt-file in your ~/.bashrc) Please read the resulting ./apt-file-user-cache.conf.
Akılda tutulması gereken bazı bilinen sorunlar veya tuhaflıklar vardır.
İçindekiler dosyaları, yolların başında eğik çizgi içermez. Bu, İçindekiler dosyasında /bin/ls öğesinin bin/ls olarak listelendiği anlamına gelir. Üst düzey bir dizinde bir şey arıyorsanız, baştaki eğik çizgiyi atlamak genellikle daha iyidir. Arama algoritması baştaki eğik çizgi etrafında çalışmaya çalışacak, ancak her durumda çalışmayacaktır. Geçici bir çözüm olarak, baştaki eğik çizgiyi normal ifadelerin başına çekmeye çalışın. Örneğin /usr/bin/vim|/sbin/lvm yerine /(?:usr/bin/vim|sbin/lvm) kullanın.
Sources.list'e yeni bir satır eklendiğinde ve apt güncellemesi çalıştırılmadığında, apt-file bir uyarı mesajı yazdırmaz.
Varsayılan olarak apt-file, İçerik dosyalarının açıklayıcı bir başlık (dosyanın ne olduğunu ve nasıl yorumlanacağını açıklayan) içerme etmediğini varsayar. Ancak, bazı araçlar bunları böyle bir başlığa sahip oluşturmuştur (örneğin, Debian arşivi için İçerik dosyalarının eski sürümleri veya 5.2.0 sürümünden önce reprepro tarafından oluşturulan İçerik dosyaları için). Bu tür dosyaları ararsanız, yanlış eşleşmeleri önlemek için apt-file'ın başlıkları uygun şekilde filtrelemesini sağlamak için apt-file::Parser::Check-For-Description-Header'ı true olarak ayarlamak isteyeceksiniz (ör. /etc/apt/apt.conf.d/50apt-file.conf içinde). Bunun varsayılan olmamasının nedeni, en yaygın İçerik dosyalarının artık üstbilgiye sahip olmamasının yanı sıra ek yükün 2 faktörüne mal olmasıdır. (daha fazla ayrıntı için #881405'e bakın).
Tüm APT depolarında İçerik dosyaları yoktur. Özellikle yaygın yükleme ortamları (CD'ler vb.), alandan tasarruf etmek için bunları atlayabilir. apt-file tarafından varsayılan yapılandırma, İçerik dosyalarını isteğe bağlı olarak işaretler ve bu tür havuzlardaki İçerik dosyalarını aramada sessizce başarısız olur.
apt-file, komut dosyası oluşturma amacıyla kullanılabilecek aşağıdaki tanımlı çıkış kodlarına sahiptir.
apt-file başarıyla döndürüldü. Komut bir aramaysa, en az bir sonuç vardı.
apt-file bir aramayı başarıyla tamamladı, ancak sonuç vermedi.
Bir hata oluştu (geçersiz/çakışan kullanıcı seçenekleri dahil).
Önbellek boş olduğu için apt-file komutu tamamlayamadı. Lütfen APT yapılandırmasında etkinleştirilmiş dizinler olduğundan emin olun ve bunları getirmek için apt update'i çalıştırın.
apt-file, önbellekte kısıtlamalarla eşleşen herhangi bir dosya olmadığından komutu tamamlayamadı. Kısıtlamaları değiştirin (ör. --index-names) veya apt'yi ilgili dosyaları getirecek şekilde yapılandırın ve apt update'i çalıştırın.
apt-file'da bir dahili hata/yakalanmamış istisna vardı. Lütfen apt-file için bir hata bildirin.
Diğer tüm çıkış kodları ileride kullanılmak üzere ayrılmıştır.
apt (1), apt-cache (8), apt.conf (5)
The APT users guide in /usr/share/doc/apt/
The example config in /usr/share/doc/apt-file/examples
The README at /usr/share/doc/apt-file/README.md.gz