Yararlı apt (dpkg) komutları [kapalı]


9

Lütfen apt- *, dpkg veya aptitude içeren az bilinen ancak kullanışlı apt komutlarınızı gönderin.


7
Bu gerçekten bir soru değil.
Martin Owens -doctormo-

Yanıtlar:


7

Sık kullandığım bazı komutlar:

bağımlılıkları ve ters bağımlılıkları görmek için:

apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package

Bir paketi, tüm otomatik kaldırma paketlerini ve ilgili tüm yapılandırma dosyalarını kaldırmak için:

sudo apt-get --purge --auto-remove purge $package

Gerçek aptyapılandırma seçeneklerini görmek için :

apt-config dump | less

Komut satırındaki bir seçeneği değiştirmek için

$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package

Bu sadece ve önerilen paketleri yüklemekten kaçınmak için komut satırından APT seçeneklerini belirleme örneğiydi:

sudo apt-get --no-install-recommends $package

Tüm yerel / eski paketleri görmek için:

aptitude search ~o

Artık yapılandırmaya sahip kaldırılmış paketleri görmek için:

aptitude search ~c

ve onları kaldırmak için

sudo aptitude purge ~c

Kurulu tüm paketlerin bir listesini almak için ( dpkg -lbazen kesik sütun çıktısı verebilir)

dpkg --get-selections | awk '{ print $1 }'

veya

dpkg-query -Wf '${Package}\n'  # other fields available, see man page

Sökmek için, bir paketi değiştirin ve yeniden monte edin

dpkg-deb -x file.deb ./dir
cd dir 
dpkg-deb -e ../file.deb
# apply your modification, then... 
cd ..
dpkg-deb -b dir file-new.deb

4

Çok kullandığım iki şey: -

apt-get autoremove <packagename>

Bu, paketi ve kullanılmayan bağımlılıkları kaldıracak, bu da bir uygulamayı denemeniz, sonra ihtiyacınız olmadığına karar vermeniz ve rüzgârın da kaldırılmasını istiyorsanız faydalı olacaktır.

dpkg -S /path/to/file

Bu da bana hangi paketin kurulduğunu söyler.

Sonunda bir tane daha ..

dpkg -l <packagename> | grep ^ii

Paketleri listeler, ancak yalnızca yüklü oldukları anlamına gelen ii durumuna sahip olanları listeler, bu yüzden kaldırdığım şeyleri göstermez.

Kurulu dpkg -Solmayan ( ancak kurulu olmayan paketler için) bir dosyanın paket adını almak istiyorsanız , kurun apt-fileve çalıştırın:

apt-file search /path/to/file

whichDpkg -S ile birlikte kullanmanın yararlı olduğunu düşünüyorum . örneğin: Farklı adlara sahip paketler halinde yaşayan yürütülebilir dosyalar için, örneğin:dpkg -S `which uname`
Benjamin Rubin

Ooh, evet, bu da iyi bir tane.
popey

3

Bir paketin ChangeLog'unu görüntüleme

$ aptitude changelog <pkgname>

Misal:

$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low

  * SECURITY UPDATE: properly handle multiple PATH variables when using
    secure_path in env.c
    - Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
    - CVE-2010-1646
...

2
Ubuntu 11.04 Natty'den itibaren de apt-get changelog sudoçalışıyor.
Lekensteyn

3

Apt dosyasını yükleyin ve çalıştırın sudo apt-file update. Artık yüklemediğiniz paketlerde dosya arayabilirsiniz.

Ayrıca Ubuntu'nun diğer sürümlerindeki paketler hakkında bilgi sahibi olmanız gerekiyorsa, devscripts paketinde bulunan rmadison'dur. Bağımsız değişken olarak bir paket adı sağlayın ve bu paketin mevcut her Ubuntu sürümünde hangi sürümlerinin bulunduğunu ve paketin hangi depo bölümünde olduğunu söyleyecektir.

Misal:

[bnrubin@server:~/]$ rmadison cowsay
    cowsay |     3.03-8 | dapper/universe | source, all
    cowsay |     3.03-9 | hardy/universe | source, all
    cowsay |   3.03-9.2 | jaunty/universe | source, all
    cowsay |   3.03-9.2 | karmic/universe | source, all
    cowsay |   3.03-9.2 | lucid/universe | source, all
    cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
    cowsay | 3.03+dfsg1-2 | natty/universe | source, all

apt-fileartık bir kullanıcının veritabanını yönetebilir, böylece root olmanıza gerek kalmaz update.
enzotib

apt-file oldukça güzel. paylaşım için teşekkürler.
Gödel

1

Liste komutlarını almak için 'apt-' ile başlar. bir terminal açın ve 'apt-' yazın ve SEKME tuşuna iki kez basın, bu tüm komutları 'apt-' ile başlayan listeler.

Örnek çıktı:

apt-add-repository    apt-extracttemplates  apt-key
apt-cache             apt-file              apt-mark
apt-cdrom             apt-ftparchive        apt-sortpkgs
apt-config            apt-get 

Ayrıntılı bilgi almak için belirli bir komutun kılavuz sayfasını kontrol edebilirsiniz.

Örneğin: man apt-get


1

Üç farklı paket düşünmeyi seviyorum:

  • Sistem paketleri (temel paketler veya öncelik standardı veya üstü paketler)
  • Kullanıcı paketleri (isteğe bağlı veya ekstra öncelikli manuel olarak kurulan paketler)
  • Bağımlılıklar ve öneriler (otomatik olarak yüklenen paketler / sistem veya kullanıcı paketi olmayan her şey)

Tüm "sistem paketlerini" göstermek için

aptitude search '(~pstandard|~pimportant|~prequired|~E)'

Hepsini kurmayı ve manuel olarak yüklendi olarak işaretlemeyi seviyorum.

aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'

Tüm "kullanıcı paketlerini" göstermek için

aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'

Bu listede yalnızca istediğinizi bildiğiniz paketler olmalıdır. Diğer tüm paketler muhtemelen sadece diğer paketlerin bağımlılığı veya önerisidir, bunları otomatik olarak yüklendi olarak işaretleyebilirsiniz

aptitude markauto libsomething

Bir göz atın yetenek en Arama Terimi Referans ve
bir Temel, Gerekli, Önemli, Standart, İsteğe Bağlı veya Ekstra paket nedir? arka plan bilgileri için.


0
  • Diğer paketleri kaldıracakları veya bir çekirdek yükseltmesi olduğu için saklanacak paketleri yükseltin:

    sudo apt-get dist-upgrade
    
  • Bir paketi ve yapılandırmasını temizleme.

    sudo apt-get purge package
    
  • Bir paketin paket veritabanında bilindiği gibi bölüm, sürüm, bağımlılıklar, sürdürücü ve açıklama gibi ayrıntılarını göster

    apt-cache show package
    
  • Yüklü bir paketteki dosyaları listeleme

    dpkg -L pkg
    
  • Tüm paketleri yükseltin

    sudo apt-get upgrade
    

-2
dpkg -i --force-architecture something.i386.deb

AMD64'e bazı i386 debs yüklemek için.

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.