Một trong các điểm mới của CentOS 8 là về trình quản lý gói quen thuộc YUM đã được thay thế bằng DNF. Trình quản lý DNF được team Fedora sử dụng từ bản Fedora 22 nhưng phải tới bây giờ thì team CentOS mới quyết định đưa vào sử dụng. Vậy có lý do nào mà cộng đồng chuyển từ YUM sang DNF hay không? Khi dùng DNF thì người dùng có phải nhớ thêm các cú pháp lệnh quen thuộc hay không? Tất cả sẽ được tóm tắt trong bài viết này.
Lý do mà DNF được thay thế cho YUM.
Một số lý do chính mà DNF được ca ngợi là thông minh, có tương lai hơn YUM là như sau:
- YUM được phát triển bởi cộng đồng và trải qua thời gian lâu đời, do đó, trong các thời kỳ trước thì việc chuẩn hóa các tài liệu về API của YUM có chút khó khăn hoặc thậm chí là tệ. Do vậy nếu muốn phát triển tiếp thì rất vất vả cho DEV.
- DNF thì hỗ trợ cả
python2
vàpython3
, trong khi đó YUM không giải quyết được việc này. Trong tương lai tới 2020 thìpython2
cũng đã có kế hoạch ngững hỗ trợ. Do vậy việc chuyển sang DNF là một bước tính cho tương lai. - Đơn giản là YUM đã outdate (lỗi thời) nên việc DNF hoặc một dạng khác thay thế là điều đương nhiên :D.
Dùng DNF có khó khăn gì không?
Câu trả lời là KHÔNG, bởi vì cú pháp của DNF kế thừa lại hoặc nói cách khác là y hệt như khi dùng YUM. Do vậy người dùng không cần phải nhớ quá nhiều, chỉ cần thay đổi yum
bằng dnf
là được.
Lưu ý: trên CentOS 8 bạn vẫn có thể dùng yum
để cài các gói như hiện tại. Lý do sẽ được trao đổi ở phần dưới.
Cú pháp cài đặt gói bằng DNF
dnf install ten_goi hoặc dnf install -y ten_goi
Ví dụ
Cài đặt các gói bằng DNF
dnf install -y vim dnf install -y httpd
Bản chất của trình quản lý gói DNF
Về bản chất, trình quản lý gói DNF
là được link tới YUM
trong CentOS 8. Có nghĩa là bạn vẫn dùng được lệnh yum install ten_goi
để cài đặt các gói cần thiết. Ta sẽ kiểm tra việc này.
Kiểm tra đường dẫn của chương trình yum
bằng lệnh which
[root@centos8srv01 ~]# which yum /usr/bin/yum
Kiểm tra các liên kết của /usr/bin/yum
[root@centos8srv01 ~]# ll /usr/bin/yum lrwxrwxrwx. 1 root root 5 May 14 02:34 /usr/bin/yum -> dnf-3
Trên kết quả trên, ta thấy bản chất /usr/bin/yum
là được link từ file dnf3
Tiếp tục kiểm tra xem đường dẫn của gói dnf
bằng lệnh which
[root@centos8srv01 ~]# which dnf /usr/bin/dnf
Và kiểm tra các liên kết của /usr/bin/dnf
, ta có kết quả dưới.
[root@centos8srv01 ~]# ll /usr/bin/dnf lrwxrwxrwx. 1 root root 5 May 14 02:34 /usr/bin/dnf -> dnf-3
Kiểm tra tiếp đường dẫn của /usr/bin/dnf-3
[root@centos8srv01 ~]# ll /usr/bin/dnf-3 -rwxr-xr-x. 1 root root 1954 May 14 02:34 /usr/bin/dnf-3
Kết quả trên cho thấy dnf-3
không liên kết tới file nào cả. Đây là file gốc cho lệnh dnf
và yum
.
Ta có thể kiểm tra các đường dẫn khác của các file liên quan tới gói yum
[root@centos8srv01 ~]# ll /etc/yum.conf lrwxrwxrwx. 1 root root 12 May 14 02:34 /etc/yum.conf -> dnf/dnf.conf
Kết luận
Như vậy, trong tương lai bạn nên chuyển dần sang dùng dnf
thay cho yum
đi nhé, vì hiện nay yum
đang được link tới dnf
rồi.
Hết rồi, tới đây tôi đã cập nhật thêm cho các bạn các thông tin về một thứ mới mẻ trong CentOS 8 để anh em nắm được và biết cách dùng về sau. Nếu có thêm chiêu trò gì mời bạn cùng chia sẻ với Onet.
Tham khảo
(1) https://www.linux.com/tutorials/what-you-need-know-about-fedoras-switch-yum-dnf/