Hvordan bruke 8 nyttige Debian Goodies-verktøy for å administrere Debian-pakker
Debian-goodies er en pakke som inkluderer verktøy i verktøykassestil som brukes til å administrere Debian og dets avledede systemer som Ubuntu, Kali Linux. Verktøyene under denne pakken er utviklet på en slik måte å kombinere med mange anerkjente skallverktøy, og andre er inkludert fordi de ikke kan utvikles som sine egne pakker på Debian-baserte Linux-distribusjoner.
I denne veiledningen skal vi se på hvordan du bruker verktøyene under debian-goodies-pakken som inkluderer dglob, debget, dpigs, dgrep, debmany, checkrestart, popbugs og which-pkg-broke.
La oss se beskrivelsen av hvert verktøy nedenfor:
- dglob – Lag en liste over pakkenavn som samsvarer med et mønster
- dgrep – Søk i alle filer i gitte pakker etter et regulært uttrykk
- dpigs – Vis hvilke installerte pakker som tok mest diskplass
- debget – Skaff en .deb for en pakke i APTs database
- debmany – Velg manpages for installerte eller fjernede pakker
- sjekk omstart – Finner og starter på nytt prosesser som bruker utdaterte versjoner av oppgraderte filer
- popbugs – Vis en tilpasset utgivelseskritisk feilrapport basert på pakker du bruker
- which-pkg-broke – Fang hvilken pakke som kan ha ødelagt en annen
Dette er veldig nyttige verktøy som kan gjøre systemadministrasjon mye enklere når de brukes med andre skallverktøy. Faktisk viser Debian-goodies-verktøyet mer informasjon om pakker enn standardverktøy som dpkg og apt-verktøy.
Hvordan installere Debian-godbiter i Debian, Ubuntu og Linux Mint
For å installere debian-goodies-pakken, kjør denne kommandoen nedenfor.
# sudo apt-get install debian-goodies
Når debian-goodies-pakken er installert, er det nå på tide å sjekke bruken av hvert verktøy som tilbys av denne pakken i resten av artikkelen.
Hvordan bruke Debian-Goodies Utilities
Dgloben genererer en liste over navn på pakker eller filer som spesifisert i et mønster. For å generere navnet på alle pakkene, kjør ganske enkelt dglob eller inkluderer -a-alternativet.
[email :~# dglob fonts-sil-abyssinica libatk-adaptor openoffice-onlineupdate libvorbisfile3 libquadmath0 libxkbfile1 linux-sound-base python-apt-common python-gi-cairo libgs9-common libgom-1.0-common libqt5qml5 libgtk2.0-bin libregexp-common-perl evolution-data-server libaccount-plugin-generic-oauth bind9-host libhtml-tagset-perl iputils-ping libcgmanager0 evince ...
For å finne ut om det finnes en pakke på systemet ditt, kjør dglob med pakkenavn. I eksemplet nedenfor skal vi søke etter Firefox, Apache2 og debain-goodies.
[email :~# dglob firefox firefox-locale-en unity-scope-firefoxbookmarks firefox [email :~# dglob apache2 apache2 apache2-utils apache2-bin apache2-data [email :~# dglob debian-goodies debian-goodies
Du kan skrive ut en liste over alle filene i den angitte pakken ved å bruke -f
alternativene.
[email :~# dglob -f firefox /usr/share/doc/firefox-locale-en/copyright /usr/share/doc/firefox-locale-en/changelog.Debian.gz /usr/lib/firefox-addons/extensions/[email /usr/lib/firefox-addons/extensions/[email /usr/lib/firefox/distribution/searchplugins/locale/en-ZA/amazondotcom.xml /usr/lib/firefox/distribution/searchplugins/locale/en-ZA/google.xml /usr/lib/firefox/distribution/searchplugins/locale/en-ZA/ddg.xml /usr/lib/firefox/distribution/searchplugins/locale/en-GB/google.xml /usr/lib/firefox/distribution/searchplugins/locale/en-GB/amazon-en-GB.xml /usr/lib/firefox/distribution/searchplugins/locale/en-GB/ddg.xml /usr/lib/firefox/webapprt/extensions/[email /usr/lib/firefox/webapprt/extensions/[email /usr/share/unity/scopes/web/firefoxbookmarks.scope /usr/share/unity-scopes/firefoxbookmarks/unity_firefoxbookmarks_daemon.py /usr/share/unity-scopes/firefoxbookmarks/__init__.py /usr/share/doc/unity-scope-firefoxbookmarks/copyright ....
Dgreb-verktøyet brukes til å søke etter filer i spesifiserte pakkenavn for et regulært uttrykk. Det går i utgangspunktet gjennom filer med pakker som er installert på systemet ditt, og de fleste alternativene som brukes med er de som brukes med grep bortsett fra noen få.
For å spesifisere et mønster, bruk -e
-alternativet som følger.
[email :~# dgrep -e README apache2 /usr/sbin/apache2ctl: echo Setting ulimit failed. See README.Debian for more information. >&2 /usr/sbin/a2enmod: info( "See /usr/share/doc/apache2/README.Debian.gz on " /etc/apache2/mods-available/autoindex.conf: AddIcon /icons/hand.right.gif README /etc/apache2/mods-available/autoindex.conf: # ReadmeName is the name of the README file the server will look for by /etc/apache2/mods-available/autoindex.conf: ReadmeName README.html /etc/apache2/mods-available/cache_disk.conf: # /usr/share/doc/apache2/README.Debian, and the htcacheclean(8) /etc/apache2/sites-available/default-ssl.conf: # /usr/share/doc/apache2/README.Debian.gz for more info. ...
For å skrive ut navnet på hver inndatafil som utdata ville blitt skrevet ut fra, bruk -l
-alternativet.
[email :~# dgrep -l conf apache2 /usr/sbin/a2query /usr/sbin/apache2ctl /usr/sbin/a2enmod /usr/share/doc/apache2/migrate-sites.pl /usr/share/doc/apache2/copyright /usr/share/doc/apache2/README.multiple-instances /usr/share/doc/apache2/examples/setup-instance /usr/share/doc/apache2/examples/secondary-init-script /usr/share/doc/apache2/README.backtrace /usr/share/apache2/apache2-maintscript-helper /usr/share/lintian/overrides/apache2 /etc/bash_completion.d/apache2 /etc/init.d/apache2 ...
For å vise bare samsvarende deler av en samsvarende linje, bruk -o
-alternativet.
[email :~# dgrep -o conf apache2 /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf /usr/sbin/a2query:conf ...
Dette verktøyet brukes til å vise pakker som har brukt mest plass på systemet ditt. Det er veldig viktig spesielt når du går tom for plass og ønsker å fjerne noen pakker.
For å finne ut pakker som bruker mest plass på systemet ditt, kjør bare denne kommandoen.
[email :~# dpigs 158762 linux-image-extra-4.2.0-16-generic 157066 linux-image-extra-3.19.0-31-generic 155037 wine1.8-amd64 143459 wine1.8-i386 103364 linux-firmware 100412 firefox 96741 openjdk-8-jre-headless 96302 libgl1-mesa-dri 90808 thunderbird 90652 liboxideqtcore0
Du kan bruke -H
-alternativet for å lese pakkestørrelser i et format som kan leses av mennesker.
[email :~# dpigs -H 155.0M linux-image-extra-4.2.0-16-generic 153.4M linux-image-extra-3.19.0-31-generic 151.4M wine1.8-amd64 140.1M wine1.8-i386 100.9M linux-firmware 98.1M firefox 94.5M openjdk-8-jre-headless 94.0M libgl1-mesa-dri 88.7M thunderbird 88.5M liboxideqtcore0
For å spesifisere et gitt antall pakker bortsett fra standarden som er 10, bruk -n
alternativet.
[email :~# dpigs -H -n 15 155.0M linux-image-extra-4.2.0-16-generic 153.4M linux-image-extra-3.19.0-31-generic 151.4M wine1.8-amd64 140.1M wine1.8-i386 100.9M linux-firmware 98.1M firefox 94.5M openjdk-8-jre-headless 94.0M libgl1-mesa-dri 88.7M thunderbird 88.5M liboxideqtcore0 87.9M libgl1-mesa-dri 81.3M openoffice-core04 77.8M fonts-horai-umefont 64.2M linux-headers-4.2.0-16 61.5M ubuntu-docs
For å søke hjelp til å bruke dpigs, bruk -h
-alternativet.
[email :~# dpigs -h Usage: dpigs [options] Options: -n, --lines=N Display the N largest packages on the system (default 10). -s, --status=status-file Use status-file instead of the default dpkg status file. -S, --source Display the largest source packages of binary packages installed on the system. -H, --human-readable Display package sizes in human-readable format (like ls -lh or du -h) -h, --help Display this message.
Debget brukes til å få en gitt .deb for en pakke fra APTs pakkedatabase. I de neste eksemplene skal vi hente .deb-filer for apache2, zip og tar-verktøy.
[email :~# debget apache2 (apache2 -> 2.4.12-2ubuntu2)
[email :~# debget zip (zip -> 3.0-11) Downloading zip from http://in.archive.ubuntu.com/ubuntu/pool/main/z/zip/zip_3.0-11_amd64.deb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 154k 0 1211 0 0 2039 0 0:01:17 --:--:-- 0:01:17 47 154k 47 75059 0 0 44694 0 0:00:03 0:00:01 0:00:02 100 154k 100 154k 0 0 74182 0 0:00:02 0:00:02 --:--:-- 74220
[email :~# debget tar (tar -> 1.27.1-2) Downloading tar from http://in.archive.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.27.1-2_amd64.deb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 15 191k 15 30155 0 0 48338 0 0:00:04 --:--:-- 0:00:04 100 191k 100 191k 0 0 201k 0 --:--:-- --:--:-- --:--:-- 201k
Alle de hentede .deb-pakkene.
[email :~# dir -hl total 348K -rw-r--r-- 1 root root 86K Dec 30 12:46 apache2_2.4.7-1ubuntu4.6_amd64.deb -rw-r--r-- 1 root root 192K Dec 30 12:46 tar_1.27.1-2_amd64.deb -rw-r--r-- 1 root root 155K Dec 30 12:46 zip_3.0-11_amd64.deb
Den brukes til å velge manuelle inngangssider for installerte eller avinstallerte pakker på systemet ditt. Dette verktøyet lar deg se alle manpages til en pakke.
Noen av de følgende alternativene du kan bruke med debmany for å vise manpagen ved å bruke visningsprogrammet du ønsker:
Hvis du bruker KDE skrivebordsmiljø, bruk alternativet -k
for å bruke kfmclient.
[email :~# debmany -k tar
Merk: Jeg har ikke KDE DE installert på systemet mitt, så det er vanskelig å vise utdata fra kommandoen ovenfor.
Hvis du bruker GNOME-skrivebordsmiljø, bruk -g
-alternativet for å bruke gnome-open.
[email :~# debmany -g tar
Hvis du bruker KDE/GNOME/Xfce skrivebordsmiljø, bruk alternativet -x
for å bruke kdg-open.
[email :~# debmany -x tar
Sørg for at visningsprogrammer ovenfor er installert før du kan bruke dem, ellers kan du få en feilmelding.
Chechstart brukes til å finne og starte på nytt prosesser som bruker gamle versjoner av filer som allerede er oppgradert.
For å bruke checkrestart med alle prosesser, bruk -a
-alternativet.
[email :~# checkrestart -a lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. Found 30 processes using old versions of upgraded files (28 distinct programs) (23 distinct packages) Of these, 1 seem to contain systemd service definitions or init scripts which can be used to restart them. The following packages seem to have definitions that could be used to restart their services: openssh-server: 1947 /usr/sbin/sshd 1889 /usr/sbin/sshd These are the initd scripts: service ssh restart ...
For å spesifisere kun behandle slettede filer som er knyttet til en gitt pakke på systemet, bruk -p
alternativet.
[email :~# checkrestart -p lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. Found 0 processes using old versions of upgraded files
Du kan generere en detaljert utdatainformasjon ved å bruke -v
-alternativet.
[email :~# checkrestart -v lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. Found 1 processes using old versions of upgraded files (1 distinct program) [DEBUG] Process /usr/bin/update-manager (PID: 2027) List of deleted files in use: /var/cache/apt/pkgcache.bin /var/lib/dpkg/status (deleted) /var/cache/apt/pkgcache.bin /var/lib/dpkg/status (deleted) /var/cache/apt/pkgcache.bin /var/lib/dpkg/status (deleted) /var/cache/apt/pkgcache.bin /var/lib/dpkg/status (deleted) [DEBUG] Running:['dpkg-query', '--search', '/usr/bin/update-manager'] [DEBUG] Reading line from dpkg-query: update-manager: /usr/bin/update-manager [DEBUG] Found package update-manager for program /usr/bin/update-manager (1 distinct packages) [DEBUG] Running:['dpkg-query', '--listfiles', 'update-manager'] These processes (1) do not seem to have an associated init script to restart them: update-manager: 2027 /usr/bin/update-manager
Den brukes til å vise en liste over tilpassede utgivelseskritiske feil basert på pakkene du vanligvis bruker på systemet ditt. Når du kjører popbugs uten noe alternativ for første gang, vil den vise deg en melding som den nedenfor.
[email :~# popbugs There is no popularity-contest data present on your system. This probably means that popularity-contest has not yet run since it was installed. Try waiting for /etc/cron.daily/popularity-contest to to collect some data or manually run (as root user): /usr/sbin/popularity-contest >/var/log/popularity-contest
For å generere popularitetskonkurranseloggen, kjør denne kommandoen nedenfor.
[email :~# /usr/sbin/popularity-contest > /var/log/popularity-contest
For å lagre utdata i en fil, bruk alternativet –output=/path/to/file. Utdatafilen skal være en html-fil.
[email :~# popbugs --output=/tmp/output.html
For å se utdatafilen, åpne filen fra nettleseren ved å spesifisere filplasseringen.
For å vise feilsøkingsinformasjon, bruk -d
-alternativet.
[email :~# popbugs --d POPCON: Adding package zeitgeist-core POPCON: Adding package upstart POPCON: Adding package unity-gtk2-module POPCON: Adding package whoopsie POPCON: Adding package xserver-xorg-input-evdev POPCON: Adding package unity-services POPCON: Adding package zlib1g POPCON: Adding package xserver-xorg-core ..
Den brukes til å finne pakker som har ødelagt en annen pakke. Noen ganger kan systemet ditt bli ødelagt av visse pakker, spesielt når du oppgraderer det. Derfor kan hvilken-pkg-broke hjelpe deg med å finne pakkene som har ødelagt systemet ditt eller en bestemt pakke på systemet.
For å finne ut pakker som har ødelagt apache2, kjør denne kommandoen nedenfor.
[email :~# which-pkg-broke apache2 Package apache2 has no install time info Package mysql-common has no install time info Package libaprutil1-ldap has no install time info Package has no install time info Package libmysqlclient18 has no install time info Package has no install time info Package libaprutil1-dbd-sqlite3 has no install time info Package has no install time info Package libaprutil1-dbd-mysql has no install time info Package apache2-utils has no install time info Package libpq5 has no install time info Package apache2-data has no install time info Package libaprutil1-dbd-pgsql has no install time info Package libaprutil1-dbd-odbc has no install time info libacl1:amd64 Wed Apr 22 17:31:54 2015 libattr1:amd64 Wed Apr 22 17:31:54 2015 insserv Wed Apr 22 17:31:54 2015 libc6:amd64 Wed Apr 22 17:31:55 2015 ...
Sammendrag
Det er mange andre verktøy relatert til de vi har sett på, som vi kan lære om i påfølgende artikler. Håper du finner denne veiledningen nyttig, og hvis du får noen feil når du bruker dem eller har andre ideer å legge til, vennligst legg inn en kommentar. Hold deg tilkoblet Tecmint.