SmartPM - Trình quản lý gói tin cho Linux OS

Đối với người dùng Linux, một trong những khó khăn lớn đó là quá trình cài đặt phần mềm. Nếu như trên HĐH Windows, việc cài đặt chỉ đơn giản là chạy file Setup.exe chứa trong bộ cài đặt của phần mềm, sau đó là một loạt các chỉ dẫn và người dùng đa phần chỉ cần ấn Next để hoàn thành quá trình cài đặt. Nhưng với Linux, một HĐH vốn được thiết kế cho đa thao tác, đa người dùng, các ứng dụng trên Linux thường tận dụng các thư viện dùng chung, từ đó dẫn đến một mối quan hệ phụ thuộc giữa chúng.

Linux là một hệ điều hành Mã nguồn mở, các ứng dụng chạy trên Linux cũng đa phần được phát triển từ cộng đồng rất lớn trên Internet. Vì vậy, có nhiều ứng dụng của nhóm phát triển này sử dụng các thư viện của nhóm phát triển kia, nên việc đóng gói các phần mềm cũng không thể toàn vẹn và chủ động từ một bên phát triển được. Những phụ thuộc này đã gây ra khó khăn trong quá trình cài đặt cho người dùng sử dụng Linux.

Linux sử dụng các trình quản lý gói tin để giúp người dùng cài đặt, cấu hình, cập nhật, gỡ bỏ, kiểm tra sự phụ thuộc, ... các gói phần mềm. Tuy nhiên trên các Linux Distribution sử dụng các trình quản lý gói tin khác nhau. Nếu như người dùng Debian cảm thấy khá thoải mái với cách quản lý và đóng gói phần mềm .deb qua dpkg, apt-get, aptitude thì điều này lại không xảy ra với hệ thống gói tin rpm trên Redhat, Fedora, SUSE...

Với dòng Redhat, Fedora, trước khi YUM được tích hợp vào Fedora core 3, người dùng vẫn phải cài đặt thủ công qua RPM. RPM chỉ có nhiệm vụ cài đặt các gói tin đã được chỉ định sẵn và thông báo khi thiếu một thư viện nào đó, nó không có khả năng tự tìm kiếm trên các "kho chứa" các gói tin phụ thuộc để cài đặt. Và đó cũng là những khắc phục khi YUM được Fedora đưa vào bộ đĩa cài đặt của mình. YUM ra đời giải quyết được khá nhiều công đoạn cài đặt cho người dùng. Với YUM, người dùng cung cấp địa chỉ của các "kho chứa" gói tin RPM qua đường dẫn máy chủ trên Internet vào file cấu hình là yum.conf, YUM sẽ tự động kết nối tới các kho chứa này, tải file thông tin về tất cả các gói tin (repository metadata) trên server về. YUM sẻ sử dụng file này để check sự phụ thuộc các gói tin khi thực hiện quá trình cài đặt, cập nhật, gỡ bỏ...

Đây là một ví dụ của file cấu hình yum.conf, trong đó có 2 kho: 1 kho chứa gói tin cơ bản, 1 kho chứa các gói tin update.

[code:1]
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=ftp://ftp.hostrino.com/pub/fedora/linux/core/
$releasever/$basearch/os

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/
core/updates/$releasever/$basearch
[/code:1]

YUM có rất nhiều tính năng hỗ trợ người dùng. Ngoài giúp người dùng cài đặt, cập nhật, gỡ bỏ gói tin tự động, YUM còn hỗ trợ thêm các tính năng như liệt kê tất cả gói tin trên kho (yum list), tìm tên gói tin có cung cấp thư viện người dùng cần (yum provides), quản lý tất cả các gói tin theo nhóm (yum groupinstall | groupremove | grouplist...)

[code:1]
Usage: yum [options] < update | install | info | remove | list |
clean | provides | search | check-update | groupinstall |
groupupdate | grouplist | groupinfo | groupremove | generate-rss |
makecache | localinstall >
[/code:1]

Tuy nhiên, nhiều người dùng vẫn than phiền về YUM bởi tốc độ của nó. Tốc độ xử lý thông tin của các gói tin và tải gói tin về từ trên server về để cài đặt diễn ra rất chậm, làm mất nhiều thời gian của người dùng. Ngoài ra, cơ chế kiểm tra sự phụ thuộc quá khắt khe, nhiều lúc người dùng bắt buộc phải cài đặt những gói tin không thật sự cần thiết lắm với gói tin định cài.

Đã có nhiều người dùng đã lựa chọn APT, trình quản lý gói tin ưa thích trên Debian, cho Redhat, Fedora. Với APT, tốc độ xử lý rất nhanh, đặc biệt trong tìm kiếm gói tin. Tuy nhiên, cơ chế kiểm tra sự phụ thuộc cũng khắt khe không kém gì YUM. Khi APT được cài trên hệ thống gói tin RPM và phát hiện ra nhiều lỗi về sự phụ thuộc giữa các gói tin, APT sẽ yêu cầu phải giải quyết xong sự phuộc này thì các tiện ích của APT mới hoạt động được. Thêm vào đó, không có nhiều kho chứa gói tin RPM hộ trợ cơ chế đọc file của APT.

Một ví dụ:

Khi cài đặt APT và thử dùng APT để cài đặt một gói tin

[code:1]
# apt-get install nmap
[/code:1]

nhận được thông báo lỗi
....

[code:1]
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
[/code:1]

[code:1]
[b]# apt-get -f install[/b]
The following extra packages will be installed:
Omni-foomatic bind bind-libs bind-utils cups foomatic gd gdk-pixbuf ghostscript
ghostscript-fonts gtk2 hal httpd httpd-suexec kernel#2.6.12-1.1381_FC3
kernel-utils#1:2.4-13.1.39 libgcj libgcj-devel man mkinitrd nfs-utils openssh openssh-clients
openssh-server pygtk2 pygtk2-libglade qt redhat-menus system-config-printer urw-fonts
util-linux vim-minimal vixie-cron words xinitrc xorg-x11 xorg-x11-Mesa-libGL
xorg-x11-Mesa-libGLU xorg-x11-font-utils xorg-x11-libs xorg-x11-xauth xorg-x11-xfs
The following packages will be upgraded
bind-libs bind-utils httpd-suexec libgcj-devel mkinitrd openssh-clients openssh-server pygtk2
pygtk2-libglade
The following packages will be REPLACED:
mount (by util-linux)
The following NEW packages will be installed:
Omni-foomatic bind cups foomatic gd gdk-pixbuf ghostscript ghostscript-fonts gtk2 hal httpd
kernel#2.6.12-1.1381_FC3 kernel-utils#1:2.4-13.1.39 libgcj man nfs-utils openssh qt
redhat-menus system-config-printer urw-fonts util-linux vim-minimal vixie-cron words xinitrc
xorg-x11 xorg-x11-Mesa-libGL xorg-x11-Mesa-libGLU xorg-x11-font-utils xorg-x11-libs
xorg-x11-xauth xorg-x11-xfs
9 upgraded, 33 newly installed, 1 replaced, 0 removed and 88 not upgraded.
Need to get 77.0MB of archives.
After unpacking 223MB of additional disk space will be used.
[/code:1]

Chính vì vậy, Smart ra đời để giải quyết các vấn đề trên.

Sau đây là một số tính năng được Smart giới thiệu:

- Giao diện sử dụng: dòng lệnh và đồ họa

- Hỗ trợ nhiều loại kênh với nhiều kho chứa

# APT-DEB Repository
# APT-RPM Repository
# DPKG Installed Packages
# Mirror Information
# Red Carpet Channel
# RPM Directory
# RPM Header List
# RPM MetaData (YUM)
# RPM Installed Packages
# Slackware Repository
# Slackware Installed Packages
# URPMI Repository

- Hỗ trợ sắp xếp độ ưu tiên giữa các kênh. Kênh nào có độ ưu tiên cao sẽ được hiểu là nơi cung cấp các gói tin tin cậy, phù hợp nhất với hệ thống.

- Trình download của smart hỗ trợ đa kết nối tới server ( download song song )

- Tự động phân tải các mirror

Dưới đây là ví dụ các mirror của Fedora core 3

[code:1]
root@accvn: ~ # smart channel --show
[dries]
type = rpm-md
name = Dries
priority = 100
baseurl =
http://apt.sw.be/dries/fedora/fc3/i386/dries/RPMS

[livna-stable]
type = rpm-md
name = Livna Stable
priority = 10
baseurl =
http://rpm.livna.org/fedora/3/i386/

[kde-redhat-stable]
type = rpm-md
name = Kde Stable
priority = 10
baseurl =
http://apt.kde-redhat.org/apt/kde-redhat/fedora/
3/i386/stable/

[rpmforge]
type = rpm-md
name = RpmForge
priority = 100
baseurl =
http://apt.sw.be/dries/fedora/fc3/i386/dries/RPMS

[updates]
type = rpm-md
name = Updated packages from Red Hat for Fedora Core 3 - i386
priority = 100
baseurl =
http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/
updates/3/i386

[rpm-db]
type = rpm-sys
name = RPM Database on this system
priority = 100

[freshrpms]
type = rpm-md
name = Freshrpms
priority = 100
baseurl =
http://ayo.freshrpms.net/fedora/linux/3/i386/ freshrpms/

[os]
type = rpm-md
name = OS packages from Red Hat for Fedora Core 3 - i386
baseurl =
ftp://ftp.hostrino.com/pub/fedora/linux/core/
3/i386/os
[/code:1]

Smart hỗ trợ nhiều tính năng qua các lựa chọn:

[code:1]
root@accvn: ~ # smart
Usage: smart command [options] [arguments]

Action commands:
update
install
reinstall
upgrade
remove
check
fix
download

Query commands:
search
query
info
stats

Setup commands:
channel
priority
mirror
flag

Run "smart command --help" for more information.
[/code:1]

Để cài đặt smart, có thể download gói rpm tùy theo phiên bản FC, Redhat, ... đang chạy tại địa chỉ sau:

http://rpmforge.net/user/packages/smart/
http://bestsharing.net/pub/Linux/PM/

Phụ lục: Một số "kho chứa" cho Fedora, Redhat Enterprise. Lưu ý, kho chứa APT và YUM đều có thể áp dụng cho SMART.

====================================================

YUM configuration for Red Hat Enterprise Linux 4
You will need to add the following lines to your yum config:

[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/
redhat/el4/en/i386/dries/RPMS

APT configuration for Red Hat Enterprise Linux 4
You will need to add the following lines to your apt config:

rpm http://apt.sw.be dries/redhat/el4/en/i386 dries
rpm-src http://apt.sw.be dries/redhat/el4/en/i386 dries

YUM configuration for Red Hat Enterprise Linux 3
You will need to add the following lines to your yum config:

[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/
redhat/el3/en/i386/dries

APT configuration for Red Hat Enterprise Linux 3
You will need to add the following lines to your apt config:

rpm http://apt.sw.be dries/redhat/el3/en/i386 dries
rpm-src http://apt.sw.be dries/redhat/el3/en/i386 dries

YUM configuration for Fedora Core 4
You will need to add the following lines to your yum config:

[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/ fedora/linux/$releasever/$basearch/dries/RPMS/

APT configuration for Fedora Core 4 i386
You will need to add the following lines to your apt config:

rpm http://apt.sw.be dries/fedora/fc4/i386 dries
rpm-src http://apt.sw.be dries/fedora/fc4/i386 dries

YUM configuration for Fedora Core 3
You will need to add the following lines to your yum config:

[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/
fedora/linux/$releasever/$basearch/dries/RPMS/

APT configuration for Fedora Core 3
You will need to add the following lines to your apt config:

rpm http://apt.sw.be dries/fedora/fc3/i386 dries
rpm-src http://apt.sw.be dries/fedora/fc3/i386 dries

====================================================


Trên đây là một số thông tin về Package Management và giới thiệu về smartpm, một công cụ khá tốt trong quản lý gói tin .rpm, .deb, ...

Bài do http://www.vnexperts.net gửi

Thứ Sáu, 18/08/2006 14:06
31 👨 683
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp