Kako uporabljati 8 uporabnih pripomočkov za dobrote Debian za upravljanje paketov Debian


Debian-goodies je paket, ki vključuje pripomočke v stilu orodij, ki se uporabljajo za upravljanje Debiana in njegovih izpeljanih sistemov, kot sta Ubuntu in Kali Linux. Pripomočki v tem paketu so razviti tako, da se kombinirajo s številnimi priznanimi orodji lupine, vključena pa so tudi druga, ker jih ni mogoče razviti kot lastne pakete na distribucijah Linuxa, ki temeljijo na Debianu.

V tem priročniku si bomo ogledali, kako uporabljati pripomočke v paketu debian-goodies, ki vključujejo dglob, debget, dpigs, dgrep, debmany, checkrestart, popbugs in which-pkg-broken.

Oglejmo si opis vsakega orodja spodaj:

  1. dglob - ustvarite seznam imen paketov, ki se ujemajo z vzorcem
  2. dgrep - v vseh datotekah v danih paketih poiščite regularni izraz
  3. dpigs - prikaže, kateri nameščeni paketi zavzamejo največ prostora na disku
  4. debget - pridobite .deb za paket v bazi podatkov APT
  5. debmany - izberite strani z nameščenimi ali odstranjenimi paketi
  6. checkrestart - najde in znova zažene procese, ki uporabljajo zastarele različice nadgrajenih datotek
  7. popbugs - prikaže prilagojeno poročilo o napakah, ki je kritično za izdajo, na podlagi paketov, ki jih uporabljate
  8. which-pkg-broken - Ujemite, kateri paket je morda pokvaril drugega

To so zelo koristni pripomočki, ki lahko sistemsko skrbništvo olajšajo pri uporabi z drugimi orodji lupine. Dejansko orodje Debian-goodies prikazuje več informacij o paketih kot standardna orodja, kot so orodja dpkg in apt.

Kako namestiti dobrote Debian v Debian, Ubuntu in Linux Mint

Če želite namestiti paket debian-goodies, zaženite spodnji ukaz.

# sudo apt-get install debian-goodies

Ko je paket debian-goodies nameščen, je zdaj čas, da preverite uporabo vsakega pripomočka, ki ga ponuja ta paket, v preostalem članku.

Kako uporabljati pripomočke Debian-Goodies

Dglob ustvari seznam imen paketov ali datotek, kot je določeno v vzorcu. Če želite ustvariti ime vseh paketov, preprosto zaženite dglob ali vključite možnost -a.

[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
...

Če želite ugotoviti, ali v vašem sistemu obstaja paket, zaženite dglob z imenom paketa. V spodnjem primeru bomo iskali Firefox, Apache2 in debain-dobrote.

[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

Z možnostmi -f lahko natisnete seznam vseh datotek v določenem paketu.

[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
....

Pripomoček dgreb se uporablja za iskanje datotek v določenih imenih paketov za regularni izraz. V bistvu grepi skozi datoteke paketov, ki so nameščeni v vašem sistemu, in večina uporabljenih možnosti je tistih, ki se uporabljajo z grepom, razen nekaterih.

Če želite določiti vzorec, uporabite možnost -e , kot sledi.

[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.
...

Če želite natisniti ime vsake vhodne datoteke, iz katere bi bil natisnjen izhod, uporabite možnost -l .

[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
...

Če želite prikazati samo ujemajoče se dele ujemajoče se vrstice, uporabite možnost -o .

[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
...

Ta pripomoček se uporablja za prikaz paketov, ki so porabili največ prostora v vašem sistemu. Zelo pomembno je, zlasti če vam zmanjkuje prostora in želite odstraniti nekaj paketov.

Če želite izvedeti, da paketi porabijo največ prostora v vašem sistemu, preprosto zaženite ta ukaz.

[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

Z možnostjo -H lahko berete velikosti paketov v človeško berljivi obliki.

[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

Če želite določiti dano število paketov, razen privzetega, ki je 10, uporabite možnost -n .

[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

Če želite poiskati pomoč pri uporabi dpig-ov, uporabite možnost -h .

[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.

Debit se uporablja za pridobitev določenega .deb za paket iz baze podatkov APT-jeve pakete. V naslednjih primerih bomo pobrali datoteke .deb za pripomočke apache2, zip in tar.

[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

Vsi preneseni .deb paketi.

[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

Uporablja se za izbiro strani za ročni vnos nameščenih ali odstranjenih paketov v vašem sistemu. Ta pripomoček vam omogoča ogled vseh strani paketa.

Nekatere od naslednjih možnosti, ki jih lahko uporabite z debmany za prikaz strani z uporabo izbranega pregledovalnika:

Če uporabljate namizno okolje KDE, uporabite možnost -k , da uporabite kfmclient.

[email :~# debmany -k tar

Opomba: V mojem sistemu nisem nameščen KDE DE, zato je težko prikazati izhod zgornjega ukaza.

Če uporabljate namizno okolje GNOME, uporabite možnost -g za uporabo gnome-open.

[email :~# debmany -g tar

Če uporabljate namizno okolje KDE/GNOME/Xfce, uporabite možnost -x za uporabo kdg-open.

[email :~# debmany -x tar

Prepričajte se, da so zgornji pregledovalniki nameščeni, preden jih lahko uporabite, sicer lahko pride do napake.

Chechstart se uporablja za iskanje in ponovni zagon procesov, ki uporabljajo stare različice datotek, ki so že bile nadgrajene.

Če želite uporabiti checkrestart pri vseh procesih, uporabite možnost -a .

[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
...

Če želite določiti samo obdelavo izbrisanih datotek, ki so priložene določenemu paketu v sistemu, uporabite možnost -p .

[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

Podrobne izhodne informacije lahko ustvarite z uporabo možnosti -v .

[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

Uporablja se za prikaz seznama prilagojenih napak, kritičnih za izdajo, ki temeljijo na paketih, ki jih običajno uporabljate v sistemu. Ko prvič zaženete popbugove brez možnosti, se vam prikaže sporočilo, kot je spodnje.

[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

Če želite ustvariti dnevnik tekmovanja za priljubljenost, zaženite spodnji ukaz.

[email :~# /usr/sbin/popularity-contest > /var/log/popularity-contest

Če želite shraniti izhod v datoteko, uporabite –output =/pot/do/datoteke. Izhodna datoteka naj bo datoteka html.

[email :~# popbugs --output=/tmp/output.html

Če si želite ogledati izhodno datoteko, jo odprite v spletnem brskalniku, tako da določite mesto datoteke.

Za prikaz informacij o odpravljanju napak uporabite možnost -d .

[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
..

Uporablja se za iskanje paketov, ki so zlomili drug paket. Nekateri paketi lahko včasih pokvarijo vaš sistem, zlasti pri nadgradnji. Zato vam lahko pkg-broke pomaga najti pakete, ki so pokvarili vaš sistem ali določen paket v sistemu.

Če želite izvedeti pakete, ki so pokvarili apache2, zaženite spodnji ukaz.

[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
...

Povzetek

Obstaja veliko drugih pripomočkov, povezanih s tistimi, ki smo si jih ogledali, o katerih bomo morda izvedeli v naslednjih člankih. Upam, da vam je ta priročnik koristen in če se pri njihovi uporabi pojavijo napake ali imate kakšne druge ideje, dodajte komentar. Ostanite povezani s Tecmintom.