GNU/Linux >> Belajar Linux >  >> Ubuntu

Simpan Hanya Paket Esensial?

Dalam upaya untuk mempelajari lebih lanjut tentang Ubuntu dan paket-paketnya, saya ingin menghapus semua paket yang tidak penting, sehingga saya dapat menginstal apa yang saya butuhkan, ketika saya membutuhkannya dan mengetahui apa yang mereka lakukan.

Saya menggunakan perintah dpkg --clear-selections dan apt-get dselect-upgrade untuk ini. Saya juga sedikit mengubah pilihan dengan mengatur apt libstdc++6 (due to apt) install-info (due to grep) untuk memasang lagi (entah bagaimana dpkg menganggapnya tidak penting, tetapi apt-get complain).

Apakah ini baik-baik saja, atau ini buruk? Jika boleh, apa yang harus saya lakukan dengan daftar besar paket dengan status “deinstall” di dpkg?

Catatan tambahan, saya melakukan ini pada template VPS jadi saya tidak memiliki kendali atas paket yang diinstal pertama kali.

Jawaban Terbaik

Dengan perintah berikut, Anda dapat memperoleh daftar paket yang diinstal, diklasifikasikan berdasarkan prioritas:

dpkg-query -Wf '${Package;-40}${Priority}n' | sort -b -k2,2 -k1,1

Deskripsi prioritas diberikan dalam Manual Kebijakan Debian.

Dalam instalasi saya, saya mendapatkan yang berikut (saya hanya menunjukkan wajib , penting dan standar paket):

apt                                     important
aptitude                                important
apt-utils                               important
bsdmainutils                            important
cron                                    important
debconf-i18n                            important
dmidecode                               important
gnupg                                   important
gpgv                                    important
groff-base                              important
info                                    important
install-info                            important
iptables                                important
iputils-ping                            important
isc-dhcp-client                         important
isc-dhcp-common                         important
libapt-inst1.3                          important
libapt-pkg4.11                          important
libboost-iostreams1.46.1                important
libcwidget3                             important
libept1                                 important
libgdbm3                                important
libgdbm3                                important
libgudev-1.0-0                          important
libnewt0.52                             important
libpcre3                                important
libpipeline1                            important
libpopt0                                important
libreadline6                            important
libssl1.0.0                             important
libsysfs2                               important
libusb-0.1-4                            important
libxapian22                             important
logrotate                               important
man-db                                  important
manpages                                important
medibuntu-keyring                       important
nano                                    important
netbase                                 important
net-tools                               important
python                                  important
readline-common                         important
rsyslog                                 important
ubuntu-extras-keyring                   important
ubuntu-keyring                          important
vim-common                              important
vim-tiny                                important
wget                                    important
whiptail                                important
adduser                                 required
base-files                              required
base-passwd                             required
bash                                    required
bsdutils                                required
busybox-initramfs                       required
coreutils                               required
cpio                                    required
dash                                    required
debconf                                 required
debianutils                             required
diffutils                               required
dpkg                                    required
e2fslibs                                required
e2fsprogs                               required
findutils                               required
gcc-4.6-base                            required
gcc-4.6-base                            required
grep                                    required
gzip                                    required
hostname                                required
ifupdown                                required
initscripts                             required
insserv                                 required
iproute                                 required
klibc-utils                             required
libacl1                                 required
libacl1                                 required
libattr1                                required
libattr1                                required
libblkid1                               required
libbz2-1.0                              required
libc6                                   required
libc6                                   required
libc-bin                                required
libcomerr2                              required
libcomerr2                              required
libdb5.1                                required
libdbus-1-3                             required
libdevmapper1.02.1                      required
libdrm2                                 required
libdrm-intel1                           required
libdrm-nouveau1a                        required
libdrm-radeon1                          required
libffi6                                 required
libgcc1                                 required
libgcc1                                 required
libglib2.0-0                            required
libklibc                                required
liblocale-gettext-perl                  required
liblzma2                                required
libmount1                               required
libncurses5                             required
libncursesw5                            required
libnih1                                 required
libnih-dbus1                            required
libpam0g                                required
libpam-modules                          required
libpam-modules-bin                      required
libpam-runtime                          required
libpciaccess0                           required
libpcre3                                required
libplymouth2                            required
libpng12-0                              required
libselinux1                             required
libselinux1                             required
libslang2                               required
libss2                                  required
libssl1.0.0                             required
libstdc++6                              required
libstdc++6                              required
libtext-charwidth-perl                  required
libtext-iconv-perl                      required
libtext-wrapi18n-perl                   required
libtinfo5                               required
libudev0                                required
libuuid1                                required
libuuid1                                required
locales                                 required
login                                   required
lsb-base                                required
lzma                                    required
makedev                                 required
mawk                                    required
module-init-tools                       required
mount                                   required
mountall                                required
multiarch-support                       required
ncurses-base                            required
ncurses-bin                             required
passwd                                  required
perl-base                               required
plymouth                                required
procps                                  required
python2.7-minimal                       required
python-minimal                          required
sed                                     required
sensible-utils                          required
sysvinit-utils                          required
sysv-rc                                 required
tar                                     required
tzdata                                  required
udev                                    required
upstart                                 required
ureadahead                              required
util-linux                              required
xz-utils                                required
zlib1g                                  required
zlib1g                                  required
at                                      standard
bash-completion                         standard
bc                                      standard
bind9-host                              standard
dc                                      standard
dnsutils                                standard
file                                    standard
ftp                                     standard
gettext-base                            standard
less                                    standard
libbind9-60                             standard
libcap2                                 standard
libdb5.1                                standard
libdns69                                standard
libedit2                                standard
libevent-2.0-5                          standard
libgc1c2                                standard
libgcrypt11                             standard
libgcrypt11                             standard
libgnutls26                             standard
libgnutls26                             standard
libgpg-error0                           standard
libgpg-error0                           standard
libgpm2                                 standard
libgssapi-krb5-2                        standard
libgssapi-krb5-2                        standard
libidn11                                standard
libidn11                                standard
libisc62                                standard
libk5crypto3                            standard
libk5crypto3                            standard
libkeyutils1                            standard
libkeyutils1                            standard
libkrb5-3                               standard
libkrb5-3                               standard
libkrb5support0                         standard
libkrb5support0                         standard
libldap-2.4-2                           standard
libldap-2.4-2                           standard
liblockfile1                            standard
liblwres60                              standard
libmagic1                               standard
libpci3                                 standard
libsasl2-2                              standard
libsasl2-2                              standard
libsqlite3-0                            standard
libsqlite3-0                            standard
libtasn1-3                              standard
libtasn1-3                              standard
libxml2                                 standard
lsof                                    standard
m4                                      standard
make                                    standard
mime-support                            standard
mlocate                                 standard
openssh-client                          standard
patch                                   standard
pciutils                                standard
perl                                    standard
perl-modules                            standard
python-apt                              standard
python-central                          standard
telnet                                  standard
time                                    standard
ucf                                     standard
wamerican                               standard
whois                                   standard

Sistem Dasar didefinisikan sebagai sistem yang hanya berisi diperlukan dan penting paket.

Terkait:Bagaimana cara mematikan proses yang 'Sudo kill -9' tidak dapat membunuh tanpa reboot?

Paket ditandai sebagai standar tidak benar-benar diperlukan untuk sistem kerja, tetapi Anda dapat mengalami kesulitan jika melewatkannya.

Jadi, untuk menghapus semua paket yang tidak dibutuhkan (opsional dan tambahan ), Anda dapat menjalankan perintah berikut:

sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}n' | 
    awk '$2 ~ /optional|extra/ { print $1 }')

Saya menambahkan --simulate opsi untuk aman dan lihat apa yang apt katanya.

Anehnya, ia meminta untuk menghapus juga beberapa paket yang diperlukan:e2fsprogs , util-linux , hostname dan upstart , jadi perlu menginstal ulang paket-paket ini. Saya akan mengunduh paket terlebih dahulu (apt-get download <packages> ), untuk menghindari masalah jaringan setelahnya.

Perhatikan juga bahwa untuk Wifi yang berfungsi, Anda memerlukan beberapa opsional atau tambahan paket, dihapus dalam prosedur di atas.


Ubuntu
  1. Cara Mendaftar Paket yang Diinstal di Ubuntu

  2. Menemukan Semua Paket "penting" Dengan Apt?

  3. Paket Baru Vs Versi Baru?

  1. Cara Mendaftar Paket yang Diinstal di Ubuntu 20.04

  2. 5 Ekstensi Google Chrome Penting

  3. N Pembaruan Manajer Untuk Kubuntu?

  1. Instalasi Satu Dengan Wacom Di Ubuntu 16.04?

  2. Tidak Dapat Memperbarui Paket Anaconda Di Ubuntu 17.04?

  3. Hanya Root yang Dapat Dipasang, Mengapa?