Sunday, 17 March 2013

FAMILUG's dpkg FAQ

mục tiêu bài viết:
- đưa ra các câu lệnh dpkg hữu ích
- giải đáp các thắc mắc hay gặp khi sử dụng dpkg

1. dpkg là gì?
sử dụng "Framework" tìm hiểu câu lệnh của FAMILUG:

hvn@lappy: ~ () $ whatis dpkg
dpkg (1)             - package manager for Debian
hvn@lappy: ~ () $ which dpkg
/usr/bin/dpkg

dpkg
- là viết tắt của cụm từ "Debian Package Manager"
- là chương trình quản lý các gói phần mềm dạng .deb
- thực hiện cài đặt / gỡ bỏ các gói (phần mềm) .deb có trên đĩa cứng của máy tính.
- là phần mềm quản lý gói mặc định của hệ điều hành Debian

Quản lý gói phần mềm là gì?
- Với hệ điều hành Windows, người dùng phải tự tìm nguồn (internet, CD, ...) của từng phần mềm, download về và tự cài vào máy.
- Với hệ điều hành Debian, người dùng chỉ việc sử dụng apt (phần mềm dựa trên dpkg), gõ tên phần mềm muốn cài. apt sẽ thực hiện tìm kiếm trong kho phần mềm, và download file .deb. Sau đó dpkg thực hiện cấu hình và cài đặt file .deb vừa download.

2. dpkg có ở đâu?
- dpkg có sẵn trên Debian, các hệ điều hành dựa trên Debian (ví dụ: Ubuntu, Linux mint) ...

3. cài dpkg thế nào?
dpkg được cài sẵn khi bạn cài Debian, hay các hệ điều hành dựa trên Debian
nếu muốn, bạn có thể cài từ mã nguồn của chương trình.

4. làm thế nào để biết chương trình ZYX do gói nào cung cấp?
dùng lệnh:
dpkg -S `which ZYX`

VD: xem gói nào cung cấp lệnh ip
hvn@lappy: ~ () $ dpkg -S `which ip`
iproute: /bin/ip
 

5. làm thế nào để biết gói XYZ  cung cấp các file nào?
dpkg -L  XYZ

VD: xem gói iproute cung cấp các file nào:
hvn@lappy: ~ () $ dpkg -L iproute
/bin/ss
/bin/ip
/sbin
/sbin/rtmon
/sbin/tc
...

6. làm thế nào để đọc thông tin về gói  FML?
dpkg -p  FML

VD: hiện thông tin về gói `iproute`
hvn@lappy: ~ () $ dpkg -p iproute
Package: iproute
Multi-Arch: foreign
Priority: required
Section: net
Installed-Size: 982
...

NOTE: các lệnh 4,5,6 chỉ hoạt động nếu package đó đã được cài trên máy.

đọc thêm ở đây:
http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html