Như tôi đã nới ở bài
Cài đặt Ubuntu và các chương trình cơ bản việc quản lý gói với Linux là khá lằng nhằng. Bài viết này sẽ nói rõ hơn về việc quản lý gói trên Ubuntu.
1. Quản lý gói bằng dòng lệnhdpkg - là trình quản lý gói cơ bản nhất mà DeBian phát triển.
Cú pháp của dpkg như sau :
http://www.cyberciti.biz/howto/question/linux/dpkg-cheat-sheet.php
| Syntax |
Description |
Example |
| dpkg -i {.deb package} |
Install the package |
dpkg -i zip_2.31-3_i386.deb |
| dpkg -i {.deb package} |
Upgrade package if it is installed else install a fresh copy of package |
dpkg -i zip_2.31-3_i386.deb |
| dpkg -R {Directory-name} |
Install all packages recursively from directory |
dpkg -R /tmp/downloads |
| dpkg -r {package} |
Remove/Delete an installed package except configuration files |
dpkg -r zip |
| dpkg -P {package} |
Remove/Delete everything including configuration files |
dpkg -P apache-perl |
| dpkg -l |
List all installed packages, along with package version and short description |
dpkg -l dokg -l | less dpkg -l '*apache*' dpkg -l | grep -i 'sudo' |
| dpkg -l {package} |
List individual installed packages, along with package version and short description |
dpkg -l apache-perl |
| dpkg -L {package} |
Find out files are provided by the installed package i.e. list where files were installed |
dpkg -L apache-perl dpkg -L perl |
| dpkg -c {.Deb package} |
List
files provided (or owned) by the package i.e. List all files inside
debian .deb package file, very useful to find where files would be
installed |
dpkg -c dc_1.06-19_i386.deb |
| dpkg -S {/path/to/file} |
Find what package owns the file i.e. find out what package does file belong |
dpkg -S /bin/netstat dpkg -S /sbin/ippool |
| dpkg -p {package} |
Display details about package package group, version, maintainer, Architecture, display depends packages, description etc |
dpkg -p lsof |
| dpkg -s {package} | grep Status |
Find out if Debian package is installed or not (status) |
dpkg -s lsof | grep Status |
apt và các cái tương tự nó :
Cập nhật tất cả các gói hiện tại:
sudo apt-get updateTìm gói theo từ khóa
apt-cache search keywordsLấy thông tin về gói :
apt-cache show programCài một gói (chương trình) mới:
sudo apt-get install programDỡ bỏ gói (chương trình):
sudo apt-get remove programsudo apt-get remove --purge programNâng cấp toàn bộ hệ thống:
sudo apt-get upgrade
sudo apt-get dist-upgrade
2. Quản lý gói bằng Synaptic,AdeptKhởi động chương trình System > Administration > Synaptic Package Manager, chương trình này có đầy đủ tính năng để bạn có thể cài đặt, cập nhật, dỡ bỏ phần mềm. Adept cũng tương tự như Synaptic nhưng nó là bản chạy trên kubuntu.
3. Cài đặt từ gói .debKhi bạn có gói phần mềm dạng .deb bạn dùng dpkg để cài đặt nó, cú pháp bạn có thể tra ở bên trên.
4. Cài đặt phần mềm từ mã nguồn (source)Khi mà tất cả các công cụ trên không thể cài đặt được phần mềm bạn cần, hoặc phần mềm bạn cần chỉ ở dạng mã nguồn thì bạn cần biết cách cài một phần mềm từ mã nguồn như thế nào ?
Các bước để cài đặt như sau :
- Cài đặt chương trình dịch
- Lấy mã nguồn từ trang cung cấp mã nguồn từ trang cung cấp mã nguồn
- Cài đặt các thư viện phần mềm yêu cầu (library dependencies )
- Dịch và cài phần mềm
- Cài đặt chương trình dịch
sudo apt-get install build-essential
- Lấy mã nguồn từ trang cung cấp mã nguồn từ trang cung cấp mã nguồn
Giải nén ra :
tar xvzf
program.tar.gz
- Cài đặt các thư viện phần mềm yêu cầu (library dependencies )
có thể dùng các cách trên để cài những cái này. Thường các dependencies có thể thấy khi nó báo lỗi khi cài.
- Dịch và cài phần mềm
Step 1: configure
guru@ubuntu:~/program$ ./configure
Step 2: compile
guru@ubuntu:~/program$ make
Step 3: install
guru@ubuntu:~/program$ sudo make install
Xin lưu ý một chút là bạn có thể dùng tham số prefix để chỉ ra thư mục cài đặt phần mềm.
./configure --prefix=/opt/program<version>
bạn nên cài có version ở đằng sau vì như vậy sẽ thuận lợi hơn khi bạn nâng cấp phần mềm, bạn không phải xóa bản cũ và không phụ thuộc vào các dependencies của bản cũ. Điều này cực kỳ có lợi khi hệ thống là server chạy online.

Chúc bạn cài đặt thành công !