1 Mayıs 2020 Cuma

dpkg komutu - Debian/Ubuntu Sistemlerde Kullanılır

Giriş
Debian tabanlı sistemlerde .deb uzantılı paketlerin kurulmasını sağlar. Açıklaması şöyle.
dpkg can also be used as a front-end to dpkg-deb(1) and dpkg-query(1). The list of supported actions can be found later on in the ACTIONS section. If any such action is encountered dpkg just runs dpkg-deb or dpkg-query with the parameters given to it, but no specific options are currently passed to them, to use any such option the back-ends need to be called directly.
apt gibi internetten paket indiremez, sadece diskteki dosyaları kurabilir. 

dpkg-query komutu ve dpkg-deb komutu ile ilişkilidir.

Açıklaması şöyle.
apt is for managing remote repositories, dpkg - for locally installed packages. They're related. apt is front end to dpkg. When you run apt-get install package it gets .deb file, and installs it via dpkg.
Paketlerin Dizini
Paketler şu dizindedir
/var/lib/dpkg/
Lock Dosyası
dpkg bir lock dosyası kullanır. Dosyanın yolu şöyle
/var/lib/dpkg/lock-frontend
Bazen bu dosya silinmez şöyle bir hata alabiliriz.
dpkg: error: dpkg frontend lock is locked by another process
Dosyayı kimin kilitlediğini görmek için şöyle yaparız. Eğer dosyayı kilitleyen uygulama yoksa, dosya silinebilir ve dpkg tekrar başlatılabilir.
sudo lsof /var/lib/dpkg/lock-frontend
Log Dosyası
Şöyle
/var/log/dpkg.log
--get-selections seçeneği
Kurulu tüm paketleri gösterir. Şöyle yaparız.
dpkg --get-selections > my_package_list.txt
-i seçeneği
install anlamına gelir. Şöyle yaparız.
dpkg -i linux-firmware_1.161_all.deb
-l seçeneği
Beliritlen örüntüye uyan kurulu paketleri gösterir. Açıklaması şöyle.
dpkg -l shows your installed package versions (starting with ii), removed ones (rc), and some others (e.g. installed but not configured, see the manpage).
Örnek
Şöyle yaparız.
$ dpkg -l terminator
dpkg-query: no packages found matching terminator
Örnek
Şöyle yaparız.
$ dpkg -l gedit
||/ Name              Version        ...
+++-==========================================
ii  gedit             3.22.0-1       ...
-L seçeneği
Kurulu paket hakında bilgi verir.
Örnek
Şöyle yaparız
dpkg -L elixir
Çıktı olarak şunu alırız.
/.
/usr
/usr/bin
/usr/lib
/usr/lib/elixir
/usr/lib/elixir/bin
/usr/lib/elixir/bin/elixir
/usr/lib/elixir/bin/elixirc
/usr/lib/elixir/bin/iex
/usr/lib/elixir/bin/mix
/usr/lib/elixir/lib
/usr/lib/elixir/lib/eex
/usr/lib/elixir/lib/eex/ebin
/usr/lib/elixir/lib/eex/ebin/Elixir.EEx.Compiler.beam
(etc...)
-S seçeneği
Belirtilen dosyanın hangi pakette olduğunu bulur. Şöyle yaparız.
dpkg -S /usr/bin/gdb
veya şöyle yaparız.
dpkg -S $(which gdb)


Hiç yorum yok:

Yorum Gönder