Weboldal keresés

8 hasznos „Debian Goodies Utilities” használata a Debian csomagok kezelésére


A Debian-goodies egy olyan csomag, amely a Debian és származékos rendszerei, például az Ubuntu, a Kali Linux kezelésére használt eszköztár-szerű segédprogramokat tartalmaz. A csomaghoz tartozó segédprogramok úgy lettek kifejlesztve, hogy számos elismert shell-eszközzel kombinálhatók legyenek, másokat pedig azért tartalmaznak, mert nem fejleszthetők saját csomagként Debian-alapú Linux disztribúciókon.

Ebben az útmutatóban megvizsgáljuk, hogyan használhatjuk a debian-goodies csomag segédprogramjait, amelyek a következőket tartalmazzák: dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs és which-pkg-broke.

Nézzük meg az alábbiakban az egyes eszközök leírását:

  1. dglob – Hozzon létre egy listát a mintának megfelelő csomagnevekről
  2. dgrep – Regex keresése az összes fájlban az adott csomagokban
  3. dpigs – Megjeleníti, hogy mely telepített csomagok foglalták el a legtöbb lemezterületet
  4. debget – Szerezzen be egy .deb fájlt egy csomaghoz az APT adatbázisában
  5. debmany – Válassza ki a telepített vagy eltávolított csomagok kézikönyvoldalait
  6. checkrestart – Megkeresi és újraindítja a frissített fájlok elavult verzióit használó folyamatokat
  7. popbugs – testreszabott kiadáskritikus hibajelentés megjelenítése a használt csomagok alapján
  8. which-pkg-broke – Fogd meg, melyik csomag törhetett szét egy másikat

Ezek nagyon hasznos segédprogramok, amelyek a Rendszeradminisztrációt sokkal egyszerűbbé tehetik, ha más shell-eszközökkel használják. Valójában a Debian-goodies eszköz több információt mutat a csomagokról, mint a szabványos eszközök, például a dpkg és az apt eszközök.

Olvassa el még: Tanuljon meg 15 dpkg parancsot és 25 apt-get parancsot a csomagok kezelésére a Debianban és annak származékaiban.

Debian-jóságok telepítése Debian, Ubuntu és Linux Mint rendszerben

A debian-goodies csomag telepítéséhez futtassa az alábbi parancsot.

sudo apt-get install debian-goodies

A debian-goodies csomag telepítése után itt az ideje, hogy a cikk további részében megvizsgáljuk a csomag által biztosított egyes segédprogramok használatát.

A Debian-Goodies segédprogramok használata

1. dglob segédprogram

A dglob létrehozza a csomagok vagy fájlok nevének listáját a mintában meghatározottak szerint. Az összes csomag nevének generálásához egyszerűen futtassa a dglob parancsot, vagy adja meg a -a opciót.

root@tecmint:~# 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
...

Ha meg szeretné tudni, hogy létezik-e csomag a rendszeren, futtassa a dglob programot a csomagnévvel. Az alábbi példában a Firefox, az Apache2 és a debain-goodies kifejezésekre fogunk keresni.

root@tecmint:~# dglob firefox
firefox-locale-en
unity-scope-firefoxbookmarks
firefox
root@tecmint:~# dglob apache2
apache2
apache2-utils
apache2-bin
apache2-data
root@tecmint:~# dglob debian-goodies
debian-goodies

A -f opciók használatával kinyomtathatja a megadott csomagban lévő összes fájl listáját.

root@tecmint:~# 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
....

2. A dgrep segédprogram használata

A dgreb segédprogram meghatározott csomagnevekben lévő fájlok keresésére szolgál egy reguláris kifejezéshez. Alapvetően a rendszerre telepített csomagok fájljain keresztül greplik, és néhány kivételével a legtöbb opció a grep-hez használt opciókat használja.

A minta megadásához használja a -e opciót az alábbiak szerint.

root@tecmint:~# 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.
...

Minden egyes bemeneti fájl nevének kinyomtatásához használja a -l kapcsolót.

root@tecmint:~# 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
...

Ha csak egyező sor egyező részeit szeretné megjeleníteni, használja a -o opciót.

root@tecmint:~# 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
...

3. A dpigs segédprogram használata

Ez a segédprogram azon csomagok megjelenítésére szolgál, amelyek a legtöbb helyet foglalták el a rendszeren. Ez nagyon fontos, különösen akkor, ha kifogy a helyed, és el akarsz távolítani néhány csomagot.

Ha meg szeretné tudni, hogy mely csomagok foglalják el a legtöbb helyet a rendszeren, egyszerűen futtassa ezt a parancsot.

root@tecmint:~# 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

Használhatja a -H opciót a csomagméretek ember által olvasható formátumban történő olvasásához.

root@tecmint:~# 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

Adott számú csomag megadásához az alapértelmezett 10 kivételével, használja a -n opciót.

root@tecmint:~# 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

Ha segítséget szeretne kérni a dpig használatához, használja a -h kapcsolót.

root@tecmint:~# 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.

4. A debget segédprogram használata

A debget arra szolgál, hogy egy adott .deb-et kapjon egy csomaghoz az APT csomagadatbázisából. A következő példákban .deb fájlokat fogunk lekérni az apache2, zip és tar segédprogramokhoz.

root@tecmint:~# debget apache2
(apache2 -> 2.4.12-2ubuntu2)
root@tecmint:~# 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
root@tecmint:~# 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

Az összes letöltött .deb csomag.

root@tecmint:~# 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

5. A debmany segédprogram használata

A rendszeren lévő telepített vagy eltávolított csomagok kézi beviteli oldalainak kiválasztására szolgál. Ezzel a segédprogrammal megtekintheti egy csomag összes manoldalát.

A következő opciók közül néhányat használhat a debmany-val a manoldal megjelenítéséhez a választott megjelenítővel:

Ha KDE asztali környezetet használ, használja a -k kapcsolót a kfmclient használatához.

root@tecmint:~# debmany -k tar

Megjegyzés: A rendszeremen nincs telepítve a KDE DE, ezért nehéz megjeleníteni a fenti parancs kimenetét.

Ha GNOME asztali környezetet használ, használja a -g kapcsolót a gnome-open használatához.

root@tecmint:~# debmany -g tar

Ha KDE/GNOME/Xfce asztali környezetet használ, használja a -x kapcsolót a kdg-open használatához.

root@tecmint:~# debmany -x tar

Győződjön meg arról, hogy a fenti megjelenítők telepítve vannak, mielőtt használhatná őket, különben hibaüzenetet kaphat.

6. A checkrestart segédprogram használata

A chechstart a már frissített fájlok régi verzióit használó folyamatok megkeresésére és újraindítására szolgál.

Az újraindítás ellenőrzéséhez az összes folyamathoz használja a -a kapcsolót.

root@tecmint:~# 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
...

Ha csak a rendszer adott csomagjához csatolt törölt fájlokat szeretné feldolgozni, használja a -p kapcsolót.

root@tecmint:~# 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

Részletes kimeneti információkat a -v kapcsolóval állíthat elő.

root@tecmint:~# 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

7. A popbugs segédprogram használata

A rendszeren általánosan használt csomagok alapján testreszabott kiadáskritikus hibák listájának megjelenítésére szolgál. Amikor első alkalommal futtatja a popbugs opciókat, akkor az alábbihoz hasonló üzenet jelenik meg.

root@tecmint:~# 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

A népszerűségi verseny napló létrehozásához futtassa az alábbi parancsot.

root@tecmint:~# /usr/sbin/popularity-contest > /var/log/popularity-contest

A kimenet fájlban való tárolásához használja a –output=/elérési út/fájlhoz opciót. A kimeneti fájlnak html fájlnak kell lennie.

root@tecmint:~# popbugs --output=/tmp/output.html

A kimeneti fájl megtekintéséhez nyissa meg a fájlt a webböngészőből a fájl helyének megadásával.

A hibakeresési információk megjelenítéséhez használja a -d kapcsolót.

root@tecmint:~# 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
..

8. A which-pkg-broke segédprogram használata

Olyan csomagok keresésére szolgál, amelyek egy másik csomagot tönkretesznek. Előfordulhat, hogy rendszerét bizonyos csomagok tönkretehetik, különösen frissítéskor. Ezért a which-pkg-broke segíthet megtalálni azokat a csomagokat, amelyek tönkretették a rendszert vagy egy adott csomagot a rendszeren.

Az apache2-t feltörő csomagok kiderítéséhez futtassa az alábbi parancsot.

root@tecmint:~# 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
...

Összegzés

Számos más segédprogram is kapcsolódik azokhoz, amelyeket megvizsgáltunk, amelyekről a következő cikkekben olvashatunk. Reméljük, hogy hasznosnak találja ezt az útmutatót, és ha bármilyen hibát észlel a használat során, vagy bármilyen további ötlete van, írjon megjegyzést. Maradjon kapcsolatban a Tecminttel.