CentOS下软件的安装
RPM包与源码包的区别
RPM包
RPM(Red Hat Package Manager) 由Red Hat公司提出,被众多的Linux发行版所采用,也称为二进制(binary code) 无需编译,可以直接使用
zip-3.0-11.el7.x86_64.rpm
- 软件包名: zip
- 版本号(Version): 3.0-11
- 发布版本(Release5/6/7): el7 ----> (Enterprise Linux) 企业版Linux
- 系统平台(32/64): x86_64
- 文件后缀: rpm
源码包
Source Code 需要经过GCC,C++编译环境编译才能运行,配置比较复杂, 可以修改一些功能
nginx-1.8.1.tar.gz
RPM包管理
YUM工具
Yum(Yellow dog Updater,Modified),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包安装器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐的一次次下载,安装。
YUM本地源: 系统安装光盘
通知linux服务器,通过本机的系统光盘获得软件包,并安装软件
-
观察YUM核心库配置目录
进入目录 /etc/yum.repos.d/ [root@CatdeXin ~]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo 打开一个repo观察 -
删除官方YUM库
# 先打包备份到tmp目录下 然后在删除 [root@CatdeXin yum.repos.d]# tar -cvf repo.tar * [root@CatdeXin yum.repos.d]# mv repo.tar /tmp [root@CatdeXin yum.repos.d]# rm -rf * -
编写本地YUM库配置文件
# 不要带空格(提醒那些Python攻城狮) # 名字可以自己起,但是必须是.repo结尾 [root@CatdeXin ~]# vim /etc/yum.repos.d/dvd.repo [dvd] name=dvd # baseurl=http://www.aili.com/xxx 互联网路径 baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1[dvd]是某一个库的名字,中括号是必须的name=dvd是库的说明,name是必须的baseurl=file:///mnt/cdrom下载库的具体地址file:///mnt=file://+/mnt根路径的拼接
gpgcheck=0关闭校验enabled开关0是关闭使用1是开启使用 默认为1
# 查看一下效果 [root@CatdeXin ~]# cat /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl=file:///mnt/cdrom gpgcheck=0 -
挂载安装光盘
# 物理设备操作一定要插入扩展设备(光盘) [root@CatdeXin ~]# ll /dev/cdrom lrwxrwxrwx. 1 root root 3 12月 22 13:06 /dev/cdrom -> sr0 [root@CatdeXin ~]# mkdir /mnt/cdrom [root@CatdeXin ~]# mount /dev/cdrom /mnt/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 # 挂载成功 查看一下效果 [root@CatdeXin ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.4G 0 rom /mnt/cdrom [root@CatdeXin ~]# ls /mnt/cdrom/ CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL # 光盘中的安装包存放在Packages目录下 统计一下包的数量 [root@CatdeXin ~]# ls /mnt/cdrom/Packages/ | wc -l 4071 # 重启的话挂载会掉 我们可以使用折中的方法 将挂载命令卸载开机启动项中 # ps: 好像启动后来不及加载 会导致挂载失败 [root@CatdeXin ~]# vim /root/.bashrc mount /dev/cdrom /mnt/cdrom/ -
使用YUM安装和卸载程序
# 安装httpd服务 yum install -y httpd # 启动httpd服务 systemctl start httpd # 关闭防火墙 systemctl stop firewalld # 禁用防火墙 systemctl disable firewalld -
模拟客户机访问
打开浏览器,输入下列网址访问,查看效果 127.0.0.1
使用YUM安装线上包
这里配置两个包 基础包与扩展包
# 基础包在CentOS下
https://developer.aliyun.com/mirror/centos
# 扩展包使用Epel镜像
https://developer.aliyun.com/mirror/epel
# 配置好包之后 更新一下缓存
yum makecache
使用YUM管理RPM包
-
重新安装
yum -y reinstall PackageName -
升级安装
# 升级一个包 yum -y update PackageName # 升级系统 yum -y update -
卸载包
yum -y remove PackageName -
查询包状态
yum list PackageName [root@CatdeXin-PC ~]# yum list httpd |more 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 已安装的软件包 httpd.x86_64 2.4.6-93.el7.centos @dvd # 包名 版本 库 # 有@符号代表安装成功
扩展
# 查看正在是用的镜像地址
yum repolist
# 示例
[root@CatdeXin-PC ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072
dvd dvd 4,070
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 451
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 1,640
repolist: 16,233
PRM工具
管理红帽系统/CentOS系统,rpm包的基本工具, rpm无法处理依赖, 用的时候需要注意
安装(i)
-
先获取安装包
# 这里用挂载的镜像包作为示例 [root@CatdeXin-PC ~]# cd /mnt/cdrom/Packages/ # 检查一下wget包是否存在 [root@CatdeXin-PC Packages]# ls wget-1.14-18.el7_6.1.x86_64.rpm wget-1.14-18.el7_6.1.x86_64.rpm # wget 是一款下载工具 类似迅雷吧 -
安装包
rpm -ivh PackageName # i install 安装 # v 可视 # h 显示百分比 [root@CatdeXin-PC Packages]# rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm 警告:wget-1.14-18.el7_6.1.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 软件包 wget-1.14-18.el7_6.1.x86_64 已经安装
查询(q)
rpm -q PackageName
[root@CatdeXin-PC Packages]# rpm -q wget
wget-1.14-18.el7_6.1.x86_64
卸载(e)
rpm -e PackageName
[root@CatdeXin-PC Packages]# rpm -evh wget
准备中... ################################# [100%]
正在清理/删除...
1:wget-1.14-18.el7_6.1 ################################# [100%]
源代码包
常见的源码包
Apache: www.apache.org
Nginx: www.nginx.org
Tengine: tengine.taobao.org # 马云基于nginx二次开发
实战案例
准备工作 安装一些编译环境
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
下载一个源码包
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
解压源码包
[root@CatdeXin-PC ~]# ll
总用量 2780
-rw-r--r--. 1 root root 2835884 9月 5 2019 tengine-2.3.2.tar.gz
# 解压软件包
[root@CatdeXin-PC ~]# tar -xf tengine-2.3.2.tar.gz
[root@CatdeXin-PC ~]# ls
tengine-2.3.2 tengine-2.3.2.tar.gz
[root@CatdeXin-PC ~]# cd tengine-2.3.2/
[root@CatdeXin-PC tengine-2.3.2]# ls
AUTHORS.te CHANGES CHANGES.te configure docs LICENSE modules README.markdown tests
auto CHANGES.cn conf contrib html man packages src THANKS.te
编译安装包
# 配置
./configure --user=UserName --group=GroupName --prefix=InstallPath
[root@CatdeXin-PC tengine-2.3.2]# ./configure --user=www --group=www --prefix=/usr/local/nginx
..... 省略
# configure额外配置可以不需要 这里指定用户与组 路径 做个示例
# 如果路径不存在 编译过程可能会出错
# 编译
make
# 安装
make install
启动程序
# 启动nginx服务
[root@CatdeXin-PC ~]# /usr/local/nginx/sbin/nginx
# 关闭firewalld防火墙
[root@CatdeXin-PC ~]# systemctl stop firewalld
# 查看一下效果
[root@CatdeXin-PC ~]# ps -aux | grep nginx
root 14281 0.0 0.0 46112 1164 ? Ss 12:29 0:00 nginx: master process /usr/local/nginx/sbin/nginx
www 14282 0.0 0.1 48664 2240 ? S 12:29 0:00 nginx: worker process
root 14536 0.0 0.0 112824 980 pts/0 S+ 12:32 0:00 grep --color=auto nginx
# 进入本地IP查看一下效果

浙公网安备 33010602011771号