包全名: xxx.2.3.15-15.ie6-centos-xxx.rpm,进行rpm操作未安装的命令,使用包全名
包名:xxx,进行rpm操作已经安装过的命令,使用包名
1、rpm命令
1.1、安装rpm包:rpm -ivh 包全名 //i:安装 v:安装详细信息 h:进度【注】:只能写包全名,包全名一定要跟所在路径,一般都是光盘packages下
1.2、升级rpm包:rpm -Uvh 包全名 //U:更新 【注】:只能写包全名,包全名一定要跟所在路径,一般都是光盘packages下
1.3、卸载rpm包:rpm -e 包名 //卸载rpm包,【注】:只可以写包名,不能写包全名,在任何目录都可以
1.4、rpm包查询(在任何目录敲都可以,去/var/lib/rpm中查):
1.4.1 :查询rpm包是否安装:rpm -q 包名 (-q:query查询的意思)
1.4.2 : 查询所有已安装的rpm包:rpm -qa (-a:all,这里可以使用管道符查询某个包是否安装,rpm -qa | grep httpd,其实跟rpm -q httpd一样)
1.4.3 :查询已经安装软件包信息:rpm -qi 包名(-i:查询软件信息,-p查询未安装的包信息)
1.4.4 :查询未安装的软件包信息:rpm -qip 包全名(-i:查询软件信息,-p查询未安装的包信息)
1.4.5 :查询已经安装软件包中文件安装位置:rpm -ql 包名(-l:列表,-p:查询未安装的信息)
1.4.6 :查询未安装的软件包将来如果安装要安装到的位置:rpm -ql 包全名(-l:列表,-p:查询未安装的信息)
1.4.7:查询系统文件属于那个RPM包:rpm -qf 系统文件名绝对路径(-f:查询系统文件属于哪个软件包)
1.4.8:查询已安装软件包依赖性:rpm -qR 包名(-R 查询软件包依赖性,-p查询未安装的软件包信息)
1.4.9:查询未安装的软件包依赖性:rpm -qRp 包全名(-R 查询软件包依赖性,-p查询未安装的软件包信息)
1.5、rpm包校验:rpm -V 已安装的包名 (-V:校验制定rpm包中的文件)
1.6、rpm包中文件提取:rpm2cpio 包全名 | cpi -idv .文件绝对路径(提取文件放到哪,【注】:文件绝对路径前面的”.“代表当前目录)
rpm2cpio:将rpm包转换为cpio格式的命令
cpio:是一个标准工具,它用于创建软件和从文档中提取文件(-i:copy-in模式,提取;-d:还原时自动新建目录,-v:显示还原过程)
eg:假如将/bin/ls剪切到/tmp下,假装这个命令丢失了,想从他所在的rpm包中提取出来放到/bin/ls下
1.6.1、rpm -qf /bin/ls //删除前查询所属包,如果是在删除前没有查,就百度等,找到这个命令所在包
1.6.2、rpm2cpio /mnt/cdrom/Packeges/coreutils-8.4.....rpm | cpio -idv ./bin/ls 【注】:"./bin/ls"前面的".”,提取rpm包中ls到当前目录下的/bin/ls
1.6.33、cp ./bin/ls /bin
2、yum(yum中没有包全名概念,只有包名)
2.1 yum源位置 :vim /etc/yum.repos.d/CentOS-Base.repo(默认,联网可用基本yum源)、CentOS-Debuginfo.repo(bug信息的)、CentOS-Media.repo(不能联网用这个,本地光盘)、CentOS-Vault.repo(虚拟yum源)
2.1.1 : [base] :容器名称,一定要用“[]”括起来
2.1.2 : name :容器名称,可以自己随便写
2.1.3 : mirrorlist:镜像站点,这个可以注释掉
2.1.4 : baseurl : yum源服务器地址,默认是CentOS的官方yum源服务器,如果觉得慢可以改为国内的源服务器地址(自己百度)
2.1.5 : enabled : 当前容器是否生效 0不生效 1生效 (如果配置没有这一项,就是默认1)
2.1.6 : gpgcheck:如果是1 代表rpm数字证书生效,0不生效
2.1.7 : 数字证书的公钥文件保存位置。不需要修改
2.2 yum命令
2.2.1yum查询yum服务器所有安装包 :yum list
2.2.2 yum查询yum服务器某个安装包:yum search 包名
2.2.3 yum没有查询本机的包名(也有可能是我不知道),用rpm吧:rpm -q 包名
2.2.4 yum安装软件:yum -y install 包名 (-y:yes不再询问)
2.2.5 yum升级更新软件:yum -y update 包名(【注】:这里一定要注意,如果update后面不跟包名,服务器会将所有包,包括内核升级,内核升级需要配置才能使用,内核升级后,远程在也连接不上了,只能去服务器本机修复,一定要注意)
2.2.6 卸载rpm包:yum -y remove 包名(【注】:这里一定要注意,如果卸载某个软件包,所有依赖包都会被卸载,如果某个依赖包被其他程序使用,那那个程序也无法使用了,慎用)
2.2.7 yum软件组安装(一下安装个输入法、字体、电子邮件服务器。。。其实就是安装系统让你选的那些)
2.2.8:查询所有软件组列表:yum grouplist
2.2.9:安装软件组:yum groupinstall 软件组名 (这里组名不能是中文,如果显示中文去linux本机上执行yum grouplist 就是英文,如果组名中间有空格,一定要用双引号扩起来)
2.2.10:卸载软件组:yum groupremove 软件祖名
2.3 光盘yum源搭建
2.3.1 首先挂载光盘,如果找的包没在第一张盘,就去第二张盘找:mkdir /mnt/cdrom(创建挂载点) ; mount /dev/cdrom(/dev/sr0) /mnt/cdrom;(将光驱挂载到挂在点上)
2.3.2 让其他三个网络yum源生效,只保留Media:进入yum源位置 cd /etc/yum.repos.d/ ,默认是Base,现在只让Media生效,打开其它3个,把所有的容器enabled 设置为0,可以是可以,但是太麻烦,使用另外一种办法,将其他三个文件改个名字,相当于不存在了,yum只检测扩展名为.repo的,只需要把其他三个改个名字,例如后面加个-bak都可以,其他三个都找不到了,yum只能找Media了
2.3.3 设置光盘yum源地址,到我们光盘挂载点:
vim CentOS-Media.repo;
baseurl=file:///mnt/cdrom(前面的file://不能省略,这里不是走网络协议所以不是http而是本地是file,后面是挂载点地址,绝对路径)
# file:///media/cdrom (不注释,不会影响功能,但是总报错找不到 ,最好还是注释了)
# file:///media/cdrecorder (不注释,不会影响功能,但是总报错找不到 ,最好还是注释了)
enabled=1;(0改为1,其他不需要改)
【注】:修改文件加注释不能有缩进顶头写,在修改文字后面也不要加注释,不要加多余空格,不止这里,所有linux配置文件尽量按照这个规则,否则就有的会报错
好处:比较快
坏处:光盘可能不是最新版软件,每次想要使用本地yum要把光驱放进去