24 thg 5, 2013

rpm : Câu lệnh dùng cài đặt, gở bỏ, update và truy vấn rpm packages


Lệnh rpm dùng để cài đặt, gở bỏ, update, query các packages rpm
rpm là từ viết tắt của Red Hat Package Manager
RPM filename gồm có : packagename, version, release and architecture name.
ví dụ : MySQL-client-3.23.57-1.i386.rpm
Các bạn hãy chuẩn bị một package rpm để thực hành các câu lệnh sau. Ở đây mình chọn package MySQL-client-3.23.57-1.i386.rpm

1_ Cài đặt rpm package sử dụng option -ivh

# rpm -ivh  MySQL-client-3.23.57-1.i386.rpm
Preparing...                ########################################### [100%]
   1:MySQL-client           ########################################### [100%]
Ý nghĩa của các option ivh

·                 -i : install a package
·                 -v : verbose ()
·                 -h : print hash marks as the package archive is unpacked.

2_ Truy vấn tất cả các gói rpm đã được cài trong hệ thống

# rpm -qa
cdrecord-2.01-10.7.el5
bluez-libs-3.7-1.1
setarch-2.0-1.1
.
.
.
Ý nghĩa các option : q : query, a : all installed packages
Nếu bạn muốn xác đinh một package đặc biệt nào đó thôi, thì dùng lệnh sau.

# rpm -qa | grep 'package'
3_ Truy vấn một package đặt biệt nào đó sử dụng rpm -q
Câu lệnh ở mục 2 là câu lệnh list các installed package. Sau khi cài đặt xong package rpm ta có thể kiểm tra gói đó bằng cách sử dụng option -q và package name chính xác của nó. Các bạn nhớ là phải điền chính xác tên, nếu không nó sẽ báo gói này chưa cài

# rpm -q MySQL-client
MySQL-client-3.23.57-1

# rpm -q MySQL
package MySQL is not installed
4_ Truy vấn package rpm với nhiều format sử dụng option -queryformat

# rpm -qa --queryformat '%{name-%{version}-%{release} %{size}\n'
cdrecord-2.01-10.7 12324
bluez-libs-3.7-1.1 5634
setarch-2.0-1.1 235563
.
.
.
#
5_ Nếu bạn có danh sách các file và muốn biết được nó thuộc package rpm nào trước đó thì dùng option -qf

# rpm -qf /usr/bin/mysqlaccess
MySQL-client-3.23.57-1
-f : tên file

6_ Xem thông tin của gói RPM đã cài đặt sử dụng option -qi

# rpm -qi MySQL-client
Name        : MySQL-client                 Relocations: (not relocatable)
Version     : 3.23.57                           Vendor: MySQL AB
Release     : 1                             Build Date: Mon 09 Jun 2003 11:08:28 PM CEST
Install Date: Mon 06 Feb 2010 03:19:16 AM PST               Build Host: build.mysql.com
Group       : Applications/Databases        Source RPM: MySQL-3.23.57-1.src.rpm
Size        : 5305109                          License: GPL / LGPL
Signature   : (none)
Packager    : Lenz Grimmer
URL         : http://www.mysql.com/
Summary     : MySQL - Client
Description : This package contains the standard MySQL clients.
Còn muốn xem thông tin gói mà chưa vài, vừa mới tải về thui thì dùng lệnh


# rpm -qip MySQL-client-3.23.57-1.i386.rpm
Name        : MySQL-client                 Relocations: (not relocatable)
Version     : 3.23.57                           Vendor: MySQL AB
Release     : 1                             Build Date: Mon 09 Jun 2003 11:08:28 PM CEST
Install Date: (not installed)               Build Host: build.mysql.com
Group       : Applications/Databases        Source RPM: MySQL-3.23.57-1.src.rpm
Size        : 5305109                          License: GPL / LGPL
Signature   : (none)
Packager    : Lenz Grimmer
URL         : http://www.mysql.com/
Summary     : MySQL - Client
Description : This package contains the standard MySQL clients.
Giải thíc option
i : view infomation
p : package name

7_ List content trong package rpm sử dụng option -qlp


$ rpm -qlp ovpc-2.1.10.rpm
/usr/bin/mysqlaccess
/usr/bin/mysqldata
/usr/bin/mysqlperm
.
.
.
/usr/bin/mysqladmin
8_ Liệt kê các gói phụ thuộc sử dụng option -qRP


# rpm -qRp MySQL-client-3.23.57-1.i386.rpm
9_ Kiểm tra những trạng thái (installed, replaced or normal) của các file nằm trong package sử dụng option -qsp


# rpm -qsp MySQL-client-3.23.57-1.i386.rpm
normal        /usr/bin/msql2mysql
normal        /usr/bin/mysql
normal        /usr/bin/mysql_find_rows
normal        /usr/bin/mysqlaccess
normal        /usr/bin/mysqladmin
normal        /usr/bin/mysqlbinlog
normal        /usr/bin/mysqlcheck
normal        /usr/bin/mysqldump
normal        /usr/bin/mysqlimport
normal        /usr/bin/mysqlshow
normal        /usr/share/man/man1/mysql.1.gz
normal        /usr/share/man/man1/mysqlaccess.1.gz
normal        /usr/share/man/man1/mysqladmin.1.gz
normal        /usr/share/man/man1/mysqldump.1.gz
normal        /usr/share/man/man1/mysqlshow.1.gz
10_ Kiểm tra một rpm package sử dụng option -Vp
Khi ta muốn so sánh những file đã cài đặt với những file nằm trong package rpm thì ta dùng câu lệnh sau

# rpm -Vp MySQL-client-3.23.57-1.i386.rpm
S.5....T c        /usr/bin/msql2mysql
S.5....T c        /usr/bin/mysql
S.5....T c        /usr/bin/mysql_find_rows
S.5....T c        /usr/bin/mysqlaccess
Giải thích ý nghĩa các ký tự ở trên.

·                 S file Size differs
·                 M Mode differs (includes permissions and file type)
·                 5 MD5 sum differs
·                 D Device major/minor number mismatch
·                 L readlink(2) path mismatch
·                 U User ownership differs
·                 G Group ownership differs
·                 T mTime differs

11_ Kiểm tra một Package Owning file sử dụng option -Vf

# rpm -Vf /usr/bin/mysqlaccess
S.5....T c /usr/bin/mysql
#
12_ Update một rpm package sử dụng option -Uvh
Khi kiểm tra rpm package nó sẽ kiểm tra version củ, nếu đã cài rùi, thì nó sẽ update, còn chưa cài thì nó sẽ install

# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm
Preparing...                       ########################################### [100%]
1:MySQL-client          ###########################################
13_ Ghở bỏ một rpm package sử dụng option -e

# rpm -ev MySQL-client
14_ Kiểm tra tất cả package sử dụng option -Va

# rpm -Va
S.5....T c /etc/issue
S.5....T c /etc/issue.net
S.5....T c /var/service/imap/ssl/seed
S.5....T c /home/httpd/html/horde/ingo/config/backends.php
.
.
S.5....T c /home/httpd/html/horde/ingo/config/prefs.php
S.5....T c /etc/printcap

Không có nhận xét nào:

Đăng nhận xét