当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux RPM卸载参数详细介绍      rpm卸载参数 --test : 卸载测试  --nodeps : 不检查依赖 --noscripts : 不执行脚本程序 --notriggers : 不执行触发程序 --justdb : 仅修改数据库 --force 强制 注意: RPM卸载软件包,并非简单地将原来安.........
    ▪Linux RPM命令参数使用详解      1、查询rpm包信息:   代码示例: rpm -qpi Linux-1.4-6.i368.rpm   会得到软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。 2、选择性安装:   代码.........
    ▪rpm安装、卸载mysql及mysql配置介绍      以下内容以MySQL-server-4.0.14-0.i386.rpm为例,文件在/data目录中。 1、安装mysql服务端   代码示例: cd /data rpm -ivh MySQL-server-4.0.14-0.i386.rpm   安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚.........

[1]Linux RPM卸载参数详细介绍
    来源: 互联网  发布时间: 2013-12-24

rpm卸载参数
--test : 卸载测试 
--nodeps : 不检查依赖
--noscripts : 不执行脚本程序
--notriggers : 不执行触发程序
--justdb : 仅修改数据库
--force 强制

注意:
RPM卸载软件包,并非简单地将原来安装的文件逐个删除。
比如,A软件包依靠B软件包做某些工作,若B软件包卸载了,则A软件包就不能正常运行了。
其实,windows也是这样的,在服务管理中你会看到某一服务的依赖服务,其实也是这个道理。-- 批注 2013.4.27
RPM为用户安全考虑,会做某些检查,尽可能排除出错的情况。

RPM在卸载软件包时,分步骤进行如下操作:  
1. 检查依赖(Denpendency)  
检查依赖的目的,在于确保当前没有任何软件包依赖于当前要卸载的软件包。  

2. 执行卸载前触发脚本程序(Triggerun)  

3. 执行卸载前脚本程序(Preuninstall)  
本程序为软件包制作者设定,完成卸载前的一些工作,具体如,要卸载的软件包中某个程序当前正在运行时,脚本程序必须杀掉它,否则无法正确卸载。  

4. 检查配置文件(Configfiles)  
RPM卸载软件包前会检查包中的配置文件是否修改了,如果修改了,RPM要换个名字保存该文件,文件名一般是“原文件名+.rpmsave”。(这是RPM软件包管理的特色之一)  

5. 真正卸载  
即按照软件包中的文件列表,将文件逐个删除。要注意的是,如果其中有文件属于别的软件包(即两个软件包拥有一个名字相同的文件),则RPM并不删除。  

6. 执行卸载后脚本程序(Postuninstall)  
本程序主要是完成卸载的善后工作,如将系统配置文件inetd.conf修改一下,去掉安装时添加的东西等等。  

7. 更新RPM数据库  
卸载后,RPM删除该软件包在数据库中的所有信息。  

8. 执行卸载后触发脚本程序(Triggerpostun)  
命令格式  
rpm -e [卸载选项1 卸载选项2...] [软件包标识1 软件包标识2...] 
注: 也可使用--erase代替-e,效果相同。  
软件包标识 
对于已安装的软件包,RPM使用如下格式来唯一标识它:  
Name[-Subname]-Version-Release 
其中: Name: 指软件名; 
Subname : 本项可选,指软件包子包的名字; 
Version : 指软件版本号。注意:其中不能含减号(-)字符; 
Release : 指软件释出号。 
例如: 包裹文件file-3.26-6.i386.rpm安装后,其软件包标识为file-3.26-6。可以用此标识卸载,查询,校验该软件包。在命令行上输入软件包标识时,可以写全,也可以采用简写的方式。如file-3.26-6,可仅输入file,或file-3.26,或输全。又如: 带有子包的软件包标识XFree86-devel-3.3.6-6,可仅输入XFree86-devel,或XFree86-devel-3.3.6,还可完全输入。  
注意: 软件包标识是大小写敏感的,即大写字母与小写字母表示不同的涵义。如bash-2.03-10标识不能输作Bash-2.03-10,也不能输作bAsh-2.03-10等等。  

下面对指定用选项做些解释:  
1. --test : 卸载测试  
RPM的卸载测试做些什么?主要是检查依赖关系,确保系统中没有软件包依赖于要卸载的软件包。如果还有软件包依赖要卸载的软件包,则RPM会提示依赖关系将中断的错误,例如:  
 

代码示例:
# rpm -e --test mktemp 
error: removing these packages would break dependencies: 
mktemp is needed by autoconf-2.13-5 
mktemp is needed by dev-2.7.7-4BP 
mktemp is needed by groff-1.11a-10BP 
mktemp is needed by gzip-1.2.4-15BP 
mktemp is needed by initscripts-4.16-3BP 
mktemp is needed by metamail-2.7-21BP 
mktemp is needed by rpm-3.0.3-4BP 
mktemp is needed by autofs-3.1.3-2 
/bin/mktemp is needed by apache-1.3.12-5BP 
/bin/mktemp is needed by linuxconf-1.16r1.3-4BP 

 

当然,我们通过浏览卸载测试时输出的调试信息就知道得更清楚了。  
 

代码示例:
# rpm -e --test -vv file | nl 
1 D: opening database mode 0x0 in //var/lib/rpm/ 
2 D: getting list of mounted filesystems 
3 + echo triggeruninstall 
4 triggeruninstall 
5 D: will remove files test = 1 
6 D:file: /usr/share/magic action: remove 
7 D:file: /usr/man/man4/magic.4 action: remove 
8 D:file: /usr/man/man1/file.1 action: remove 
9 D:file: /usr/bin/file action: remove 
10 + echo triggerpostuninstall 
11 triggerpostuninstall 
12 D: removing database entry 
 

注: 本例进行file包的卸载测试,输出信息送管道交nl列出行号,现逐行解释。(行号后以D:开始的行输出的为调试信息)  
第1行: 打开/var/lib/rpm目录下的RPM数据库;  
第2行: 取已安装文件系统列表;  
第3行: 执行卸载前触发脚本程序;  
第4行: 这一行是卸载前触发脚本程序的执行结果;  
第5行: RPM提示将要删除文件,其中test=1表明为卸载测试,并非真正删除;  
第6-9行: 显示各文件的执行操作--删除;  
第10行: 执行卸载后触发脚本程序;  
第11行: 本行是卸载后触发脚本程序的执行结果;   


    
[2]Linux RPM命令参数使用详解
    来源: 互联网  发布时间: 2013-12-24

1、查询rpm包信息:
 

代码示例:
rpm -qpi Linux-1.4-6.i368.rpm
 

会得到软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2、选择性安装:
 

代码示例:
rpm -qpl Linux-1.4-6.i368.rpm

3、选择安装方式后,开始安装。
可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。
在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:
 

代码示例:
rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

4、卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。

5、升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁

6、通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:
 

代码示例:
rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

7、若误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

8、在Linux中,下面这条命令行可以快速判定某个文件属于哪个软件包:
rpm -qf <文件名>

9、当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。
注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:
rpm -参数 <文件名>

附,rpm安装以及rpm升级命令

问题描述:Linux下直接双击rpm安装包,会出现错误提示:
Failed to install!
You don't have the necessary privileges to install local packages
这是由于安全的缘故。

解决方法:
在终端/命令提示符下,用root用户进行安装,安装新文件用安装命令,如果出现冲突-conflict的情况,那么可能是已经存在了,需要升级软件用升级命令。

1.安装命令
rpm -ivh rpm文件名

参数解释
-i 安装
-h 解压rpm的时候打印50个斜条 (#)
-v 显示详细信息

2.升级命令
rpm -Uvh rpm文件名

参数解释
-U 升级
-h 解压rpm的时候打印50个斜条 (#)
-v 显示详细信息


    
[3]rpm安装、卸载mysql及mysql配置介绍
    来源: 互联网  发布时间: 2013-12-24

以下内容以MySQL-server-4.0.14-0.i386.rpm为例,文件在/data目录中。

1、安装mysql服务端
 

代码示例:
cd /data
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
 

安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)

根据自己的情况,复制一个示例配置文件作为mysql的配置文件:
 

代码示例:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
 

rpm包安装完后自动将mysql安装成系统服务。

用命令启动、停止mysql。
 

代码示例:
启动mysql
/etc/init.d/mysql start 或 service mysql start
停止mysql
/etc/init.d/mysql stop 或 service mysql stop
 

到此,mysql服务安装配置完成。

2、安装mysql客户端
 

代码示例:
rpm -ivh MySQL-client-4.0.14-0.i386.rpm
 

mysql安装好后目录结构如下:
工具程序在/usr/bin目录中---ls /usr/bin/mysql*
服务器程序/usr/sbin/mysqld
数据目录/var/lib/mysql
默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等

可以修改/etc/my.cnf文件改变相关配置。
比如想把日志文件写在/var/log目录中,在my.cnf文件中加入如下内容即可:
 

代码示例:
[mysqld_safe]
err-log = /var/log/mysqld.log

/usr/bin/mysql_install_db可以用来初始化mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数据库(空库)。
如果不小心删除了/var/log/mysql目录可以通过该程序来初始化。

3、卸载mysql
 

代码示例:
rpm -qa|grep -i mysql
rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
 

卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
 

代码示例:
rm -f /etc/my.cnf
rm -rf /var/lib/mysql

就是以上这些了,rpm命令只体现在最初的安装上,后面的全是mysql相关的内容了,希望对大家有所帮助。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
php iis7站长之家
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3