Linux系统软件管理

软件管理

  • 一.RPM
    • 1.RPM包
    • 2.源码包
  • 二.RPM包管理
    • 1.YUM工具
      • (1)配置YUM仓库/YUM源
        • 本地源,系统安装光盘
        • 网络源:使用官方源
      • (2)使用YUM管理RPM包
    • 2.RPM工具
  • 三.源码包管理
    • 1.获得源码包
    • 2.示例
      • (1)部署tengine

一.RPM

1.RPM包

RPM(原Red Hat Package Manager,现在是一个递归缩写)
由 Red Hat 公司提出,被众多 Linux 发行版所采用
也称二进制( binary code)无需编译,可以直接使用
缺点:无法设定个人设置,开关功能
软件包示例(注意后缀):mysql-community-common-5.7.12-1.el7.x86_64.rpm

zip - 3.0-11. el7. x86_64. rpm
zip:软件包名
3.0-11:版本号(Version)
el7:发布版本(Release5/6/7)
x86-64:系统平台(32/64)
rpm:文件后缀

2.源码包

源码包
脚本安装包
source code 需要经过GCC,C++编译环境编译才能运行

源码包的优点是:
•开源,如果有足够的能力,可以修改源代码
•可以自由选择所需的功能
•软件是编译安装,所以更加适合自己的系统
•更加稳定也效率更高
•卸载方便

源码包的缺点:
•安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
•编译过程时间较长,安装比二进制安装时间长
•因为是编译安装,安装过程中一旦报错新手很难解决

软件包示例:nginx-1.8.1.tar.gz
nginx:包名
-1.8.1:版本号
.tar.gz :压缩格式

二.RPM包管理

1.YUM工具

Yum(全称为 Yellow dog Updater, Modified)
是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,
可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

(1)配置YUM仓库/YUM源

本地源,系统安装光盘

通过系统光盘获得软件包,并安装软件

国外地址下载速度太慢

[root@localhost] # yum install -y wget

不需要任何修改,即可安装。YUM默认是配置好的

  • 备份移除官方YUM库
[root@localhost ~]#mv   /etc/yum.repos.d/*     /tmp

把官方YUM库暂时移动到 /etc/yum.repos.d中

  • 编写本地YUM库配置文件
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo 
[dvd] 
name=dvd 
baseurl=file:///mnt/cdrom
gpgcheck=0 

/etc/yum.repos.d/是YUM下载地址库目录
[dvd]某一个库的名称,中括号[]是必须的
name=dvd是库的说明,name是必须的
baseurl=file:///mnt/cdrom下载库的具体地址.重要
gpgcheck=0是关闭校验

  • 挂载安装光盘
    Linux系统软件管理_第1张图片
    把光盘放到服务器上 通电
[root@localhost ~]# mkdir  /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom  /mnt/cdrom/    手动挂载光驱

重启

[root@localhost ~]# ls /mnt/cdrom/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
  • 使用YUM安装卸载软程序
    安装软件
    语法:yum install -y 软件名
[root@localhost~]# yun install -y hrrpd

卸载软件
语法:yum remove 软件名

[root@localhost~]# yum remove  httpd

启动软件
语法: systemctl start 软件名

[root@localhost~]# systemctl  start  httpd
  • 模拟客户机访问
    打开浏览器,输入网站服务器的IP地址。http://127.0.0.1,验证网站程序部署成功。
  • 观察仓库信息
[root@localhost ~]# yum repolist 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                  源名称                                   状态
dvd                                      dvd                                      4,067
repolist: 4,067   

这样说明我们使用的是本地光驱中的软件包

网络源:使用官方源

  • 设置网络
    设置虚拟机的网络为NAT
    Linux系统软件管理_第2张图片
    打开Linux网络设置
    Linux系统软件管理_第3张图片
    然后上网测试
    Linux系统软件管理_第4张图片
    我们就可以使用国内厂商软件包的地址作为YUM的仓库 并且下载速度快
  • 阿里云
    Base/Extras/Updates: 默认(国外源)
    清理原先YUM库
[root@losclhost~]# yum  install   wget
[root@localhist~]# mv  /etc/yum.repos.d/*    /tmp

下载阿里源至yum库

[root@localhist~]# wget
http://mirrors.aliyun.com/repo/Centos-7.repo  -O /etc/yum.repos.d/CentOS-Base.repo 

阿里源可以去阿里云官方镜像站直接复制下载

更新YUM源

[root@localhist~]# yum  repolist  查询仓库列表列出
[root@localhost yum.repos.d]# yum repolist 
已加载插件:fastestmirror, langpacks
base                                                                                                                                  | 3.6 kB  00:00:00     
extras                                                                                                                                | 3.4 kB  00:00:00     
updates                                                                                                                               | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/primary_db                                                                                                     | 110 kB  00:00:00     
(2/4): base/7/x86_64/group_gz                                                                                                         | 156 kB  00:00:01     
(3/4): updates/7/x86_64/primary_db                                                                                                    | 2.7 MB  00:00:01     
base/7/x86_64/primary_db       FAILED                                          
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2: (28, 'Connection timed out after 30001 milliseconds')
正在尝试其它镜像。
(4/4): base/7/x86_64/primary_db                                                                                                       | 5.7 MB  00:00:04     
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                                                    9,591
extras/7/x86_64                                                 CentOS-7 - Extras - mirrors.aliyun.com                                                    227
updates/7/x86_64                                                CentOS-7 - Updates - mirrors.aliyun.com                                                   740
repolist: 10,558

[root@localhist~]# yum makecache  重新缓存加载

  • EPEL
    EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包)
    下载epel配置文件
[root@localhost~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
epel镜像也在阿里云官方下载
[root@localhost~]# yum makecache
重新缓存一下
  • nginx
    从官网下载管理
    找到官网,找到提示
    Linux系统软件管理_第5张图片
    document 文档
    Linux系统软件管理_第6张图片
    install 安装
    Linux系统软件管理_第7张图片
    找到下载的软件包
    Linux系统软件管理_第8张图片
    找到下载的安装系统包

Linux系统软件管理_第9张图片
按要求安装yum-utils
创建/etc/yum.repos.d/nginx.repo文件
把下面的内容填写上去

Linux系统软件管理_第10张图片
然后刷新列表找到nginx的资源软件包

Linux系统软件管理_第11张图片
验证一下nginx

系统的更新和升级,可以使用基础源(aliyun,163)。
软件的使用建议使用官方源(nginx.com/mysql.com)

(2)使用YUM管理RPM包

  • 安装
    全新安装
[root@localhost ~]# yum     -y    install     httpd     vsftpd 

yum 主命令
-y 自动确认
install 安装
httpd 软件包1
vsftpd 软件包2
软件包N

重新安装
当软件缺失文件,可尝试重新安装

[root@localhost ~]# yum    -y     reinstall     httpd          reinstall 重新安装

升级安装

[root@localhost ~]# yum    -y     update     httpd      升级一个程序httpd
[root@localhost ~]# yum    -y     update
  • 查询
    查询YUM源
[root@localhost ~]# yum      repolist 

查询HTTP程序

[root@localhost ~]# yum list httpd
如果显示@   那是已经安装了
  • 卸载
[root@localhost ~]# yum -y remove  httpd
remove :移除,卸载软件包
  • 查询工具和软件包的关系
    当使用ifconfig命令失效时,却又不知道如何安装
    使用provide查询命令的提供者进行安装。
[root@localhost ~]# yum provides    ifconfig
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源    :@anaconda
匹配来源:
文件名    :/usr/sbin/ifconfig

安装相对应的工具

[root@localhost ~]# yum install -y net-tools-2.0-0.25.20131004git.el7.x86_64

2.RPM工具

管理红帽系统/centos系统,rpm包的基本工具
YUM功能相同
优点不需要配置,直接使用
无法解决依赖关系
无法自行下载软件包

  • 安装
    找到安装包
[root@localhost ~]# cd   /mnt/cdrom/Packages

检查安装包是否存在

[root@localhost Packages]# ls wget-1.14-18.el7_6.1.x86_64.rpm 
wget-1.14-18.el7_6.1.x86_64.rpm
[root@localhost Packages]# rpm -ivh wget-1.14-15.el7.x86_64.rpm 
 -i  安装
 v  显示
 h  百分比

会出来提示信息
准备中
安装/升级中

  • 查询
[root@localhost Packages]# rpm -q wget


-q  查询

看到软件包的名字,那就说明rpm -q 查询成功,已经安装软件

  • 卸载
    卸载软件包
[root@localhost Packages]# rpm -evh wget-1.14-15.el7.x86_64

会输出信息
准备中
正在清理/删除

然后再次查询

[root@localhost Packages]# rpm -q  wget-1.14-15.el7.x86_64
未安装软件包wget-1.14-15.el7.x86_64

发现已经卸载

三.源码包管理

1.获得源码包

从官方网站,可以获得最新的软件包
Apache: www.apache.org
Nginx: www.nginx.org
Tengine: tengine.taobao.org

2.示例

###(1)下载tengine
Linux系统软件管理_第12张图片

(1)部署tengine

  • 下载源码包
[root@localhost ~]# wget   http://tengine.taobao.org/download/tengine-2.2.0.tar.gz

这里示例的2.2.0版本的
  • 准备编译环境
[root@localhost ~]# yum -y install   gcc   make   zlib-devel  pcre  pcre-devel  openssl-devel
  • 解压 要先创建一个新用户
[root@localhost ~]# useradd www
[root@localhost ~]# tar xvf tengine-2.2.0.tar.gz   解压到当前文件夹
[root@localhost ~]# cd tengine-2.2.0  移动到文件中
  • 配置
[root@localhost tengine-2.2.0]#./configure  --user=www  --group=www  --prefix=/usr/local/nginx

这里命令比较多   注意空格 
  • 编译
[root@localhost tengine-2.2.0]# make
  • 安装
[root@localhost tengine-2.2.0]# make install
  • 最后测试
    如果之前安装过httpd的服务器,直接启动会有冲突,所以确保httpd已关闭
[root@localhost tengine-2.2.0]# systemctl  stop  httpd
[root@localhost tengine-2.2.0]# /usr/local/nginx/sbin/nginx
[root@localhost tengine-2.2.0]# systemctl stop firewalld

使用浏览器访问本机的IP,http://127.0.0.1,如果能看到NGINX的网页,说明部署成功。
Linux系统软件管理_第13张图片

你可能感兴趣的:(Linux系统软件管理)