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查看一下效果
posted @ 2021-02-22 14:44  CatdeXin  阅读(294)  评论(0)    收藏  举报