4.3.yum在线管理
解决依赖性的安装麻烦
yum在red hat中是收费的,
centos是免费的
yum也是管理的RPM包,所以yum安装与操作,和RPM操作都是一样的。
4.3.1.在线安装源
网络yum资源
centos官方网站有各种资源,但是网站在国外,访问不是很方便,建议使用国内的
yum源配置目录,这个目录下的所有repo后缀的文件,都是yum源的配置
/etc/yum.repos.d/
其中一个示例:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[base] 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉,与baseurl都是yum源,只要能用,用哪个都可以
baseurl 我们yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果慢,可以改成国内的。
enabled 此容器是否生效,如果不写或者写成enabled=1都是生效,写成enabled=0是不生效
gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改
4.3.2.yum命令
查询所有可用的软件包列表
yum list
搜索服务器上所有和关键字相关的包
yum search 关键字
安装
yum –y install 包名
-y 自动回答yes,表示自动安装,过程当中的询问都是yes
升级
yum –y update 包名
如果包名没有写的话,是升级所有的安装包,包括Linux内核:yum –y update。
卸载
yum –y remove 包名
如果包名没有写的话,是卸载所有的安装包。如果卸载一个包,会将他的依赖包也卸载掉,如果卸载的依赖包,其他包也引用了,会导致其他包不能使用。
因此小心使用yum卸载
yum软件组管理命令
列出所有可用的软件组列表
yum grouplist
貌似显示的类型和安装的时候选择的类型一样
[root@localhost yum.repos.d]# yum grouplist
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Compatibility Libraries
Console Internet Tools
Development Tools
Graphical Administration Tools
Legacy UNIX Compatibility
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
Done
[root@localhost yum.repos.d]#
安装指定软件组,组名可以由grouplist查询出来
yum groupinstall软件组名
卸载指定的软件组
yum groupremove 软件组名
4.3.3.光盘安装源
步骤:
1、挂载光盘
mount /dev/sr0 /mnt/cdrom
2、让网络源失效
如果打每个文件,将每个容器的enabled改为0,有点麻烦,推荐使用重命名方法使用源失效
将.repo文件改为.repo.bak文件即可
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]#
3、修改光盘源文件
///表示根目录开始
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
4.4.源码包管理
4.4.1.源码包与RPM包区别
之前讲的区别主要是安装前的概念上的区别
这节主要讲安装后的一些区别
RPM包的默认安装位置
目录 |
含义 |
/etc/ |
配置文件安装目录 |
/usr/bin/ |
可执行的命令安装目录 |
/usr/lib/ |
程序所使用的函数库保存位置 |
/usr/share/doc/ |
基本的软件使用手册保存位置 |
/usr/share/man/ |
帮助文件保存位置 |
源码包安装位置
/usr/loca/软件名/
位置不同带来的影响
RPM去年安装的服务可以使用系统服务管理命令service来管理,例如rpm包安装的apache的启动方法:
/etc/rc.d/init.d/httpd start
service httpd start
RPM都安装在这个路径下/etc/rc.d/init.d/,所有的安装在这个路径的服务都可以用绝对路径启动
service命令是red hat专有的,其他版本Linux不一定有
service命令是通过RPM默认路径去查找服务的,所以通过源码安装的服务未必能被找到。
源码包安装的服务则不能被服务管理命令service管理,因为没有安装到默认路径中。所以只能通过绝对路径进行服务管理,如:
/usr/local/apache2/bin/apachectl start
4.4.2.源码包安装
1、安装准备
安装C语言编译器gcc
下载源码包
http://mirror.bit.edu.cn/apache/httpd/
yum安装了apache,通过源码包还可以再安装apache,因为安装路径不同,不过一台服务器没有必要安装2个apache
1、 注意事项
源码包保存位置:/usr/local/src/
软件安装位置:/usr/local/,类似Windows的是Program Files目录
如果确定安装过程报错:
安装过程停止
并出现error,warning或no的提示
2、源码包安装过程
下载源码包
解压源码包
进入解压缩目录
INSTALL安装说明,README使用说明
执行安装命令过程
./configure 软件配置与检查
定义需要的功能选择
检测系统环境是否符合安装要求
把定义好的功能选项和检查系统环境的信息都写入Makefile文件,用于后续编译
./configure –-prefix=/usr/local/apache2
自定义安装目录/usr/local/apache2
命令执行完会产生Makefile文件
make 编译,此时安装目录等都没有产生
如果清除安装产生的数据:make clean
make install 编译安装
源码包卸载
没有卸载命令
直接删除安装目录即可
rm –rf /usr/local/apache2
4.5.脚本安装
事实上并没有脚本安装包这种安装包,只有RPM安装包和源码安装包2种。
1、脚本安装包
脚本安装包并不是独立的软件包类型,常见安装的是源码包。
是人为把安装过程写成了自动安装的脚本,只有执行脚本,定义简单的参数,就可以完成安装。
非常类似于Windows下软件的安装方式
2、webmin的作用
webmin是一个基于Web的Linux系统管理界面。你就可以通过图形化的方式配置用户帐号,Apache,DNS,文件共享等服务。
3、安装过程
下载源码包
解压缩,进行解压目录
执行脚本
./setup.sh