15 ví dụ về lệnh dpkg Linux trên CentOS / Ubuntu / Debian / Fedora
Debian GNU/Linux - hệ điều hành gốc của một số bản phân phối Linux bao gồm Knoppix, Kali, Ubuntu, Mint, v.v. sử dụng các trình quản lý gói khác nhau như dpkg, apt, aptitude, synaptic, tasksel, deselect, dpkg-deb và dpkg-split. Trong bài viết này bạn sẽ tìm hiểu được 15 cách sử dụng lệnh dpkg Linux thông qua các ví dụ thực tế.
Các trình quản lý của Debian GNU/Linux
Lệnh APT
Apt viết tắt của Advanced Package Tool. Nó không xử lý trực tiếp các gói 'deb' mà làm việc với các bản ghi 'deb' từ vị trí được chỉ định trong tệp "/etc/apt/sources.list".
Aptitude
Aptitude là một trình quản lý gói dựa trên văn bản cho Debian, là giao diện trước (front-end) cho 'apt', cho phép người dùng quản lý các gói dễ dàng.
Synaptic
Synaptic là một trình quản lý gói đồ họa giúp người dùng dễ dàng cài đặt, nâng cấp và gỡ bỏ các gói, ngay cả với những người mới bắt đầu.
Tasksel
Tasksel cho phép người dùng cài đặt tất cả các gói liên quan đến một nhiệm vụ cụ thể, ví dụ như môi trường máy tính để bàn (Desktop Environment).
Deselect
Deselect là một công cụ quản lý gói dựa trên menu, ban đầu được sử dụng trong quá trình cài đặt lần đầu và hiện đã được thay thế bằng aptitude.
Dpkg-deb
dpkg-deb là một công cụ tương tác với Debian archive.
Dpkg-split
dpkg-split là một công cụ hữu ích để chia nhỏ và hợp nhất các tệp lớn thành các phần nhỏ hơn để lưu trữ trên các phương tiện có kích thước nhỏ hơn như đĩa mềm.
Lệnh dpkg
dpkg là chương trình quản lý gói chính trong Debian và các hệ thống dựa trên Debian. Nó được sử dụng để cài đặt, xây dựng, gỡ bỏ và quản lý các gói. Aptitude là giao diện chính cho dpkg Linux.
15 ví dụ thực tế về lệnh dpkg Linux
Cài đặt gói
Để cài đặt một gói ".deb", sử dụng lệnh với tùy chọn "-i". Ví dụ, để cài đặt gói ".deb" có tên là "flashpluginnonfree_2.8.2+squeeze1_i386.deb", sử dụng lệnh sau đây.
[root@tecmint~]# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree. (Reading database ... 465729 files and directories currently installed.) Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ... Setting up flashplugin-nonfree (1:3.2) ... --2013-10-01 16:23:40-- http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.310/install_flash_player_11_linux.i386.tar.gz Resolving fpdownload.macromedia.com (fpdownload.macromedia.com)... 23.64.66.70 Connecting to fpdownload.macromedia.com (fpdownload.macromedia.com)|23.64.66.70|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6923724 (6.6M) [application/x-gzip] Saving to: ‘/tmp/flashplugin-nonfree.FPxQ4l02fL/install_flash_player_11_linux.i386.tar.gz’
Liệt kê tất cả các gói đã cài đặt
Để xem và liệt kê tất cả các gói đã cài đặt, hãy sử dụng tùy chọn “ -l ” cùng với lệnh:
[ root@tecmint ~]# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-======================================-========================-=============================================================================== ii accerciser 3.8.0-0ubuntu1 all interactive Python accessibility explorer for the GNOME desktop ii account-plugin-aim 3.6.4-0ubuntu4.1 i386 Messaging account plugin for AIM ii account-plugin-facebook 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - facebook ii account-plugin-flickr 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - flickr ii account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - generic OAuth ii account-plugin-google 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon rc account-plugin-identica 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - identica ii account-plugin-jabber 3.6.4-0ubuntu4.1 i386 Messaging account plugin for Jabber/XMPP ....
Để xem một gói cụ thể đã được cài đặt hay chưa, sử dụng tùy chọn "-l" kèm theo tên gói. Ví dụ, để kiểm tra xem gói apache2 đã được cài đặt hay chưa, sử dụng lệnh sau đây.
[root@tecmint~]# dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-======================================-========================-============================================== ii apache2 2.2.22-6ubuntu5.1 i386 Apache HTTP Server metapackage
Hủy bỏ một gói
Để gỡ bỏ một gói ".deb", chúng ta phải chỉ định tên gói "flashpluginnonfree", không phải tên gốc "flashplugin-nonfree_3.2_i386.deb". Tùy chọn "-r" được sử dụng để gỡ bỏ/gỡ cài đặt một gói.
[root@tecmint~]# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.) Removing flashpluginnonfree ... Processing triggers for man-db ... Processing triggers for menu ... Processing triggers for desktop-file-utils ... Processing triggers for gnome-menus ...
Bạn cũng có thể sử dụng tùy chọn 'p' thay vì 'r', điều này sẽ gỡ bỏ gói cùng với các tệp cấu hình. Tùy chọn 'r' chỉ gỡ bỏ gói mà không xóa các tệp cấu hình.
[root@tecmint~]# dpkg -p flashpluginnonfree
Xem nội dung của gói
Để xem nội dung của một gói cụ thể, sử dụng tùy chọn "-c" như dưới đây. Lệnh này sẽ hiển thị nội dung của một gói ".deb" dưới dạng danh sách chi tiết.
[root@tecmint~]# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root 0 2012-12-14 22:54 ./ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/flashplugin-nonfree/ -rw-r--r-- root/root 3920 2009-09-09 22:51 ./usr/lib/flashplugin-nonfree/pubkey.asc drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/man8/ -rw-r--r-- root/root 716 2012-12-14 22:54 ./usr/share/man/man8/update-flashplugin-nonfree.8.gz drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/applications/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/ ....
Kiểm tra gói đã được cài đặt hay chưa
Sử dụng tùy chọn "-s" kèm theo tên gói trong lệnh dpkg Linux, bạn có thể hiển thị thông tin về việc cài đặt gói deb.
[root@tecmint~]# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree Status: install ok installed Priority: optional Section: contrib/web Installed-Size: 177 Maintainer: Bart Martens <bartm@debian.org> Architecture: i386 Version: 1:3.2 Replaces: flashplugin (<< 6) Depends: debconf | debconf-2.0, wget, gnupg, libatk1.0-0, libcairo2, libfontconfig1, libfreetype6, libgcc1, libglib2.0-0, libgtk2.0-0 (>= 2.14), libnspr4, libnss3, libpango1.0-0, libstdc++6, libx11-6, libxext6, libxt6, libcurl3-gnutls, binutils Suggests: iceweasel, konqueror-nsplugins, ttf-mscorefonts-installer, ttf-dejavu, ttf-xfree86-nonfree, flashplugin-nonfree-extrasound, hal Conflicts: flashplayer-mozilla, flashplugin (<< 6), libflash-mozplugin, xfs (<< 1:1.0.1-5) Description: Adobe Flash Player - browser plugin ...
Kiểm tra vị trí của các gói được cài đặt
Để liệt kê vị trí của các tệp được cài đặt vào hệ thống từ một gói cụ thể.
[root@tecmint~]# dpkg -L flashplugin-nonfree
/. /usr /usr/bin /usr/lib /usr/lib/mozilla /usr/lib/mozilla/plugins /usr/lib/flashplugin-nonfree /usr/lib/flashplugin-nonfree/pubkey.asc /usr/share /usr/share/man /usr/share/man/man8 /usr/share/man/man8/update-flashplugin-nonfree.8.gz /usr/share/applications /usr/share/icons /usr/share/icons/hicolor ...
Cài đặt tất cả các gói từ một thư mục
Để cài đặt đệ quy tất cả các tệp tin thường phù hợp với mẫu "*.deb" từ các thư mục đã chỉ định và tất cả các thư mục con của chúng, bạn có thể sử dụng tùy chọn "-R" và "--install" kèm theo. Ví dụ, để cài đặt tất cả các gói ".deb" từ thư mục có tên là "debpackages".
[root@tecmint~]# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.) Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ... Unpacking replacement flashplugin-nonfree ... Setting up flashplugin-nonfree (1:3.2) ... Processing triggers for man-db ... Processing triggers for bamfdaemon ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for gnome-menus ...
Giải nén gói nhưng không cấu hình
Sử dụng hành động "--unpack" của lệnh dpkg Linux sẽ giải nén gói tin, nhưng không cài đặt hoặc cấu hình nó.
[root@tecmint~]# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
(Reading database ... 465836 files and directories currently installed.) Preparing to replace flashplugin-nonfree 1:3.2 (using flashplugin-nonfree_3.2_i386.deb) ... Unpacking replacement flashplugin-nonfree ... Processing triggers for man-db ... Processing triggers for bamfdaemon ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for gnome-menus ...
Cấu hình lại gói đã giải nén
Tùy chọn "--configure" sẽ cấu hình lại một gói đã được giải nén trước đó.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
Thay thế thông tin gói có sẵn
Tùy chọn "--update-avail" thay thế thông tin cũ bằng thông tin có sẵn trong tệp Packages.
[root@tecmint~]# dpkg –-update-avail package_name
Xóa thông tin hiện có của gói
Hành động "--clear-avail" sẽ xóa thông tin hiện tại về các gói tin có sẵn.
[root@tecmint~]# dpkg –-clear-avail
Quên các gói đã gỡ cài đặt và không khả dụng
Tùy chọn "--forget-old-unavail" trong lệnh dpkg Linux sẽ tự động quên các gói tin không được cài đặt và không có sẵn.
[root@tecmint~]# dpkg --forget-old-unavail
Hiển thị thông tin về giấy phép của dpkg Linux
[root@tecmint~]# dpkg --licence
Hiển thị phiên bản dpkg Linux
Đối số “ –version ” sẽ hiển thị thông tin phiên bản dpkg.
[root@tecmint~]# dpkg –version Debian `dpkg' package management program version 1.16.10 (i386). This is free software; see the GNU General Public License version 2 or later for copying conditions. There is NO warranty.
2.15. Nhận tất cả trợ giúp về dpkg Linux
Tùy chọn “ –help ” sẽ hiển thị danh sách các tùy chọn khả dụng của lệnh dpkg Linux.
[root@tecmint~]# dpkg –help Usage: dpkg [<option> ...] <command> Commands: -i|--install <.deb file name> ... | -R|--recursive <directory> ... --unpack <.deb file name> ... | -R|--recursive <directory> ... -A|--record-avail <.deb file name> ... | -R|--recursive <directory> ... --configure <package> ... | -a|--pending --triggers-only <package> ... | -a|--pending -r|--remove <package> ... | -a|--pending -P|--purge <package> ... | -a|--pending --get-selections [<pattern> ...] Get list of selections to stdout. --set-selections Set package selections from stdin. --clear-selections Deselect every non-essential package. --update-avail <Packages-file> Replace available packages info. --merge-avail <Packages-file> Merge with info from file. --clear-avail Erase existing available info. --forget-old-unavail Forget uninstalled unavailable pkgs. -s|--status <package> ... Display package status details. ...
Lệnh dpkg Linux và 15 ví dụ cơ bản bên trên đã đủ để bạn vận dụng vào trong công việc hằng ngày. Hãy thực hành và áp dụng chúng thường xuyên để ngày càng cải thiện kỹ năng làm việc trên hệ điều hành.
Mọi người cũng tìm kiếm: dpkg, dpkg linux, dầu dkgp, linux dpkg, dpkg -f, dpkg centos.