YUM

Yellowdog Updater, Modified (viết tắt là yum) là một trình quản lý gói tin dòng lệnh mã nguồn mở cho các máy tính sử dụng hệ điều hành Linux dùng RPM Package Manager. Mặc dù yum có giao diện dòng lệnh, một vài công cụ khác có giao diện đồ họa cung cấp các tính năng của YUM.

Yum cho phép tự động cập nhật, quản lý gói và các phụ thuộc,trên các bản phan phối dựa trên RPM. Tương tự Advanced Package Tool (APT) từ Debian, yum làm việc với kho phần mềm (bộ sưu tập các gói tin), có thể được truy cập cục bộ hoặc qua kết nối mạng.

Bên dưới, yum phụ thuộc vào RPM, là một chuẩn đóng gói cho việc phân phối phần mềm, tự động sử dụng các mã hashes và digisigs để xác minh quyền tác giả và toàn vẹn của phần mềm nói; không giống một số app stores, cung cấp một chức năng tương tự, không phải yum hay RPM cung cấp các bản tích hợp hỗ trợ cho các hạn chế độc quyền về sao chép các gói cho người dùng cuối. Yum được thực thi như các thư viện trong các ngôn ngữ lập trình Python, với một tập hợp nhỏ của chương trình cung cấp một giao diện dòng lệnh.Các phần mở rộng dựa trên GUI như Yum Extender (yumex) cũng có sẵn. Một bản viết lại của yum dựa trên libsolv tên DNF hiện đang được phát triển và thay thế yum như quản lý gói mặc định trong Fedora 22.

Lịch sử 
Khi viết lại đầy đủ công cụ tiền nhiệm của nó, Yellowdog Updater (YUP), yum phát triển chủ yếu nhằm cập nhật và quản lý các hệ thống Red Hat Linux được dùng ở Duke University Department of Physics. Seth Vidal và Michael Stenner phát triển YUM ban đầu ở Duke, trong khi yup được phát triển ban đầu và duy trì bởi Dan Burcaw, Bryan Stillwell, Stephen Edie, và Troy Bengegerdes của Yellow Dog Linux. Năm 2003 Robert G. Brown ở Duke phát hành các tài liệu. Các tiếp nhận tiếp theo bao gồm Red Hat Enterprise Linux, Fedora, CentOS, và nhiều bản phân phối Linux dựa trên RPM, bao gồm cả Yellow Dog Linux, nơi nó thay thế cho ứng dụng YUP trước đó, vốn có bản cập nhật mới nhất trên SourceForge là vào năm 2001. Đến năm 2005, nó đã được ước tính là có sẵn trên hơn một nửa thị trường Linux, và đến năm 2007 yum đã được xem là "công cụ của sự lựa chọn" cho các bản phân phối Linux dựa trên RPM.

Tuân theo giấy phép GNU General Public License nên yum là phần mềm tự do nguồn mở, được tự do phân phối và sửa đổi mà không cần trả tiền bản quyền, nếu các điều khoản khác của Giấy phép được tuân thủ. Vidal tiếp tục đóng góp với yum cho đến khi ông qua đời trong một vụ tai nạn xe đạp ở Durham, Bắc Carolina ngày 8/7/2013.

Yum đặt mục tiêu giải quyết cả những khiếm khuyết nhận thức trong APT-RPM trước đây, và những hạn chế của công cụ quản lý gói up2date của Red Hat. yum thay thế up2date trong Red Hat Enterprise Linux 5 và mới hơn. Một số tác giả đề cập đến nó như Yellowdog Update Manager, hoặc đề nghị là "Your Update Manager" sẽ thích hợp hơn.
Các kiến thức cơ bản về yum thường được xem là một yêu cầu cho Chứng chỉ Quản trị Hệ thống Linux.

Hoạt động 
yum có thể thực hiện các hoạt động như:
 cài đặt một gói
 xóa gói tin
 cập nhật các gói đã cài sẵn
 lập danh sách các gói sẵn
 lập danh sách gói đã cài đặt

Mở rộng 

Phiên bản 2.x của yum bổ sung một giao diện cho các phần mở rộng được lập trình bằng Python cho phép thay đổi một số hoạt động của yum. Một số plug-in được cài đặt theo mặc định. Một gói thường được cài đặt như yum-utils, chứa các lệnh mà sử dụng các yum API, và nhiều plugins.

Giao diện đồ họa người dùng, còn được biết đến là "front-ends", cho phép dễ dàng sử dụng yum. PackageKit vàYum Extender (yumex) là hai ví dụ.

Metadata 
Thông tin về các gói được gọi là metadata. Những siêu dữ liệu được kết hợp với thông tin trong mỗi gói để xác định (và giải quyết nếu có) phụ thuộc giữa các gói. Hy vọng là để tránh tình trạng được gọi là dependency hell. Một công cụ riêng biệt, createrepo, thiết lập các kho phần mềm yum, tạo ra các dữ liệu cần thiết trong một định dạng XML (và các siêu dữ liệu SQLite nếu cung cấp tùy chọn -d). Các công cụ mrepo tool (trước đây là Yam) có thể giúp đỡ trong việc tạo ra và duy trì các kho phần mềm.

Kho lưu trữ XML của Yum, được xây dựng với sự đóng góp từ nhiều nhà phát triển khác, nhanh chóng trở thành tiêu chuẩn cho các kho RPM. Bên cạnh các bản phân phối sử dụng Yum trực tiếp, SUSE Linux 10.1 thêm hỗ trợ cho các kho Yum trong YaST, và các kho Open Build Service sử dụng yum kho định dạng siêu dữ liệu XML.

Yum tự động đồng bộ hóa các dữ liệu meta từ xa cho khách hàng cục bộ, với các công cụ khác chọn để đồng bộ hóa chỉ khi có yêu cầu của người dùng. Có tự động đồng bộ có nghĩa là yum không thể thất bại do người sử dụng không chạy một lệnh tại các khoảng thời gian chính xác.

Xem thêm 
 .rpm - định dạng đóng gói file được sử dụng bởi yum
 DNF - triển khai lại yum dựa trên libsolv
 APT - Trình quản lý gói dựa trên dpkg cho các hệ thống Debian

Chú thích

Liên kết ngoài 
 
 Managing packages with yum – Mô tả làm thế nào để sử dụng yum để quản lý các gói
 Yum documentation  tại Fedora
 Yum documentation tại CentOS
 Yum documentation  tại Scientific Linux

Phân phối phần mềm