Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Cách sử dụng RPM pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (279.9 KB, 7 trang )

Nguyễn Thanh Hải-QL02A/3 ()
Cách sử dụng RPM

RPM là chương trình cài đặt RPM Package Manager, dùng để cài đặt các
chương trình đã được biên dịch từ source sang file nhị phân. Những ưu điểm
của việc cài chương trình dạng RPM so với việc cài chương trình từ source
code.
-
Dễ dàng cài đặt và gỡ cài đặt ra khỏi hệ thống.
-
Dễ dàng kiểm tra lỗi các package đã cài vào hệ thống.
-
Dễ xây dựng package.
-
Chương trình thực thi hoàn toàn giống với cách cài từ source code.
-
Có thể cài được trên nhiều hệ thống.
RPM có thể dễ dàng thực hiện được các công việc sau: cài đặt, gỡ cài đặt, nâng
cấp, làm tươi, kiểm tra lỗi.
1. Các thông số và cấu hình về RPM của hệ thống:

--version: hiển thị phiên bản của RPM hiện đang sử dụng
VD: [root@KINGHAI root]# rpm --version
RPM version 4.3.1

--quiet: Không hiển thị thông tin trong suốt quá trình cài đặt một
package, chỉ hiển thị thông tin lỗi.

-v: Hiển thị thông tin quá trình cài đặt package.

--rcfile: thay đổi các chứa thông tin cấu hình cho RPM, các file cách


nhau bằng dấu “:”. Mặc định, các file cấu hình sẽ là
/usr/lib/rpm/rpmrc:/usr/lib/rpm/red hat/rpmrc:/etc/rpmrc:~/.rpmrc.

--dbpath: Thay đổi file dữ liệu thông tin về các package. Mặc định file
này sẽ là
/var/lib/rpm

2. Truy vấn một package (Query):
Tìm kiếm thông tin về một package trong cơ sở dữ liệu của hệ thống.
Cấu trúc của một câu lệnh query package:
rpm -q|--query [điều kiện hiển thị] [điều kiện truy vấn] <package>
<package> có thể là một package tại máy cục bộ, hoặc là một package ở
một địa chỉ ftp hoặc http nào đó. Nếu package ở một trang ftp hoặc http
thì tên package sẽ là đường dẫn tuyệt đối đến package đó.
VD: [root@KINGHAI root]#rpm -qpi x-unikey-0.9.2-1.i586.rpm
hay
[root@KINGHAI root]#rpm -pqi />unikey-0.9.2-1.i586.rpm
Chú ý: Khi truy vấn một package ở một địa chỉ http hoặc ftp thì header của
package sẽ được download về, chứ không download toàn bộ package.
Điều kiện hiển thị:

-a, --all: hiển thị tất cả các package đã được cài đặt vào hệ thống.
VD: [root@KINGHAI root]#rpm -qa

-f, --file: hiển thị package nào có chứa câu lệnh đang cần truy vấn. Chú
ý: muốn truy vấn được package nào có chứa câu lệnh đang cần truy
Nguyễn Thanh Hải-QL02A/3 ()
vấn thì phải gõ đường dẫn chính xác cùa câu lệnh, có thể tìm đường
dẫn chính xác của câu lệnh bằng whereis <câu lệnh>
VD:

[root@KINGHAI root]# whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc usr/share/man/man1/gc
c.1.gz
[root@KINGHAI root]# rpm -qf /usr/bin/gcc
gcc-3.3.3-7
Khi muốn tìm kíếm các file tài liệu có liên quan đến câu lệnh nào,
dùng
[root@KINGHAI root]#rpm -qdf /usr/bin/md5sum


-g, --group: hiển thị package nào là thuộc group nào.
VD: [root@KINGHAI root]# rpm -qg System/Internationalization
x-unikey-0.9.2-1
Chú ý: Để biết tên group nào sở hữu package nào, nên xem thông tin
package bằng rpm -qi

-p: Hiển thị tên của package sau khi đã cài vào hệ thống.
VD: [root@KINGHAI root]# rpm -qp x-unikey-0.9.2-1.i586.rpm
x-unikey-0.9.2-1
Khi dùng option này với các option -i, -l có thể xem thông tin, liệt kê
danh sách của package mà không cần phải cài package vào hệ thống.

--pkgid: Hiển thị package có chuỗi kiểm tra MD5 trùng với chuỗi này.

--whatprovides: Hiển thị tất cả các package có chứa câu lệnh/chức
năng này.
VD: [root@KINGHAI root]# rpm -q --whatprovides gcc
gcc-3.3.3-7

--whatrequires: Hiển thị tất cả các package có liên quan đến câu

lệnh/chức năng này.
VD: [root@KINGHAI root]# rpm -q --whatrequires gcc
gcc-c++-3.3.3-7
gcc-g77-3.3.3-7
gcc-gnat-3.3.3-7
gcc-objc-3.3.3-7
gcc-java-3.3.3-7
sm56-06.05.00-1

-v: Sử dụng option này cùng với các option -c, -d, -l, -s để hiển thị danh
sách giống như danh sách của câu lệnh ls -l.

Điều kiện truy vấn:

--changelog: Hiển thị những thay đổi, cập nhật của package qua các
lần đóng gói. Thông tin này do người đóng gói file cung cấp trong
package.
VD: [root@KINGHAI root]#rpm -q –changelog x-unikey-0.9.2-1

-c, --configfiles: Chỉ hiển thị những file cấu hình.
VD: [root@KINGHAI root]#rpm -q –configfiles x-unikey-0.9.2-1
Nguyễn Thanh Hải-QL02A/3 ()

-d, --docfiles: Chỉ hiển thị những file tài liệu của chương trình.
VD: [root@KINGHAI root]#rpm -q –docfiles x-unikey-0.9.2-1

--filesbypkg: tương tự -l.

-i, --info: Hiển thị thông tin về package, bao gồm: tên package, miêu tả,
ngày phát hành, dung lương. ngày xây dựng package, ngày cài đặt vào

hệ thống và các thông tin khác. Nếu muốn xem thông tin về một option
chưa được cài vào hệ thống, dùng thêm option -p.
VD: [root@KINGHAI root]#rpm -qi x-unikey

-l, --list: Xem các file trong package. Nếu muốn xem danh sách file
trong một package chưa được cài vào hệ thống thì thêm option -p.
VD: [root@KINGHAI root]#rpm -ql x-unikey-0.9.2-1
hay [root@KINGHAI root]#rpm -qpl x-unikey-0.9.2-1-1.i586.rpm

--provides: Xem các lệnh mà sau khi cài package sẽ sử dụng được.
Nếu có file binary thì sẽ xem được thêm phiên bản của package.
VD: [root@KINGHAI root]#rpm -q --provides gcc
gcc = 3.3.3-7

-R, --requires: Xem tất cả các packages cần thiết để package có thể
hoạt động được.
VD: [root@KINGHAI root]# rpm -q --requires gcc
/bin/sh
/bin/sh
/bin/sh
/sbin/install-info
binutils >= 2.14.90.0.4-4
cpp = 3.3.3-7
glibc-devel >= 2.2.90-12
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.3)
libgcc >= 3.3.3-7
rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Chú ý: --requires và –whatrequires có chức năng khác nhau.

--scripts: Xem các scripts được thực hiện khi cài đặt và gỡ cài đặt một
package.
VD: [root@KINGHAI root]#rpm -qi x-unikey

--state: Xem tình trạng của các file trong package, file ở trạng thái
normal (bình thường), trạng thái not installed (chưa cài), hoặc ở trạng
thái replaced (đã được thay thế, cài chồng).
VD: [root@KINGHAI root]#rpm -qs x-unikey

--triggers, --triggerscripts: Xem các trigger scripts sẽ được tự động thực
hiện.
VD: [root@KINGHAI root]#rpm -q –triggers x-unikey

Nguyễn Thanh Hải-QL02A/3 ()
3. Cài đặt (Install):
Cài đặt một package vào hệ thống.
Cấu trúc một câu lệnh cài đặt:
rpm -i [điều kiện cài đặt]
-i|--install: Cài đặt package.
VD: [root@KINGHAI root]#rpm -ivh x-unikey-0.9.2-1.i586.rpm
hay [root@KINGHAI root]#rpm --install -vh x-unikey-0.9.2-1.i586.rpm
Điều kiện cài đặt:

--test: Dùng option này để kiểm tra sau khi cài đặt package thì sẽ xảy ra
đụng độ ở các package nào hoặc file nào không, hoặc cần thêm các
package nào để package cần cài có thể hoạt động được. Option này sẽ

không cài đặt package.
VD: root@KINGHAI root]# rpm -ivh --test xmms-mp3.rpm
Nếu xảy ra lỗi thì hệ thống sẽ thông báo lỗi tương tự như khi cài đặt
hoặc nâng cấp.

--replacepkgs: Trong trường hợp khi cài một package mà nhận được
thông báo package đó đã được cài đặt (package already installed) và
không cho cài tiếp, thì khi sử dụng option này sẽ cài chồng package đó.
VD: [root@KINGHAI root]#rpm -ivh –replacepkgs x-unikey-0.9.2-
1.i586.rpm

--replacefiles: Trong trường hợp khi cài một package mà một file nào đó
trong package đã được cài bởi một package khác, và hệ thống sẽ thông
báo file đó đã tồn tại (VD: foo /usr/bin/foo conflicts with file from bar-
1.0-1) và sẽ không cho cài đặt, khi sử dụng option này thì sẽ cho phép
cài chồng file đó trong hệ thống.
Chú ý: Khi sử dụng option này, nên chú ý file bị conflict. Trong tương lai,
nếu user không muốn sử dụng package có file bị conflict này nữa, user
gỡ package đó ra khỏi hệ thống, do đó file bị conflict cũng bị xóa, và
chương trình trước đó sẽ không thực thi được vì thiếu file cần thiết.
VD: [root@KINGHAI root]#rpm -ivh –replacefiles x-unikey-0.9.2-
1.i586.rpm

--nodeps: Khi cài đặt một package, mà package đó cần các package
khác để có thể hoạt động được, mà các package đó chưa được cài đặt
thì hệ thống sẽ thông báo lỗi.
VD: [root@KINGHAI root]# rpm -ivh xmms-mp3.rpm
warning: xmms-mp3.rpm: V3 DSA signature: NOKEY, key ID e42d547b
error: Failed dependencies:
xmms = 1:1.2.10 is needed by xmms-mp3-1.2.10-2.2.p.1.fc2.fr

libxmms.so.1 is needed by xmms-mp3-1.2.10-2.2.p.1.fc2.fr
Khi gặp thông báo này thì user phải cài các package cần thiết để
package xmms có thể cài được. Nếu sử dụng option –nodeps thì hệ
thống sẽ cài đặt package mà không quan tâm đến sự cần thiết phải có
các package nào thì package đang cài mới hoạt động được, tuy nhiên
có thể xảy ra tình trạng package sau khi cài xong sẽ không thực thi
được.
VD: root@KINGHAI root]# rpm -ivh --nodeps xmms-mp3.rpm
Nguyễn Thanh Hải-QL02A/3 ()

--force: Bắt buộc hệ thống cài package này. --force đồng nghĩa với việc
sử dụng –replacepkgs và –replacefiles.

4. Gỡ cài đặt (Erase):
Cấu trúc một câu lệnh gỡ cài đặt
rpm -e [Điều kiện gỡ cài đặt] <package>
<package> có thể chỉ là tên của package không cần version. Nhưng nên
sử dụng tên package đầy đủ với version và phần mở rộng rpm.
VD: [root@KINGHAI root]#rpm -e x-unikey
hay [root@KINGHAI root]#rpm -e x-unikey-0.9.2-1.i586.rpm
Điều kiện gỡ cài đặt:

--allmatches: Gỡ cài đặt tất cả các version của package, nếu trong hệ
thống có cài nhiều package với các version khác nhau.

--nodeps: tương tự như option của phần cài đặt.

--test: tương tự như option của phần cài đặt.

5. Nâng cấp và “làm tươi” package:

5.1 Nâng cấp (Upgrade):
Cập nhật package. Nếu package chưa tồn tại thì dùng option này sẽ cài
package. Khi thực hiện option này, hệ thống sẽ xóa toàn bộ package
cũ, và thay bằng package mới.
Cấu trúc câu lệnh nâng cấp:
rpm -U|--upgrade [Điều kiện nâng cấp] <package>
VD: #rpm -Uvh x-unikey-0.9.2-1.i586.rpm
Điều kiện nâng cấp:

--oldpackage: Khi nâng cấp một package mà phiên bản của package
cần cài vào máy cũ hơn so với package đã có trong máy, hệ thống sẽ
báo lỗi và không cho cài đặt.
VD: [root@KINGHAI
root]#rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
Khi dùng option này thì sẽ báo cho hệ thống biết package đang có
trong hệ thống là cũ và sẽ ép hệ thống cài đặt package này vào.
[root@KINGHAI
root]#rpm -Uvh –oldpackage foo-1.0-1.i386.rpm

5.2 “Làm tươi” package (Freshen):
Cập nhật package, tưong tự như -U, tuy nhiên option này chỉ sử dụng
được khi package cũ đã tồn tại trong hệ thống. Hệ thống sẽ so sánh phiên
bản của 2 package cũ và mới, nếu khác nhau thì sẽ cập nhật, nếu giống
nhau thì sẽ không làm gì cả.
Cấu trúc của câu lệnh “làm tươi” package
rpm -F <package>
VD: [root@KINGHAI
root]#rpm -Fvh x-unikey-0.9.2-1.i586.rpm

Trong trường hợp trong máy hiện tại đã cài một số package, và
user đã download một khối lượng lớn package về máy, user không muốn

×