Perintah apt (dpkg) yang berguna [ditutup]


9

Silakan kirim perintah apt yang kurang dikenal, tetapi berguna yang melibatkan apt- *, dpkg, atau aptitude.


7
Ini sebenarnya bukan pertanyaan.
Martin Owens -doctormo-

Jawaban:


7

Beberapa perintah yang sering saya gunakan:

untuk melihat dependensi dan membalikkan dependensi:

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

Untuk menghapus paket, semua paket autoremove, dan semua file konfigurasi terkait:

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

Untuk melihat aptopsi konfigurasi aktual :

apt-config dump | less

Untuk mengubah opsi pada baris perintah

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

Ini hanya dan contoh menentukan opsi APT melalui baris perintah, untuk menghindari menginstal paket yang direkomendasikan, Anda dapat menggunakan:

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

Untuk melihat semua paket lokal / usang:

aptitude search ~o

Untuk melihat paket yang dihapus dengan konfigurasi residual:

aptitude search ~c

dan untuk menghapusnya

sudo aptitude purge ~c

Untuk mendapatkan daftar semua paket yang diinstal ( dpkg -lkadang-kadang dapat memberikan output kolom terpotong)

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

atau

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

Untuk membongkar, modifikasi lalu pasang paket

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

Dua yang saya gunakan banyak adalah: -

apt-get autoremove <packagename>

Yang akan menghapus paket dan segala ketergantungan yang tidak digunakan, yang berguna jika Anda mencoba aplikasi, kemudian memutuskan Anda tidak membutuhkannya, dan ingin cruft juga dihapus.

dpkg -S /path/to/file

Yang memberitahu saya paket mana file diinstal dengan.

Akhirnya, satu lagi ..

dpkg -l <packagename> | grep ^ii

Daftar paket tetapi hanya mereka yang memiliki status ii yang berarti mereka diinstal, jadi tidak akan menunjukkan hal-hal yang saya hapus.

Jika Anda ingin mendapatkan nama paket untuk file yang tidak diinstal ( dpkg -S, tetapi untuk paket yang tidak diinstal), instal apt-filedan jalankan:

apt-file search /path/to/file

Saya merasa berguna untuk digunakan whichbersama dengan dpkg -S. misal: untuk executable yang hidup dalam paket dengan nama yang berbeda, seperti:dpkg -S `which uname`
Benjamin Rubin

Ooh, ya, itu bagus juga.
popey

3

Lihat ChangeLog suatu paket

$ aptitude changelog <pkgname>

Contoh:

$ 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
Pada Ubuntu 11,04 Natty, apt-get changelog sudoberfungsi juga.
Lekensteyn

3

Instal file-apt, lalu jalankan sudo apt-file update. Sekarang Anda dapat mencari file dalam paket yang bahkan belum Anda instal.

Juga berguna jika Anda perlu mengetahui informasi tentang paket di versi lain dari Ubuntu adalah rmadison, yang ada dalam paket devscripts. Berikan nama paket sebagai argumen dan itu akan memberi tahu Anda versi apa dari paket itu yang ada di setiap versi Ubuntu saat ini, dan di bagian repositori apa paket itu berada.

Contoh:

[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-filesekarang dapat mengelola database pengguna, sehingga Anda tidak perlu di-root update.
enzotib

apt-file cukup bagus Terima kasih telah berbagi.
Gödel

1

Untuk mendapatkan daftar perintah dimulai dengan 'apt-' Anda melakukan hal berikut. buka terminal dan ketik 'apt-' dan tekan tombol TAB dua kali ini akan mencantumkan semua perintah dimulai dengan 'apt-'.

Output sampel:

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

Untuk mendapatkan informasi rinci, Anda dapat memeriksa halaman manual dari perintah tertentu

misalnya: man apt-get


1

Saya suka memikirkan tiga jenis paket:

  • Paket sistem (paket penting atau paket standar prioritas atau lebih tinggi)
  • Paket pengguna (paket prioritas yang diinstal secara manual opsional atau tambahan)
  • Dependensi dan rekomendasi (paket yang terinstal secara otomatis / semua yang bukan sistem atau paket pengguna)

Untuk menampilkan semua "paket sistem" yang dapat Anda gunakan

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

Saya ingin semuanya diinstal dan ditandai sebagai diinstal secara manual.

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

Untuk menampilkan semua "paket pengguna" gunakan

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

Dalam daftar ini hanya ada paket yang Anda tahu Anda inginkan. Semua paket lain mungkin hanya dependensi atau rekomendasi paket lain, Anda dapat menandai mereka sebagai diinstal secara otomatis

aptitude markauto libsomething

Lihatlah Referensi Istilah Pencarian aptitude dan
Apa itu paket Essential, Wajib, Penting, Standar, Opsional, atau Ekstra? untuk informasi latar belakang.


0
  • Upgrade paket yang akan disimpan kembali karena mereka akan menghapus paket lain atau karena itu adalah upgrade kernel:

    sudo apt-get dist-upgrade
    
  • Bersihkan paket dan konfigurasinya.

    sudo apt-get purge package
    
  • Tampilkan perincian paket yang dikenal dalam basis data paket, termasuk bagian, versi, dependensi, pemelihara, dan deskripsi.

    apt-cache show package
    
  • Daftar file dalam paket yang diinstal

    dpkg -L pkg
    
  • Tingkatkan semua paket

    sudo apt-get upgrade
    

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

Untuk menginstal beberapa i386 debs pada amd64.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.