Bei dem Versuch, mehr über Ubuntu und seine Pakete zu erfahren, möchte ich alle nicht wesentlichen Pakete entfernen, damit ich installieren kann, was ich brauche, wann ich sie brauche und weiß, was sie tun.
Ich verwende die Befehle dpkg --clear-selections
und apt-get dselect-upgrade
dafür. Ich modifiziere die Auswahl auch leicht, indem ich apt libstdc++6 (due to apt) install-info (due to grep)
setze zu installieren wieder (irgendwie denkt dpkg, dass sie nicht wesentlich sind, aber apt-get beschwert sich).
Ist das ok, oder ist das schlimm? Wenn es in Ordnung ist, was mache ich mit der großen Liste von Paketen mit dem Status „deinstallieren“ in dpkg?
Ein zusätzlicher Hinweis:Ich mache dies auf einer VPS-Vorlage, sodass ich keine Kontrolle über die anfänglich installierten Pakete habe.
Beste Antwort
Mit dem folgenden Befehl erhalten Sie eine nach Priorität geordnete Liste der installierten Pakete:
dpkg-query -Wf '${Package;-40}${Priority}n' | sort -b -k2,2 -k1,1
Eine Beschreibung der Prioritäten finden Sie im Debian Policy Manual.
In meiner Installation erhalte ich Folgendes (ich zeige nur erforderlich , wichtig und Standard Pakete):
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
Das Basissystem ist als ein System definiert, das nur erforderlich enthält und wichtig Pakete.
Verwandte:Wie kann man den Prozess beenden, den „sudo kill -9“ ohne Neustart nicht beenden kann?Als Standard gekennzeichnete Pakete werden für ein funktionierendes System nicht unbedingt benötigt, aber Sie können in Schwierigkeiten geraten, wenn Sie sie verpassen.
Um also alle nicht benötigten Pakete zu entfernen (optional und zusätzlich ), können Sie den folgenden Befehl ausführen:
sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}n' |
awk '$2 ~ /optional|extra/ { print $1 }')
Ich habe den --simulate
hinzugefügt Option, um auf Nummer sicher zu gehen und zu sehen, was apt
ist sagt.
Seltsamerweise werden auch einige erforderliche Pakete entfernt:e2fsprogs
, util-linux
, hostname
und upstart
, daher ist es notwendig, diese Pakete neu zu installieren. Ich würde die Pakete vorher herunterladen (apt-get download <packages>
), um Netzwerkprobleme danach zu vermeiden.
Berücksichtigen Sie auch, dass Sie für ein funktionierendes WLAN einige optionale benötigen können oder zusätzlich Paket, das im obigen Verfahren entfernt wurde.