Kiến Thức Cơ Bản Về Quản Lý Gói Phần Mềm: APT, YUM, DNF, PKG Trên Linux

nhung dieu co ban ve quan ly goi apt yum dnf pkg 1

Hầu hết các hệ điều hành Unix hiện đại đều cung cấp một cơ chế tập trung để tìm kiếm và cài đặt phần mềm thông qua hệ thống quản lý gói. Phần mềm được phân phối dưới dạng các gói (packages) và lưu trữ trong các kho lưu trữ. Quản lý gói phần mềm bao gồm việc cài đặt, nâng cấp và duy trì các gói phần mềm này, bao gồm cả các thành phần cơ bản của hệ điều hành, thư viện chia sẻ, ứng dụng, dịch vụ và tài liệu.

Hệ thống quản lý gói không chỉ đơn giản cài đặt phần mềm mà còn cung cấp các công cụ để nâng cấp các gói đã cài đặt. Các kho lưu trữ gói đảm bảo mã nguồn đã được kiểm duyệt và các phiên bản phần mềm được cài đặt đều đã được phê duyệt bởi các nhà phát triển và người bảo trì gói.

Khi cấu hình máy chủ hoặc môi trường phát triển, có thể bạn sẽ cần tìm đến các kho lưu trữ ngoài các nguồn chính thức. Các gói trong phiên bản ổn định của bản phân phối có thể đã lỗi thời, đặc biệt đối với phần mềm mới hoặc thay đổi nhanh chóng. Tuy nhiên, quản lý gói vẫn là một kỹ năng không thể thiếu đối với quản trị viên hệ thống và nhà phát triển, và kho phần mềm của các bản phân phối lớn là một nguồn tài nguyên quý giá.

Bạn đang tìm hiểu về quản lý gói phần mềm trên Linux? Hiểu rõ APT, YUM, DNF, PKG sẽ giúp tối ưu hệ thống. Nếu cần môi trường thực hành ổn định, khám phá VPS Việt Nam chất lượng cao tại DataOnline để triển khai máy chủ hiệu quả, đáp ứng mọi nhu cầu!

DataOnline sẽ cung cấp cho bạn tài liệu tham khảo nhanh về các thao tác cơ bản như tìm kiếm, cài đặt và nâng cấp gói phần mềm trên nhiều bản phân phối khác nhau, giúp bạn dễ dàng áp dụng kiến thức giữa các hệ thống.

Hệ thống quản lý gói: Tổng quan ngắn gọn

Hầu hết các hệ thống quản lý gói đều được xây dựng xung quanh các tệp gói. Một tệp gói thường là một tệp nén chứa các ứng dụng đã biên dịch và các tài nguyên khác được phần mềm sử dụng, cùng với các tập lệnh cài đặt. Các gói cũng chứa siêu dữ liệu quan trọng, bao gồm các phần phụ thuộc của chúng – danh sách các gói khác cần thiết để cài đặt và chạy chúng.

Mặc dù chức năng và lợi ích của các hệ thống quản lý gói về cơ bản là giống nhau, nhưng định dạng và công cụ đóng gói lại khác nhau tùy theo nền tảng:

  • Debian / Ubuntu: Các gói .deb được cài đặt bằng aptdpkg

  • Rocky / Fedora / RHEL: Các gói .rpm được cài đặt bằng yum

  • FreeBSD: Các gói .txz được cài đặt bằng pkg

Trên Debian và các hệ thống dựa trên Debian như Ubuntu, Linux Mint và Raspbian, định dạng gói là tệp .deb. Công cụ apt (Advanced Packaging Tool) cung cấp các lệnh cho các thao tác phổ biến như tìm kiếm trong kho lưu trữ, cài đặt gói và các phần phụ thuộc của chúng, cũng như quản lý cập nhật. Các lệnh apt hoạt động như một giao diện phía trước cho tiện ích cấp thấp hơn dpkg, công cụ xử lý việc cài đặt các tệp .deb riêng lẻ trên hệ thống cục bộ và đôi khi được gọi trực tiếp.

Các phiên bản gần đây của hầu hết các bản phân phối dựa trên Debian đã gộp các thao tác thông thường vào một lệnh apt duy nhất, cung cấp một giao diện đơn giản và thống nhất, thay thế cho các lệnh cụ thể hơn trước đây như apt-getapt-cache.

Rocky Linux, Fedora và các hệ thống thuộc họ Red Hat sử dụng tệp .rpm. Trước đây, chúng sử dụng trình quản lý gói yum. Trong các phiên bản Fedora gần đây và các bản phân phối dựa trên Fedora, yum đã được thay thế bằng dnf, một nhánh hiện đại hóa của yum, vẫn giữ hầu hết giao diện của yum nhưng có nhiều cải tiến hơn.

Hệ thống quản lý gói nhị phân của FreeBSD được quản lý bằng lệnh pkg. FreeBSD cũng cung cấp Ports Collection, một cấu trúc thư mục và công cụ cục bộ cho phép người dùng tải, biên dịch và cài đặt gói trực tiếp từ mã nguồn bằng Makefiles. Thông thường, sử dụng pkg sẽ tiện lợi hơn, nhưng trong một số trường hợp, một gói được biên dịch sẵn có thể không khả dụng, hoặc bạn có thể cần thay đổi các tùy chọn biên dịch.

Cập nhật danh sách gói

Hầu hết các hệ thống giữ một cơ sở dữ liệu cục bộ chứa các gói có sẵn từ các kho lưu trữ từ xa. Tốt nhất là nên cập nhật cơ sở dữ liệu này trước khi cài đặt hoặc nâng cấp gói. Ngoại lệ một phần cho mẫu này là dnf sẽ kiểm tra cập nhật trước khi thực hiện một số thao tác, nhưng bạn có thể yêu cầu kiểm tra bất cứ lúc nào.

  • Đối với Debian / Ubuntu: sudo apt update

  • Đối với Rocky / Fedora / RHEL: dnf check-update

  • Đối với gói FreeBSD:sudo pkg update

  • Đối với FreeBSD Ports:sudo portsnap fetch update

Nâng cấp các gói đã cài đặt

Việc đảm bảo tất cả phần mềm đã được cài đặt trên máy luôn được cập nhật sẽ là một nhiệm vụ khổng lồ nếu không có hệ thống quản lý gói. Bạn sẽ phải theo dõi các thay đổi upstream và cảnh báo bảo mật cho hàng trăm gói khác nhau. Mặc dù một trình quản lý gói không giải quyết được mọi vấn đề khi nâng cấp phần mềm, nó cho phép bạn duy trì hầu hết các thành phần hệ thống chỉ với một vài lệnh.

Trên FreeBSD, việc nâng cấp các ports đã cài đặt có thể giới thiệu những thay đổi phá vỡ hoặc yêu cầu các bước cấu hình thủ công. Tốt nhất là bạn nên đọc tập tin /usr/ports/UPDATING trước khi nâng cấp với portmaster.

  • Đối với Debian / Ubuntu:sudo apt upgrade

  • Đối với Rocky / Fedora / RHEL:sudo dnf upgrade

  • Đối với gói FreeBSD:sudo pkg upgrade

Tìm kiếm một gói

Hầu hết các bản phân phối đều cung cấp giao diện đồ họa hoặc menu để duyệt qua các tập hợp gói. Đây có thể là cách tốt để duyệt theo danh mục và khám phá phần mềm mới. Tuy nhiên, thường thì cách nhanh nhất và hiệu quả nhất để tìm một gói là sử dụng các công cụ dòng lệnh.

  • Đối với Debian / Ubuntu:apt search search_string

  • Đối với Rocky / Fedora / RHEL:dnf search search_string

  • Đối với gói FreeBSD:pkg search search_string

Lưu ý: Trên Rocky, Fedora hoặc RHEL, bạn có thể tìm kiếm tiêu đề và mô tả gói cùng lúc bằng cách sử dụng:dnf search all

Trên FreeBSD, bạn có thể tìm kiếm trong mô tả bằng cách sử dụng:pkg search -D

Xem thông tin về một gói cụ thể

Khi quyết định cài đặt, việc đọc mô tả chi tiết về các gói thường rất hữu ích. Bên cạnh văn bản dễ đọc, các mô tả này thường bao gồm metadata như số phiên bản và danh sách các phụ thuộc của gói.

  • Đối với Debian / Ubuntu:apt show package

  • Đối với Rocky / Fedora / RHEL:dnf info package

  • Đối với gói FreeBSD:pkg info package

  • Đối với FreeBSD Ports:cd /usr/ports/category/port && cat pkg-descr

Cài đặt một gói từ kho lưu trữ

Khi bạn đã biết tên của một gói, thông thường bạn có thể cài đặt nó và các phụ thuộc kèm theo chỉ với một lệnh. Nói chung, bạn có thể cung cấp nhiều gói cùng lúc bằng cách liệt kê tất cả tên của chúng.

  • Đối với Debian / Ubuntu:sudo apt install package

  • Đối với Rocky / Fedora / RHEL:sudo dnf install package

  • Đối với gói FreeBSD:sudo pkg install package

Cài đặt một gói từ hệ thống tập tin cục bộ

Đôi khi, mặc dù phần mềm không được đóng gói chính thức cho một hệ điều hành cụ thể, nhà phát triển hoặc nhà cung cấp sẽ cung cấp các tệp gói để tải về. Bạn thường có thể tải các tệp này bằng trình duyệt web, hoặc qua curl trên dòng lệnh. Khi gói đã có trên hệ thống đích, thường nó có thể được cài đặt chỉ với một lệnh.

Trên các hệ thống dựa trên Debian, dpkg chịu trách nhiệm cài đặt các tệp gói riêng lẻ. Nếu một gói có các phụ thuộc chưa được thỏa mãn, gdebi thường có thể được sử dụng để tải về chúng từ kho lưu trữ chính thức.

Đối với Rocky Linux, Fedora hoặc RHEL, dnf được sử dụng để cài đặt các tệp riêng lẻ và cũng sẽ xử lý các phụ thuộc cần thiết.

  • Đối với Debian / Ubuntu:sudo dpkg -i package.deb

  • Đối với Rocky / Fedora / RHEL:sudo dnf install package.rpm

  • Đối với gói FreeBSD:sudo pkg add package.txz

Gỡ cài đặt một hoặc nhiều gói đã cài

Vì trình quản lý gói biết chính xác các tệp nào được cung cấp bởi một gói nhất định, nó thường có thể gỡ bỏ chúng một cách gọn gàng khỏi hệ thống nếu phần mềm đó không còn cần thiết.

  • Đối với Debian / Ubuntu:sudo apt remove package

  • Đối với Rocky / Fedora / RHEL:sudo dnf erase package

  • Đối với gói FreeBSD:sudo pkg delete package

Nhận trợ giúp

Ngoài tài liệu trực tuyến, hãy nhớ rằng trang hướng dẫn (man pages) của Unix – thường được gọi là man – có sẵn cho hầu hết các lệnh từ shell. Để đọc một trang hướng dẫn, sử dụng lệnh man:

man page

Trong man, bạn có thể di chuyển bằng các phím mũi tên. Nhấn / để tìm kiếm văn bản trong trang, và nhấn q để thoát.

  • Đối với Debian / Ubuntu:man apt

  • Đối với Rocky / Fedora / RHEL:man dnf

  • Đối với gói FreeBSD:man pkg

  • Đối với FreeBSD Ports:man ports

Kết luận

Hướng dẫn này cung cấp cái nhìn tổng quan về các thao tác cơ bản có thể tham chiếu chéo giữa các hệ thống, tuy nhiên, chỉ mới chạm đến bề mặt của một chủ đề khá phức tạp.

Việc sử dụng APT, YUM, DNF hay PKG trở nên dễ dàng hơn khi bạn có máy chủ mạnh mẽ. Để trải nghiệm quản lý gói mượt mà, hãy thuê máy chủ VPS từ DataOnline với cấu hình tối ưu, hỗ trợ kỹ thuật 24/7, đảm bảo hiệu suất vượt trội!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *