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:
- dglob – Hozzon létre egy listát a mintának megfelelő csomagnevekről
- dgrep – Regex keresése az összes fájlban az adott csomagokban
- dpigs – Megjeleníti, hogy mely telepített csomagok foglalták el a legtöbb lemezterületet
- debget – Szerezzen be egy .deb fájlt egy csomaghoz az APT adatbázisában
- debmany – Válassza ki a telepített vagy eltávolított csomagok kézikönyvoldalait
- checkrestart – Megkeresi és újraindítja a frissített fájlok elavult verzióit használó folyamatokat
- popbugs – testreszabott kiadáskritikus hibajelentés megjelenítése a használt csomagok alapján
- 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.