Linux第六章 软件包管理

简介

windows中的软件包都不能直接在linux中安装使用.
  • 软件包分类

源码包 :

源代码开源, 绝大多数使用C语言编写.

比如 : 脚本安装包

二进制包 :

rpm包和系统默认包, 源代码编译成二进制的包, 省略了编译过程, 节约安装时间, 但是不能看到源代码.

比如 : 镜像文件里的包

rpm包管理 - rpm命令管理

rpm包都存放在`挂载目录下的packages目录下`
  1. 包和依赖性

  • rpm包命令规则

rpm包全名 : httpd-2.4.6-40.el7.centos.x86_64.rpm

httpd

软件包名

2.4.6

软件版本

40

软件发布的次数

el7.centos

适合的linux平台

x86_64

适合的硬件平台

rpm

rpm包扩展名

rpm包扩展名都应以rpm结尾, 以便管理员识别.

  • rpm包依赖性

a -> b -> c

装c依赖b, 装b依赖a.

  1. 安装

  • 包全名和包名

包全名 : 操作的包是没有安装的软件包时, 使用包全名, 而且要注意路径
包名 : 操作已经安装的软件包时, 使用包名. 是搜索/var/lib/rpm中的数据库.
  • rpm安装

rpm -ivh 包全名

参数 :

-i : 安装
-v : 显示详细信息
-h : 显示进度
--nodeps : 不检测依赖性
  • rpm包升级

rpm -Uvh 包全名

-U : 升级

  • 卸载

rpm -e 包名
  1. 查询

  • 查询是否安装

rpm -q 包名
-q : 查询
-a : 所有
-i : 信息
-l : 列表( 安装位置 )
-f : 系统文件属于哪个软件包
-R : 软件包的依赖性
  1. 校验

rpm -V 已安装的包名

8个信息是否改变

S

文件大小是否改变

M

文件类型或权限是否改变

5

文件MD5校验和 ( 文件内容 )是否改变

D

设备的中,从代码

L

文件路径

U

文件的所有者

G

文件的所属组

T

文件的修改时间

文件类型

c

配置文件

d

普通文档

g

很少见

l

授权文件

r

描述文件

rpm包管理 - yum在线管理

yum可以解决rpm安装时软件包的依赖性问题.
red hat 公司yum是要收费的, 而centos是免费的.
yum和rpm都是管理的rpm包. rpm是手动管理, yum是自动管理.
  1. IP地址配置和网络yum源

  • IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

配置

{
    IPADDR=
    GATEWAY=
    NETMASK=
    DNS=
    ONBOOT=yes
}

重启

systemctl restart network

  • 网络yum源

默认网络yum源是配置好的, 只要网络是通的, 就可以使用.
vi /etc/yum.repos.d/CentOS-Base.repo

[base]

软件池( 容器 )名称, 一定要放[]中

name

软件池说明, 可随便写

mirrorlist

镜像站点

baseurl

yum源服务器的地址

enabled

为1则容器生效, 0为不生效

gpgcheck

数字证书验证, 1为验证, 0为不验证

gpgkey

数字证书的保存位置

  1. yum命令

yum只输入包名即可, 无需输入包全名, 因为yum是自动到服务器上搜索软件包的.
  • 查询

yum list

查询所有可用软件包列表

yum search httpd

搜索服务器上所有和httpd相关的包

  • 安装

yum install -y 包名

-y : 自动回答yes

  • 升级

yum update -y包名

yum update -y : 升级所有软件包, 包括内核, 所以慎用.

  • 卸载

yum remove -y 包名

yum卸载会连同依赖包一起卸载, 有的依赖包被linux系统本身依赖, 卸载后系统会出错, 所以尽量不要使用yum卸载, 最好使用rpm来手动卸载.

  1. 本地yum源

网络yum源是在网上下载的, 下载慢.
本地yum源不需上网, 它是用的镜像当中的rpm包来进行下载的, 安装快, 但是版本不是最新的.
  • 挂载镜像

挂载镜像后, 镜像文件会放在挂载点, 供本地yum源使用.
mount /dev/sr0 /opt/centos
  • 让网络yum源失效

cd /etc/yum.repos.d
mkdir bak
mv C* bak
将网络yum源文件移动到bak目录中, 使其失效.
  • 创建新的yum源文件

yum源文件扩展名必须为.repo
vi local.repo
{
    [centos]
    name=centos
    baseurl=file:///opt/centos    :    镜像的挂载地址
    enabled=1
    gpgcheck=0
}
  • 清空yum缓存

yum clean all
  • 列出仓库配置

yum repolist

源码包管理

  1. 源码包和rpm包的区别

  • 安装前

概念上 : rpm包安装快, 源码包安装慢, 能看到源代码.
  • 安装后

安装位置 : rpm是安装在系统默认位置, 源码包是手动指定的.
  • rpm包安装位置

/etc

配置文件安装目录

/usr/bin

可执行命令

/usr/lib

函数库

/usr/share/doc

软件使用手册

/usr/share/man

帮助文件

  • 源码包安装位置

一般安装在`/usr/local/软件名/` 目录下.
  • 安装位置不同带来的影响

rpm包安装的httpd的启动方法:
{
    /etc/rc.d/init.d/httpd start    :    通过绝对路径
    service httpd start    :    通过service命令
}

service命令是通过在rpm包默认的安装路径中搜索服务, 源码包的安装位置不固定, 所以它是不能管理源码包的.

service类似的服务管理命令只能管理rpm包安装的服务.

源码包安装的服务的启动方法:

只能使用绝对路径

  1. 源码包安装过程

  • 安装C语言编译器 -> gcc

yum install -y gcc
  • 下载源码包

httpd-2.4.9.tar.gz
  • 注意事项

源代码保存位置 : /usr/local/src
软件安装位置 : /usr/local
确认安装过程报错 : 安装过程停止, 并出现错误提示.
  • 安装过程

1. 上传源码包

点击CRT上的secureFX, 将在windows中下载好的httpd压缩包拖拽到linux中.

2. 解压源码包

tar -zxvf httpd-2.4.9.tar.gz

3. 进入解压目录

cd httpd-2.4.9/

{
    后续操作都应该在本目录中进行, 否则系统找不到文件.
    
    该目录下有两个大写的说明文件, 每个源码包都有类似的文件.
    {
        INSTALL    :    安装说明
        README   :    使用说明
    }
}

INSTALL

{
    $ ./configure --prefix=PREFIX
    {
        定义安装位置;
        检测系统是否符合安装要求( 是否安装gcc );
        将前两项写入Makefile文件, 用于后续的编辑;
    }
    $ make
        编译, 调用gcc, 将源代码编译成二进制码;
    $ make install
        编译安装;
    $ PREFIX/bin/apachectl start
        启动;
}
4. ./configure
./configure --prefix=/usr/local/apache2.4

apache2.4版本的会出现关于apr的报错, 解决方案如下:

本方案转载至`博客园`中用户`yzkwork` 的博客 : 解决apr报错

5. make
make

如果报错, 执行make clean清除make形成的临时文件.

6. make install
make install

执行之后会将数据写入/usr/local/apache2.4目录

7. PREFIX/bin/apachectl start
/usr/local/apache2.4/bin/apachectl start

启动服务

  • 卸载

无卸载命令, 直接删除安装目录即可, 不会遗留任何垃圾文件.

脚本安装包

并不是独立的软件包类型, 常见的安装的是源码包.
人为把安装过程写成了自动安装的脚本, 只要执行脚本, 定义简单的参数, 就可以完成安装.
非常类似于windows下软件的安装方式.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值