CentOs安装软件的方式有两种:
- 源代码安装
- 软件管理器安装(RPM、YUM)
源代码安装
源代码安装都是靠tarball文件的方式来安装的,即源代码以tar打包,然后再以压缩技术压缩,生成tarball文件,方便下载,节省网络带宽。安装步骤如下:
- 获取原始文件:将tarball文件在/usr/local/src目录下解压缩
- 进入新建立的目录下面,查看安装说明文件,如INSTALL或README
- 根据INSTALL/README安装一些依赖软件(非必要,如果确实有依赖,则需要)
- 建立makefile:已自动检测程序(configure或config)检测操作环境,并建立makefile文件
- 编译:用make程序,他会根据makefile文件进行编译
- 安装:make install,安装到正确路径
tarball安装用到的命令执行方式:
# 1.建立makefile文件,configure命令会检测你的系统,相关软件属性等来创建一个makefile文件
./configure
# 2.清除上次编译过的目标文件
make clean
# 3.根据makefile进行编译
make
# 4.安装
make install
安装建议:
- 最好将tarball原始数据压缩到/usr/local/src中
- 安装时,安装到/usr/local路径下
- 最好在/usr/local目录下新建一个安装软件名称的文件夹,把软件安装到相应目录下/usr/local/{software_name}
- 删除软件时,直接删除相应的目录就行/usr/local/{software_name}
./configure的时候可以指定软件安装的位置,以及其他一些配置,具体可以看安装说明文件INSTALL或README
软件管理器安装
Linux两大主流软件管理工具是RPM与DPKG,dpkg适用于Debian/Ubuntu等,rpm适用于Red Hat/Fedora等。CentOs用的就是rpm软件管理工具。
软件管理的意义是:将软件预先在相同的硬件和操作系统上面编译好,然后把编译好的软件发布给用户安装,这样用户就可以直接安装使用了,不用像源代码安装一样繁琐。
RPM与YUM
rpm是底层管理工具,用数据库的方式保存了各个软件的依赖和安装情况,yum是基于rpm的软件包管理器。CentOs上安装软件都是用yum安装就行了,只用rpm进行一些查询和检验的功能。yum会自动处理软件包的依赖关系,如果安装A需要B,则yum会自动安装B。
RPM
rpm的查询参数
-q:仅查询,后接软件名称
-qa:列出所有已安装的软件
-qi:列出软件详细信息
-ql:列出软件的文件和目录所在的完整文件名
-qc:列出软件的配置文件(找出/etc/下面的配置文件而已)
# 列出所有已安装软件名称
rpm -qa
# 查询nginx是否已安装
rpm -q nginx
# 查询nginx的详细信息
rpm -qi nginx
YUM
# search:查找某个软件名称或描述
# list:列出目前yum所管理的所有的软件和版本,类似于 rpm -qa
# info:查询软件信息,类似于rpm -qai
# 查询nginx软件信息并查询是否已安装
yum info nginx
安装、升级、删除软件
# 安装软件
yum install {software_name}
# 升级
yum update {software_name}
# 升级所有软件
yum update
# 删除软件
yum remove {software_name}
虽然yum是你的主机能够连上互联网就可以直接使用,但是你要连接哪个镜像站却可以自由配置,CentOs7的中国科技大学和清华大学的镜像站为:
- http://centos.ustc.edu.cn/centos/7/os/x86_64/
- https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
修改软件源
$ vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://#mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
# centos6.10的地址
baseurl=https://vault.centos.org/6.10/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
- [base]:代表软件源的名字,中括号一定要存在,里面的名称则可以随意取
- name:说明软件源的意义
- mirrorlist:列出这个软件源可以使用的镜像站,如果不想使用,可以注释掉这行
- baseurl:这个最重要,因为后面接的就是软件源的实际地址,mirrorlist是由YUM程序自行去识别镜像站,baseurl则是指定固定的一个软件源网址,刚才的网址就应该放到这里来。
- enabled:这个软件源是否被启用,1:启用;0:不启用
- gpgcheck、gpgkey:数字签名相关
# 列出所有目前YUM服务器所使用的软件源
yum repolist all
# 将已下载的安装文件删除,packages是软件名
yum clean packages
# 删除已下载过的所有软件源的相关数据
yum clean all
摘自:《鸟哥的LINUX私房菜》(基础学习篇)