Centos安装软件的三种方式
一共有三种:
RPM包,源码包,yum源安装。
§ RPM:
rpm是编译安装好的二进制包,安装环境必须与编译时的一致或相当,包与包之间存在着相互依赖的情况,安装或卸载包需
要先把依赖的包安装/卸载,如果依赖的包是系统所必须的,那就不能卸载这个包,一不小心系统就被搞over了
在rpm安装过程中,建议不要指定安装位置。否则管理不方便。
RPM包安装的服务可以使用系统服务管理命令(service)来管理。
例如:service httpd start
-
rpm -i <package.rpm>——安装软件
例:
rpm -i example.rpm 安装 example.rpm 包;
rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;
rpm -q …——查询软件信息
a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;
i 显示安装包的信息;
l 显示安装包中的所有文件被安装到哪些目录下;
s 显示安装版中的所有文件状态及被安装到哪些目录下;
以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;
p 查询的是安装包的信息;
f 查询的是已安装的某文件信息;
例:
rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
rpm -qip example.rpm 查看 example.rpm 安装包的信息;
rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;
rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;
-
rpm -e ...
——需要卸载的安装包在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。
例:
rpm -e tomcat4 卸载 tomcat4 软件包
rpm -U <package.rpm>
——需要升级的包例:
rpm -Uvh example.rpm 升级 example.rpm 软件包
-
rpm -V ...
——需要验证的包例:
rpm -Vf /etc/tomcat4/tomcat4.conf
输出信息类似如下:
S.5…T c /etc/tomcat4/tomcat4.conf
其中,S 表示文件大小修改过,T 表示文件日期修改过。更多的验证信息请参考rpm 帮助文件:man rpm
注:RPM 的其他附加命令
–force 强制操作如强制安装删除等;
–requires 显示该包的依赖关系;
–nodeps 忽略依赖关系并继续操作;
§ 源码包:
源码安装,卸载比较容易,只需要把安装程序的目录删除掉即可;
源码包安装的服务不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理。
源码包安装步骤
推荐安装位置:/usr/local/软件名/ ,源代码建议保存位置:/usr/local/src
解压后查看INSTALL与README文件,这两个文件中详细介绍了本软件的安装方法和注意事项。
-
首先在Linux系统安装gcc编译器
-
执行 ./configure命令,生成Makefile文件。
./configure --prefix=/usr/local/ #指定安装目录
源码安装第一步,当执行configure命令时,configure会根据当前系统环境动态生成一个适合本系统的Makefile文件,供make命令使用。
-
执行编译 make ,将源码包编译为机器码
此时make会读取Makefile文件,将源码编译成二进制文件,并存放在当前目录下。
-
执行make install,将软件安装至指定目录
§ yun源:
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。
yum的安装过程,人为无法干预,不能按需安装。源里面有什么就安装什么,安装的版本也比较低。
国内yum源
首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
http://mirrors.163.com/.help/CentOS5-Base-163.repo
http://mirrors.163.com/.help/CentOS6-Base-163.repo
http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
运行以下命令生成缓存
yum clean all 清空本地/var/cache/yum容器清单列表旧数据。
yum repolist 列出所有的可用的yum仓库,执行这个命令,会重读yum源设置志向文件,刷新本地容器清单列表。
yum -y update 更新所有包,防止依赖冲突
阿里的:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
§ yum语法
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
options:
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
command:
install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
yum常用命令
1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install <package_name>
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
rpm -aq inotify-tools 查看是否安装
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
软件组,与软件包的依赖关系