Kuinka käyttää 8 hyödyllistä Debian-herkkuja -apuohjelmaa Debian-pakettien hallintaan
Debian-goodies on paketti, joka sisältää työkalupakki-tyyliset apuohjelmat, joita käytetään Debianin ja sen johdannaisten, kuten Ubuntu, Kali Linux, hallintaan. Tämän paketin apuohjelmat on kehitetty siten, että ne voidaan yhdistää monien tunnustettujen shell-työkalujen kanssa, ja muut ovat mukana, koska niitä ei voida kehittää omina paketteina Debian-pohjaisiin Linux-jakeluihin.
Tässä oppaassa tarkastellaan, kuinka debian-goodies-paketin alla olevia apuohjelmia käytetään, kuten dglob, debget, dpigs, dgrep, debmany, checkrestart, popbugs ja which-pkg-broken.
Katsotaanpa kunkin työkalun kuvaus alla:
- dglob - Laadi luettelo pakettien nimistä, jotka vastaavat mallia
- dgrep - etsi regexiä kaikista annettujen pakettien tiedostoista
- dpigs - Näytä, mitkä asennetut paketit viivät eniten levytilaa
- debget - Hanki .deb paketille APT: n tietokannasta
- debmany - Valitse asennettujen tai poistettujen pakettien sivut
- checkrestart - etsii ja käynnistää prosessit, joissa käytetään päivitettyjen tiedostojen vanhentuneita versioita
- popbugs - Näytä räätälöity julkaisukriittinen virheraportti käyttämiesi pakettien perusteella
- which-pkg-broken - Ota kiinni, mikä paketti on saattanut rikkoa toisen
Nämä ovat erittäin hyödyllisiä apuohjelmia, jotka voivat tehdä järjestelmän hallinnasta paljon helpompaa, kun niitä käytetään muiden kuoretyökalujen kanssa. Itse asiassa Debian-goodies -työkalu näyttää enemmän tietoa paketeista kuin tavalliset työkalut, kuten dpkg ja apt-työkalut.
Kuinka asentaa Debian-herkkuja Debianiin, Ubuntuun ja Linux Mintiin
Asenna debian-goodies -paketti suorittamalla tämä komento alla.
# sudo apt-get install debian-goodies
Kun debian-goodies-paketti on asennettu, on nyt aika tarkistaa tämän paketin tarjoamien apuohjelmien käyttö loppuartikkelissa.
Kuinka käyttää Debian-Goodies-apuohjelmia
Dglob luo luettelon pakettien tai tiedostojen nimistä mallissa määritetyllä tavalla. Luo kaikkien pakettien nimi yksinkertaisesti suorittamalla dglob tai sisällyttämällä -a-vaihtoehto.
[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 ...
Suorita dglob with package name saadaksesi selville, onko järjestelmässä paketti. Seuraavassa esimerkissä etsimme Firefoxia, Apache2: ta ja debain-herkkuja.
[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
Voit tulostaa luettelon kaikista määritetyn paketin tiedostoista -f
-asetusten avulla.
[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-apuohjelmaa käytetään etsimään tiedostoja määritetyissä pakettinimissä säännöllistä lauseketta varten. Pohjimmiltaan se käy läpi järjestelmään asennettujen pakettien tiedostot, ja suurin osa käytetyistä vaihtoehdoista on niitä, joita käytetään grepissä, muutamia lukuun ottamatta.
Määritä kuvio käyttämällä -e
-vaihtoehtoa seuraavasti.
[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. ...
Jos haluat tulostaa jokaisen syötetiedoston nimen, josta tulosteet olisi tulostettu, käytä -l
-vaihtoehtoa.
[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 ...
Jos haluat näyttää vain vastaavan rivin vastaavat osat, käytä -o
-vaihtoehtoa.
[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 ...
Tätä apuohjelmaa käytetään näyttämään paketteja, jotka ovat käyttäneet eniten tilaa järjestelmässäsi. Se on erittäin tärkeää varsinkin kun tila on loppumassa ja haluat poistaa joitain paketteja.
Suorita tämä komento saadaksesi selville järjestelmän eniten tilaa vievät paketit.
[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
Voit käyttää -H
-vaihtoehtoa lukeaksesi pakettikoot ihmisen luettavassa muodossa.
[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
Voit määrittää tietyn määrän paketteja lukuun ottamatta oletusarvoa, joka on 10, käyttämällä -n
-vaihtoehtoa.
[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
Voit etsiä apua dpigs-sovellusten käytöstä -h
-vaihtoehdolla.
[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.
Debgetiä käytetään tietyn .deb-paketin saamiseen APT: n pakettitietokannasta. Seuraavissa esimerkeissä haetaan .deb-tiedostot apache2-, zip- ja tar-apuohjelmille.
[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
Kaikki haetut .deb-paketit.
[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
Sitä käytetään valitsemaan järjestelmään asennettujen tai poistettujen pakettien manuaaliset syötesivut. Tämän apuohjelman avulla voit tarkastella kaikkia paketin sivuja.
Joitakin seuraavista vaihtoehdoista, joita voit käyttää debmanyn kanssa näyttääksesi sivun valitsemallasi katseluohjelmalla:
Jos käytät KDE-työpöytäympäristöä, käytä -k
-vaihtoehtoa kfmclientin käyttämiseen.
[email :~# debmany -k tar
Huomaa: Minulla ei ole KDE DE: tä asennettuna järjestelmään, joten yllä olevan komennon lähtö on vaikea näyttää.
Jos käytät GNOME-työpöytäympäristöä, käytä -g
-vaihtoehtoa käyttääksesi gnome-open -ohjelmaa.
[email :~# debmany -g tar
Jos käytät työpöytäympäristöä KDE/GNOME/Xfce, käytä -x
-vaihtoehtoa käyttääksesi kdg-open -ohjelmaa.
[email :~# debmany -x tar
Varmista, että yllä olevat katsojat on asennettu, ennen kuin voit käyttää niitä, muuten saatat saada virheen.
Chechstartia käytetään etsimään ja käynnistämään uudestaan prosessit, jotka käyttävät vanhoja tiedostopäivityksiä jo päivitetyistä tiedostoista.
Jos haluat käyttää checkrestartia kaikissa prosesseissa, käytä -a
-vaihtoehtoa.
[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 ...
Voit määrittää vain prosessin poistetut tiedostot, jotka on liitetty tiettyyn järjestelmän pakettiin, käyttämällä -p
-vaihtoehtoa.
[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
Voit luoda yksityiskohtaiset tulosteet käyttämällä -v
-vaihtoehtoa.
[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
Sitä käytetään luettelon mukautetuista julkaisukriittisistä virheistä, jotka perustuvat järjestelmässäsi yleisesti käytettyihin paketteihin. Kun suoritat popbugeja ilman mitään vaihtoehtoa ensimmäistä kertaa, se näyttää sinulle alla olevan kaltaisen viestin.
[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
Luo suosio-kilpailuloki suorittamalla tämä komento alla.
[email :~# /usr/sbin/popularity-contest > /var/log/popularity-contest
Jos haluat tallentaa lähdön tiedostoon, käytä –output =/path/to/file -vaihtoehtoa. Tulostustiedoston tulee olla HTML-tiedosto.
[email :~# popbugs --output=/tmp/output.html
Voit tarkastella tulostetiedostoa avaamalla tiedoston verkkoselaimesta määrittämällä tiedoston sijainnin.
Voit näyttää virheenkorjaustiedot käyttämällä -d
-vaihtoehtoa.
[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 ..
Sitä käytetään pakettien löytämiseen, jotka ovat rikkoneet toisen paketin. Joskus tietyt paketit saattavat rikkoa järjestelmän, varsinkin kun päivität sitä. Siksi which-pkg-broken voi auttaa sinua löytämään paketit, jotka ovat rikkoneet järjestelmän tai tietyn paketin järjestelmästä.
Voit selvittää paketit, jotka ovat rikkoneet apache2, suorittamalla tämän komennon alla.
[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 ...
Yhteenveto
Tarkasteluihimme liittyy monia muita apuohjelmia, joista voimme oppia seuraavissa artikkeleissa. Toivottavasti löydät tämän oppaan hyödylliseksi ja jos saat virheitä käyttäessäsi niitä tai sinulla on muita ideoita lisätäksesi, lähetä kommentti. Pysy yhteydessä Tecmintiin.