Wéi benotzt 8 Nëtzlech Debian Goodies Utilities fir Debian Packagen ze managen


Debian-goodies ass e Package deen Toolbox-Stil Utilities enthält déi benotzt gi fir Debian a seng Derivatsystemer wéi Ubuntu, Kali Linux ze managen. D'Utilities ënner dësem Package sinn op esou eng Manéier entwéckelt fir mat vill unerkannten Shell-Tools ze kombinéieren an anerer sinn abegraff well se net als hir eege Packagen op Debian-baséiert Linux Verdeelungen entwéckelt kënne ginn.

An dësem Guide wäerte mir kucken wéi d'Utilities ënner dem Debian-goodies Package benotzt ginn, déi dglob, debget, dpigs, dgrep, debmany, checkrestart, popbugs a wat-pkg-broke enthalen.

Loosst eis d'Beschreiwung vun all Tool hei ënnen kucken:

  1. dglob - Erstellt eng Lëscht vu Paketnamen déi mat engem Muster passen
  2. dgrep - Sicht all Dateien a bestëmmte Pakete fir e Regex
  3. dpigs - Weist wéi eng installéiert Packagen am meeschten Disk Space geholl hunn
  4. debget - Gitt eng .deb fir e Package an der Datebank vun APT
  5. debmany - Wielt Manpages vun installéierten oder ewechgeholle Packagen
  6. checkrestart - Fannt a restart Prozesser déi al Versioune vun aktualiséierten Dateien benotzen
  7. popbugs - Weist e personaliséierte Verëffentlechungskriteschen Bugsbericht baséiert op Packagen déi Dir benotzt
  8. which-pkg-broke - Fang wéi ee Package en anere gebrach hätt

Dëst si ganz nëtzlech Utilities déi Systemverwaltung vill méi einfach maache kënnen wann se mat anere Shell-Tools benotzt ginn. Tatsächlech weist Debian-goodies Tool méi Informatioun iwwer Packagen wéi Standard Tools wéi dpkg an apt Tools.

Wéi installéiere ech Debian-Goodies an Debian, Ubuntu a Linux Mint

Fir debian-goodies Package z'installéieren, lafen dëse Kommando hei ënnen.

# sudo apt-get install debian-goodies

Wann debian-goodies Package installéiert ass, ass et elo Zäit fir d'Benotzung vun all Utility vun dësem Package am Rescht vum Artikel ze kontrolléieren.

Wéi benotzen ech Debian-Goodies Utilities

Den dglob generéiert eng Lëscht vun Nimm vu Packagen oder Dateien wéi an engem Muster spezifizéiert. Fir den Numm vun alle Packagen ze generéieren, fuert einfach dglob oder enthält d'Optioun -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
...

Fir erauszefannen ob e Package op Ärem System existéiert, lafen dglob mam Package Numm. Am Beispill hei drënner wäerte mir no Firefox, Apache2 an Debain-Goodies sichen.

[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

Dir kënnt eng Lëscht vun all Dateien am spezifizéierte Package ausdrécken andeems Dir d'Optiounen -f benotzt.

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

D'dgreb Utility gëtt benotzt fir Dateien a spezifizéierte Packagenimm fir e regulären Ausdrock ze sichen. Et greps grondsätzlech duerch Dateie vu Packagen déi op Ärem System installéiert sinn an déi meescht vun den Optiounen, déi mat benotzt ginn, sinn déi benotzt mat grep ausser e puer.

Fir e Muster ze spezifizéieren, benotzt d'Optioun -e wéi follegt.

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

Fir den Numm vun all Inputdatei ze drécken, aus deem d'Ausgab gedréckt wier, benotzt d'Optioun -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
...

Fir nëmmen entspriechend Deeler vun enger passende Linn ze weisen, benotzt d'Optioun -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
...

Dëst Utility gëtt benotzt fir Packagen ze weisen déi am meeschte Plaz op Ärem System benotzt hunn. Et ass ganz wichteg besonnesch wann Dir keng Plaz hutt an e puer Pakete wëllt läschen.

Fir erauszefannen, datt Packagen am meeschte Plaz op Ärem System verbrauchen, fuert einfach dëse Kommando aus.

[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

Dir kënnt d'Optioun -H benotze fir Paketgréissten an engem mënschlech liesbare Format ze liesen.

[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

Fir eng bestëmmten Unzuel u Packagen ausser dem Standard ze spezifizéieren, deen 10 ass, benotzt d'Optioun -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

Fir Hëllef bei der Benotzung vun dpigs ze sichen, benotzt d'Optioun -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.

D'Debget gëtt benotzt fir e bestëmmten .deb fir e Package aus der Package Datebank vun APT ze kréien. An den nächsten Beispiller wäerte mir .deb Dateien fir Apache2, Zip an Tar Utilities sichen.

[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

All déi ofgeholl .deb Packagen.

[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

Et gëtt benotzt fir déi manuell Entréessäiten vun installéierten oder deinstalléierte Packagen op Ärem System ze wielen. Dëst Utility erlaabt Iech all Manpages vun engem Package ze gesinn.

E puer vun de folgenden Optiounen déi Dir mat debmany benotze kënnt fir d'Manpage ze weisen mat Ärem Betrachter vun der Wiel:

Wann Dir KDE Desktop-Ëmfeld benotzt, benotzt -k Optioun fir kfmclient ze benotzen.

[email :~# debmany -k tar

Bemierkung: Ech hunn net KDE DE op mengem System installéiert, also ass et schwéier d'Ausgab vum uewe genannte Kommando ze weisen.

Wann Dir GNOME Desktop-Ëmfeld benotzt, benotzt -g Optioun fir gnome-open ze benotzen.

[email :~# debmany -g tar

Wann Dir KDE/GNOME/Xfce Desktop-Ëmfeld benotzt, benotzt -x Optioun fir kdg-open ze benotzen.

[email :~# debmany -x tar

Vergewëssert Iech datt déi uewe genannte Zuschauer installéiert sinn ier Dir se benotze kënnt oder soss kënnt Dir e Feeler kréien.

De Chechstart gëtt benotzt fir Prozesser ze fannen an nei ze starten déi al Versioune vu Dateien benotzen déi scho aktualiséiert goufen.

Fir Checkrestart mat all Prozesser ze benotzen, benotzt d'Optioun -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
...

Fir nëmmen Prozess geläscht Dateien ze spezifizéieren, déi un engem bestëmmte Pak um System verbonne sinn, benotzt d'Optioun -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

Dir kënnt eng detailléiert Ausgangsinformatioun generéieren andeems Dir d'Optioun -v benotzt.

[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

Et gëtt benotzt fir eng Lëscht vu personaliséierte Release-kriteschen Bugs ze weisen baséiert op de Packagen déi Dir allgemeng op Ärem System benotzt. Wann Dir Popbugs ouni Optioun fir d'éischte Kéier leeft, weist et Iech e Message wéi deen hei drënner.

[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

Fir de Popularitéit-Concours Log ze generéieren, fuert dëse Kommando hei ënnen.

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

Fir d'Ausgab an enger Datei ze späicheren, benotzt d'Optioun –output=/path/to/file. D'Ausgabdatei sollt eng HTML Datei sinn.

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

Fir d'Ausgabdatei ze gesinn, öffnen d'Datei aus dem Webbrowser andeems Dir d'Dateiplaz spezifizéiert.

Fir Debugging Informatioun ze weisen, benotzt d'Optioun -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
..

Et gëtt benotzt fir Packagen ze fannen déi en anere Package gebrach hunn. Heiansdo kann Äre System vu bestëmmte Packagen gebrach ginn, besonnesch wann Dir en Upgrade. Dofir wat-pkg-broke kann Iech hëllefen d'Packagen ze fannen déi Äre System oder e bestëmmte Package um System gebrach hunn.

Fir Pakete erauszefannen déi Apache2 gebrach hunn, fuert dëse Kommando hei ënnen.

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

Resumé

Et gi vill aner Utilities am Zesummenhang mat deenen, déi mir gekuckt hunn, iwwer déi mir an de spéideren Artikele kënne léieren. Hoffen Dir fannt dëse Guide nëtzlech a wann Dir Feeler kritt wann Dir se benotzt oder aner Iddien hutt fir ze addéieren, post w.e.g. e Kommentar. Bleift verbonne mat Tecmint.