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.[2] 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.

Yellowdog Updater, Modified
Phát triển bởiSeth Vidal
Kho mã nguồn
Viết bằngPython[1]
Hệ điều hànhLinux
Thể loạiHệ thống quản lý gói
Giấy phépGPL v2
Websiteyum.baseurl.org

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 phân phối dựa trên RPM.[3] 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ộ[4] 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.[5]

Lịch sử sửa

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.[6] Các tiếp nhận tiếp theo bao gồm Red Hat Enterprise Linux,[7] 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.[8] Đế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"[9] 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.[10][11][12]

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,[13] 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.[14] 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.[15][16] 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 sửa

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 sửa

 
Giao diện của Yum Extender (yumex)

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.[17] Một gói thường được cài đặt[18] 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ụ.[19]

Metadata sửa

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).[20] 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.[21]

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.[22] Bên cạnh các bản phân phối sử dụng Yum trực tiếp, SUSE Linux 10.1[23] 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.[24][25]

Xem thêm sửa

Chú thích sửa

  1. ^ Jang, Michael H. (ngày 14 tháng 12 năm 2005). “Chapter 7 – Setting Up a yum Repository”. Linux Patch Management: Keeping Linux Systems Up to Date (PDF). Prentice Hall Professional.
  2. ^ Brown, Robert G. “Yum (Yellowdog Updater, Modified) HOWTO - Introduction”. Duke Physics. Truy cập ngày 12 tháng 7 năm 2013.
  3. ^ Shields, Ian (ngày 11 tháng 5 năm 2010). “RPM and YUM package management”. IBM. Truy cập ngày 12 tháng 7 năm 2013.
  4. ^ “Creating a Local Yum Repository Using an ISO Image”. Oracle. Truy cập ngày 12 tháng 7 năm 2013.
  5. ^ Miller, Matthew (ngày 11 tháng 6 năm 2014). “Board Meeting, Rawhide Rebuilt, Firewall Debate, ARM 64, and DNF as Yum Replacement (5tFTW 2014-06-10)”. Fedora Magazine.
  6. ^ Brown, Robert G. (ngày 17 tháng 12 năm 2003). “YUM: Yellowdog Updater, Modied” (PDF). Truy cập ngày 13 tháng 7 năm 2013.
  7. ^ “Red Hat Enterprise Linux 6 Deployment Guide. Chapter 6: Yum”. Red Hat. Truy cập ngày 11 tháng 7 năm 2013.
  8. ^ “Yellow Dog Update Program”. Truy cập ngày 18 tháng 7 năm 2013.
  9. ^ Fusco, John. “The Linux Programmer's Toolbox”. Pearson Education. ISBN 9780132703048.
  10. ^ “Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd”. ngày 9 tháng 7 năm 2013. Truy cập ngày 13 tháng 7 năm 2013.
  11. ^ “Thank you, Seth Vidal”. Red Hat. ngày 10 tháng 7 năm 2013. Truy cập ngày 13 tháng 7 năm 2013.
  12. ^ Bort, Julie (ngày 9 tháng 7 năm 2013). “36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed”. Truy cập ngày 13 tháng 7 năm 2013.
  13. ^ Murphy, David (ngày 23 tháng 7 năm 2004). “How to run your own yum repository”. Linux Foundation. Bản gốc lưu trữ ngày 21 tháng 7 năm 2013. Truy cập ngày 12 tháng 7 năm 2013.
  14. ^ “What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux?”. Red Hat.
  15. ^ Sweeney, Michael (2005). “Network Security Using Linux”. ISBN 9781411621770.
  16. ^ Bresnahan, Christine (2012). “Linux Bible”. John Wiley & Sons. ISBN 9781118286906.
  17. ^ “Yum Plug-ins”. Red Hat. Truy cập ngày 12 tháng 7 năm 2013.
  18. ^ “Maintaining yum”. CentOS. Bản gốc lưu trữ ngày 18 tháng 11 năm 2018. Truy cập ngày 12 tháng 7 năm 2013.
  19. ^ “Yum Extender”. Truy cập ngày 13 tháng 7 năm 2013.
  20. ^ “createrepo(8)”. Truy cập ngày 12 tháng 7 năm 2013.
  21. ^ “mrepo”. Freecode. Truy cập ngày 12 tháng 7 năm 2013.
  22. ^ “Standards Rpm Metadata”. openSUSE. Truy cập ngày 12 tháng 7 năm 2013.
  23. ^ “SUSE Linux 10.1 Alpha 2 is ready”. Bản gốc lưu trữ ngày 8 tháng 2 năm 2006. Truy cập ngày 12 tháng 7 năm 2013.
  24. ^ Schmitz, Dietrich T. “YUM vs. APT: Which is Best?”.
  25. ^ 'Linux Advocates' Throws in the Towel i.e. previous link is dead”. FOSS Force.

Liên kết ngoài sửa