Cách quản lý các gói trên FreeBSD 10.1 với Pkg
Trình quản lý gói binary của FreeBSD, pkg , được dùng để dễ dàng quản lý việc cài đặt các ứng dụng được biên dịch trước, các gói Debian và RPM tương đương FreeBSD. Khi so sánh với phương pháp cài đặt phần mềm phổ biến khác trên FreeBSD, biên dịch các cổng với Bộ sưu tập cổng, sử dụng các gói cung cấp một giải pháp thay thế đơn giản và nhanh hơn, hoạt động trong nhiều tình huống. Tuy nhiên, các gói không linh hoạt như các cổng vì không thể tùy chỉnh cài đặt gói — nếu bạn có nhu cầu tùy chỉnh các tùy chọn biên dịch của các cài đặt phần mềm của bạn , hãy sử dụng các cổng thay vì gói.Trong hướng dẫn này, ta sẽ chỉ cho bạn cách quản lý các gói trên FreeBSD 10.1. Điều này bao gồm cài đặt và xóa các gói, trong số các việc liên quan khác.
Yêu cầu
Để sử dụng các lệnh trong hướng dẫn này, bạn phải có quyền truy cập root vào server FreeBSD. Đó là, bạn phải có thể đăng nhập vào server với quyền là user root hoặc user khác có quyền siêu user thông qua lệnh sudo. Nếu bạn định sử dụng root, bạn có thể bỏ qua phần sudo
của các lệnh ví dụ.
Cách cài đặt các gói mới với Pkg
Nếu bạn biết tên của gói mà bạn muốn cài đặt, bạn có thể cài đặt nó bằng cách sử dụng lệnh pkg
như sau:
sudo pkg install package_name
Bạn cũng có thể chỉ định nhiều gói để cài đặt, được phân tách bằng dấu cách, như sau:
sudo pkg install package1 package2 ...
Ví dụ: hãy cài đặt Nginx, một web server phổ biến, với pkg
:
sudo pkg install nginx
Chạy lệnh này sẽ bắt đầu cài đặt gói bạn đã chỉ định. Đầu tiên, hệ thống của bạn sẽ kiểm tra các bản cập nhật danh mục repository . Nếu nó đã được cập nhật đầy đủ, hãy tìm kiếm gói được chỉ định. Nếu gói được tìm thấy, gói và các gói phụ thuộc vào sẽ được liệt kê. Một dấu nhắc xác nhận sau đó sẽ xuất hiện.
Trong trường hợp này, chỉ gói nginx
sẽ được cài đặt. Trả lời dấu nhắc bằng y
để xác nhận:
New packages to be INSTALLED: nginx: 1.6.2_1,2 The process will require 654 KB more space. 244 KB to be downloaded. Proceed with this action? [y/N]: y
Sau khi xác nhận cài đặt gói, (các) gói được liệt kê sẽ được download và cài đặt trên hệ thống. Một số gói sẽ hiển thị thông tin quan trọng sau cài đặt hoặc hướng dẫn liên quan đến việc sử dụng ứng dụng, sau khi cài đặt — hãy đảm bảo tuân theo mọi ghi chú sau cài đặt.
Nếu bạn đang sử dụng shell mặc định, tcsh
hoặc csh
, bạn nên xây dựng lại danh sách các file binary trong PATH
của bạn bằng lệnh sau:
rehash
Cũng cần lưu ý các ứng dụng là dịch vụ không tự động khởi động, cũng như không được kích hoạt như một dịch vụ sau khi được cài đặt. Bây giờ hãy xem cách chạy các dịch vụ.
Cách chạy dịch vụ
Trên FreeBSD, các dịch vụ được cài đặt cùng với gói cung cấp tập lệnh khởi tạo dịch vụ trong /usr/local/etc/rc.d
. Trong trường hợp ví dụ về Nginx, chạy như một dịch vụ, tập lệnh khởi động được gọi là nginx
. Lưu ý bạn nên thay thế tên tập lệnh dịch vụ thích hợp, thay vì “nginx” được đánh dấu, khi chạy các lệnh.
Để chứng minh điều gì sẽ xảy ra nếu bạn cố gắng khởi động một dịch vụ chưa được kích hoạt, hãy thử sử dụng lệnh service
để khởi động phần mềm của bạn ngay sau khi cài đặt nó:
sudo service nginx start
Dịch vụ sẽ không bắt đầu và bạn sẽ gặp một thông báo giống như sau:
Cannot 'start' nginx. Set nginx_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.
Để bật dịch vụ, hãy làm theo hướng dẫn trong tin nhắn và thêm dòng sau vào /etc/rc.conf
:
nginx_enable="YES"
Bạn có thể mở /etc/rc.conf
trong editor và thêm dòng hoặc sử dụng trình sysrc
để cập nhật file như sau:
sudo sysrc nginx_enable=yes
Bây giờ dịch vụ đã được kích hoạt. Nó sẽ bắt đầu khi hệ thống của bạn khởi động và bạn có thể sử dụng lệnh con start
đã được thử trước đó:
sudo service nginx start
Nếu bạn muốn chạy dịch vụ một lần mà không cần kích hoạt nó, bạn có thể sử dụng lệnh onestart
. Khởi động một dịch vụ theo cách này sẽ chạy tập lệnh khởi động ngay lập tức, nhưng nó sẽ không được khởi động khi server khởi động hệ thống. Thử ngay bây giờ:
sudo service nginx onestart
Sử dụng lệnh onestart
rất hữu ích nếu bạn muốn kiểm tra cấu hình dịch vụ của bạn trước khi bật chúng.
Cách xem thông tin gói hàng với Pkg
Để xem thông tin về các gói đã cài đặt , bạn có thể sử dụng lệnh pkg info
, như sau:
pkg info package_name
Thao tác này sẽ in ra nhiều thông tin khác nhau về gói được chỉ định bao gồm mô tả về phần mềm, các tùy chọn mà nó được biên dịch và danh sách các thư viện mà nó phụ thuộc vào.
Cách nâng cấp các gói đã cài đặt với Pkg
Bạn có thể cài đặt các version mới nhất hiện có của các gói đã cài đặt hệ thống của bạn bằng lệnh sau:
sudo pkg upgrade
Chạy lệnh này sẽ so sánh các gói đã cài đặt của bạn với các version trong danh mục repository và in danh sách các gói có thể được cập nhật lên version mới hơn:
Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. Checking for upgrades (2 candidates): 100% Processing candidates (2 candidates): 100% The following 2 packages will be affected (of 0 checked): Installed packages to be UPGRADED: python27: 2.7.8_6 -> 2.7.9 perl5: 5.18.4_10 -> 5.18.4_11 The process will require 2 MB more space. 23 MB to be downloaded. Proceed with this action? [y/N]: y
Trả lời bằng chữ y
với dấu nhắc để tiến hành nâng cấp các gói được liệt kê.
Cách xóa gói hàng với Pkg
Nếu bạn biết tên của gói mà bạn muốn xóa, bạn có thể xóa nó bằng cách sử dụng lệnh pkg
như sau:
sudo pkg delete package_name
Bạn cũng có thể chỉ định nhiều gói để xóa, được phân tách bằng dấu cách, như sau:
sudo pkg delete package1 package2 ...
Hãy xóa gói Nginx mà ta đã cài đặt trước đó:
sudo pkg delete nginx
Bạn sẽ thấy một thông báo như sau, với dấu nhắc xác nhận:
Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: nginx-1.6.2_1,2 The operation will free 654 KB. Proceed with deinstalling packages? [y/N]: y
Trả lời dấu nhắc bằng y
để xác nhận hành động xóa gói.
Cách loại bỏ dependencies không được sử dụng
Nếu bạn xóa một gói đã cài đặt phần phụ thuộc, thì phần phụ thuộc sẽ vẫn được cài đặt. Để loại bỏ các gói không còn được yêu cầu bởi bất kỳ gói nào đã cài đặt, hãy chạy lệnh sau:
sudo pkg autoremove
Danh sách các gói sẽ bị loại bỏ sẽ được in kèm theo dấu nhắc . Trả lời y
với dấu nhắc xác nhận nếu bạn muốn xóa các gói được liệt kê.
Làm thế nào để tìm gói hàng với Pkg
Để tìm các gói binary có sẵn trong repository , hãy sử dụng lệnh pkg search
.
Theo tên gói
Cách cơ bản nhất để tìm kiếm là theo tên gói. Nếu bạn muốn tìm kiếm tên gói, hãy sử dụng lệnh như sau:
pkg search package_name
Ví dụ: để tìm kiếm các gói có tên “nginx”, hãy sử dụng lệnh sau:
pkg search nginx
Thao tác này sẽ in ra danh sách các gói, bao gồm cả số version , với “nginx” trong tên:
nginx-1.6.2_1,2 nginx-devel-1.7.8 p5-Nginx-ReadBody-0.07_1 p5-Nginx-Simple-0.07_1 p5-Test-Nginx-0.24
Nếu bạn muốn đọc thông tin gói chi tiết về các gói được liệt kê, hãy sử dụng tùy chọn -f
như sau:
pkg search -f package_name
Thao tác này sẽ in thông tin gói về mỗi gói phù hợp với tên gói được chỉ định.
Theo mô tả
Nếu bạn không chắc chắn về tên của gói bạn muốn cài đặt, bạn cũng có thể tìm kiếm mô tả của các gói có sẵn trong repository lưu trữ bằng cách chỉ định tùy chọn -D
. Theo mặc định, đối sánh mẫu không phân biệt chữ hoa chữ thường:
pkg search -D pattern
Ví dụ: để tìm kiếm tất cả các gói có “java” trong mô tả, hãy sử dụng lệnh như sau:
pkg search -D java
Thao tác này sẽ in tên của tất cả các gói có sẵn với mẫu được chỉ định trong trường mô tả, cùng với mô tả.
Cách tìm hiểu thêm về cách sử dụng Pkg
Pkg là một tiện ích rất linh hoạt được dùng theo nhiều cách mà không được đề cập trong hướng dẫn này. May mắn là nó cung cấp một cách dễ dàng để tra cứu những tùy chọn và lệnh con nào có sẵn và những gì chúng làm.
Để in các tùy chọn và lệnh con có sẵn, hãy sử dụng lệnh này:
pkg help
Để đọc các trang user cho các lệnh con khác nhau, hãy sử dụng pkg help
và chỉ định lệnh bạn muốn tìm hiểu, như sau:
pkg help subcommand
Ví dụ: nếu bạn muốn tìm hiểu thêm về cách sử dụng pkg search
, hãy nhập lệnh sau:
pkg help search
Thao tác này sẽ kéo lên một trang hướng dẫn chi tiết cách sử dụng pkg search
.
Kết luận
Đến đây bạn đã biết đủ về cách sử dụng pkg
để quản lý các gói binary trên server FreeBSD của bạn .
Nếu bạn muốn tìm hiểu thêm về cách quản lý phần mềm trên server FreeBSD của bạn , hãy nhớ đọc các cổng có hướng dẫn này: Cách Cài đặt và Quản lý Cổng trên FreeBSD 10.1 .
Các tin liên quan