1.yum在线安装
yum简介
前言
在上一小节主要介绍了Linux软件安装包的分类及优缺点,RPM包的命令管理。RPM命令管理缺点:安装过程中,rpm包依赖性太强,如果所有rpm包都是手工安装,则rpm包使用难度较大。
为此官方提供了yum在线安装功能,好处:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。
简介
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum源文件
- yum源文件目录:
/etc/yum.repos.d/
- 有4个yum源文件,只有第一个文件
(CentOS-Base.repo)
是默认生效的,其他都不生效 - 该文件是网络yum源,如果能联网用这个就能访问了
yum源文件内容
查看yum源文件内容:vi /etc/yum.repos.d/CentOS-Base.repo
内容说明
-
mirrorlist
和baseurl
都是指定yum源服务器地址,配置其中一个即可 -
gpgcheck
一般开启,这样可以保障安装的软件是安全可靠的 - yum源服务器地址默认是国外的站点,访问速度会比较慢,可以修改成国内可用的yum源地址
光盘yum源搭建
默认使用的yum源是需要网络才能使用的,如果没有网络,如何使用yum源?其实可以搭建一个本地光盘yum源。
使用网络yum源的好处是可以更新,可以使用更新的软件版本,缺点是不稳定,下载速度不够快,下载时会占用一定的带宽资源,如果没有更新需求的情况下,用本地yum源效率更高。搭建步骤如下:
1.挂载光盘
mkdir /mnt/cdrom
#建立挂载点
mount /dev/cdrom /mnt/cdrom/
#挂载光盘
2.使网络yum源失效
cd /etc/yum.repos.d/
#进入yum源目录
mv CentOS-Base.repo CentOS-Base.repo.bak
#修改yum源文件后缀名,使其生效
3.使光盘yum源生效
vi /etc/yum.repos.d/CentOS-Media.repo
#打开光盘yum源文件
修改baseurl为自己的光盘挂载地址,注释掉其他不存在的地址,修改enabled=1,启用yum源文件
4.验证
输入命令: yum list
,最后一列显示c6-media(即上面的光盘yum源的容器名称),说明光盘yum源搭建成功,这样即使不能联网,也能正常使用yum命令了。
常用yum命令
1.查询
yum list
#查询所有可用软件包列表
yum search 关键字
#搜索服务器上所有和关键字相关的包
2.安装
yum -y install 包名
#-y代表自动回答yes,否则安装依赖时会询问
3.升级
yum -y update 包名
执行升级命令必须加包名,否则会升级所有的软件,包括linux内核,非常耗时且可能导致服务器崩溃。
服务器尽量不升级程序,因为升级需要付出一定的代价(服务重启/服务器重启),且有一定的风险(不能保证安全、可靠、稳定),除非出现了重大漏洞,需要升级修复
4.卸载
yum -y remove 包名
服务器使用最小化安装,用什么软件安装什么,尽量不卸载
卸载的依赖性可能导致系统崩溃或者其他程序无法正常使用
5.查询软件包信息
yum info 包名
软件包基本信息:包名、版本、发行、大小、仓库、摘要、官网、描述等
软件组管理命令
有些功能可能需要安装多个包才行,比如想要让linux支持中文,这时候就可以使用软件组命令。
yum grouplist
#列出所有可用的软件组列表
yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来
例如安装中文语言:yum groupinstall "Chinese Support"
注意:软件组名必须为英文的,如果远程登录显示的是中文,可以去本机linux查看英文
或者修改当前语言环境:LANG=zh_CN.utf8
#中文、LANG=en_US
#英文
yum groupremove 软件组名
#卸载指定软件组
替换默认源
默认源服务器地址是国外网站,访问速度较慢,此处替换为国内站点地址,以网易网站为例
163源地址:http://mirrors.163.com/.help/centos.html
替换步骤
注:如果有搭建光盘yum源,需要先将其关闭
# 1.安装wget
yum -y install wget
# 2.备份默认yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 3.进入yum源目录
cd /etc/yum.repos.d/
# 4.复制对应CentOS版本的链接地址(右键),执行wget命令
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 5.运行以下命令生成缓存
yum clean all
yum makecache
2.源码包安装
源码包与RPM包的区别
安装之前的区别,概念上的区别(参考上一小节)
安装之后的区别,安装位置不同
安装位置的不同
RPM包安装位置:是安装在默认位置中(由RPM的作者决定),并不会完全一致
源码包安装位置:安装在自己指定位置当中,一般是/usr/local/软件名/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start
service httpd start
(redhat系列专有命令)
而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理
例如:/usr/local/apache2/bin/apachectl start
源码包安装过程
安装准备
安装C语言编译器:yum -y install gcc
下载源码包,源码包通常在软件的官网或者github上会有提供
安装注意事项
源代码建议保存位置:/usr/local/src/
软件安装建议位置:/usr/local/
如何确定安装过程报错: 安装过程停止并且出现error、warning或no的提示
安装步骤
通常源码包都是以下几个安装步骤,这里以安装apache服务为例
# 1.下载源码包(如果已下载可以通过ftp工具上传到linux中)
wget -P /tmp/ -c "http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.34.tar.gz"
# 2.解压缩下载的源码包
tar -zxvf httpd-2.2.34.tar.gz
# 3.进入解压缩目录
cd httpd-2.2.34
# 4.指定配置项,./configure 选项
./configure --prefix=/usr/local/apache2
# 5.执行编译,使用gcc将源码翻译为机器语言
make
# 6.执行安装
make install
make clean
#清除编译之后的缓存文件(在make出错时可执行该命令清除编译,排错后重新make)
./configure 软件配置与安装
定义需要的功能选项(比如:指定安装位置)
检测系统环境是否符合安装要求(比如:是否安装gcc)
把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑
查看安装步骤
安装命令是源码包自带的,基本通用,解压源码包后有一个文件是configure,执行configure
后,会生成Makefile
文件和INSTALL
文件(该文件可以查看安装步骤),如下
启动源码包服务
进入软件的启动目录下执行start,如:/usr/local/apache2/bin/apachectl start
临时关闭防火墙:service iptables stop
访问服务 如:http://192.168.1.140:80/
源码包卸载
不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件
例如卸载apache服务:rm -rf /usr/local/apache2/