Debian Paketlerini Yönetmek İçin 8 Faydalı 'Debian Goodies Yardımcı Programı' Nasıl Kullanılır?


Debian-goodies, Debian'ı ve onun Ubuntu, Kali Linux gibi türev sistemlerini yönetmek için kullanılan araç kutusu tarzı yardımcı programları içeren bir pakettir. Bu paket kapsamındaki yardımcı programlar, tanınmış birçok kabuk aracıyla birleştirilecek şekilde geliştirilmiş olup, diğerleri Debian tabanlı Linux dağıtımlarında kendi paketleri olarak geliştirilemedikleri için dahil edilmiştir.

Bu kılavuzda debian-goodies paketi kapsamındaki dglob, debget, dpigs<'i içeren yardımcı programların nasıl kullanılacağına bakacağız., dgrep, debmany, checkrestart, popbugs ve hangi-pkg-kırdı güçlü>.

Aşağıda her bir aracın açıklamasını görelim:

  1. dglob – Bir kalıpla eşleşen paket adlarının bir listesini üretir
  2. dgrep – Bir normal ifade için belirli paketlerdeki tüm dosyaları arayın
  3. dpigs – Hangi yüklü paketlerin en fazla disk alanını kapladığını görüntüler
  4. debget – APT'nin veritabanındaki bir paket için bir .deb edinin
  5. debmany – Yüklü veya kaldırılmış paketlerin man sayfalarını seçin
  6. checkrestart – Yükseltilmiş dosyaların eski sürümlerini kullanan işlemleri bulur ve yeniden başlatır
  7. popbugs – Kullandığınız paketlere göre özelleştirilmiş, yayın açısından kritik bir hata raporu gösterir
  8. hangi-pkg-kırdı – Hangi paketin başka bir paketi bozmuş olabileceğini yakalayın

Bunlar, diğer kabuk araçlarıyla birlikte kullanıldığında Sistem Yönetimini çok daha kolay hale getirebilecek çok faydalı yardımcı programlardır. Aslında Debian-goodies aracı, paketler hakkında dpkg ve apt araçları gibi standart araçlardan daha fazla bilgi gösterir.

Ayrıca Okuyun: Debian ve türevlerindeki paketleri yönetmek için 15 dpkg komutunu ve 25 apt-get komutunu öğrenin.

Debian-güzellikleri Debian, Ubuntu ve Linux Mint'e Nasıl Kurulur

debian-goodies paketini kurmak için aşağıdaki komutu çalıştırın.

sudo apt-get install debian-goodies

debian-goodies paketi yüklendikten sonra, makalenin geri kalanında bu paket tarafından sağlanan her bir yardımcı programın kullanımına göz atmanın zamanı geldi.

Debian-Goodies Yardımcı Programları Nasıl Kullanılır?

1.dglob Yardımcı Programı

dglob, bir kalıpta belirtildiği şekilde paket veya dosya adlarının bir listesini oluşturur. Tüm paketlerin adını oluşturmak için dglob'u çalıştırmanız veya -a seçeneğini eklemeniz yeterlidir.

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

Sisteminizde bir paket olup olmadığını öğrenmek için paket adıyla dglob'u çalıştırın. Aşağıdaki örnekte Firefox, Apache2 ve debain-goodies'i arayacağız.

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

-f seçeneklerini kullanarak belirtilen paketteki tüm dosyaların listesini yazdırabilirsiniz.

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. dgrep Yardımcı Programı Nasıl Kullanılır

dgreb yardımcı programı, normal bir ifade için belirtilen paket adlarındaki dosyaları aramak için kullanılır. Temel olarak sisteminizde yüklü olan paketlerin dosyaları arasında grep yapar ve kullanılan seçeneklerin çoğu, birkaçı dışında grep ile kullanılanlardır.

Bir kalıp belirtmek için -e seçeneğini aşağıdaki gibi kullanın.

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

Çıktının yazdırılacağı her giriş dosyasının adını yazdırmak için -l seçeneğini kullanın.

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

Eşleşen bir satırın yalnızca eşleşen kısımlarını görüntülemek için -o seçeneğini kullanın.

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. dpigs Yardımcı Programı Nasıl Kullanılır

Bu yardımcı program, sisteminizde en fazla alanı kullanan paketleri göstermek için kullanılır. Özellikle alanınız tükendiğinde ve bazı paketleri kaldırmak istediğinizde bu çok önemlidir.

Sisteminizde en fazla yer kaplayan paketleri bulmak için bu komutu çalıştırmanız yeterlidir.

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

Paket boyutlarını insan tarafından okunabilir bir biçimde okumak için -H seçeneğini kullanabilirsiniz.

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

Varsayılan 10 dışında belirli sayıda paket belirtmek için -n seçeneğini kullanın.

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

Dpigs kullanımı konusunda yardım aramak için -h seçeneğini kullanın.

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. Debget Yardımcı Programı Nasıl Kullanılır?

debget, APT'nin paket veritabanından bir paket için belirli bir .deb dosyasını almak için kullanılır. Sonraki örneklerde apache2, zip ve tar yardımcı programları için .deb dosyalarını getireceğiz.

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

Getirilen tüm .deb paketleri.

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. debmany Yardımcı Programı Nasıl Kullanılır

Sisteminizde kurulu veya kaldırılmış paketlerin manuel giriş sayfalarını seçmek için kullanılır. Bu yardımcı program bir paketin tüm kılavuz sayfalarını görüntülemenizi sağlar.

Manpage'i seçtiğiniz görüntüleyiciyi kullanarak görüntülemek için debmany ile kullanabileceğiniz aşağıdaki seçeneklerden bazıları:

KDE masaüstü ortamını kullanıyorsanız kfmclient'i kullanmak için -k seçeneğini kullanın.

root@tecmint:~# debmany -k tar

Not: Sistemimde KDE DE yüklü değil, dolayısıyla yukarıdaki komutun çıktısını göstermek zor.

GNOME masaüstü ortamını kullanıyorsanız gnome-open'u kullanmak için -g seçeneğini kullanın.

root@tecmint:~# debmany -g tar

KDE/GNOME/Xfce masaüstü ortamını kullanıyorsanız kdg-open'i kullanmak için -x seçeneğini kullanın.

root@tecmint:~# debmany -x tar

Kullanmadan önce yukarıdaki görüntüleyicilerin kurulu olduğundan emin olun, aksi halde hata alabilirsiniz.

6. Checkrestart Yardımcı Programı Nasıl Kullanılır?

Chechstart, halihazırda yükseltilmiş dosyaların eski sürümlerini kullanan işlemleri bulmak ve yeniden başlatmak için kullanılır.

Checkrestart'ı tüm işlemlerde kullanmak için -a seçeneğini kullanın.

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

Yalnızca sistemdeki belirli bir pakete eklenen silinmiş dosyaların işlenmesini belirtmek için -p seçeneğini kullanın.

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

-v seçeneğini kullanarak ayrıntılı bir çıktı bilgisi oluşturabilirsiniz.

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. Popbugs Yardımcı Programı Nasıl Kullanılır

Sisteminizde yaygın olarak kullandığınız paketlere göre özelleştirilmiş sürüm açısından kritik hataların listesini göstermek için kullanılır. Popbugs'u ilk kez hiçbir seçenek olmadan çalıştırdığınızda size aşağıdaki gibi bir mesaj gösterilecektir.

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

Popülerlik yarışması günlüğünü oluşturmak için aşağıdaki komutu çalıştırın.

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

Çıktıyı bir dosyada depolamak için –output=/path/to/file seçeneğini kullanın. Çıktı dosyası bir html dosyası olmalıdır.

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

Çıktı dosyasını görüntülemek için, dosya konumunu belirterek dosyayı web tarayıcısından açın.

Hata ayıklama bilgilerini görüntülemek için -d seçeneğini kullanın.

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. Hangi-pkg-broke Yardımcı Programı Nasıl Kullanılır

Başka bir paketi bozan paketleri bulmak için kullanılır. Bazen sisteminiz, özellikle yükseltme sırasında belirli paketler nedeniyle bozulabilir. Bu nedenle hangi-pkg-kırdı sisteminizde arıza yapan paketleri veya sistemdeki belirli bir paketi bulmanıza yardımcı olabilir.

Apache2'yi bozan paketleri bulmak için aşağıdaki komutu çalıştırın.

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

Özet

Baktıklarımızla ilgili, sonraki makalelerde öğrenebileceğimiz başka birçok yardımcı program daha var. Bu kılavuzu yararlı bulacağınızı umarız ve bunları kullanırken herhangi bir hatayla karşılaşırsanız veya ekleyecek başka fikirleriniz varsa, lütfen yorum gönderin. Tecmint'e bağlı kalın.