运维基础之 软件包的管理

一、包的安装

二进制应用程序的组成部分:
二进制文件、库文件、配置文件、帮助文件
程序包管理器:
debian:deb文件, dpkg包管理器
redhat: rpm文件, rpm包管理器
rpm: Redhat Package Manager
RPM Package Manager

光盘的名称:/dev/sr0或者/dev/cdrom 想用需要挂载 mount /dev/sr0 /mnt

一般系统会自带一些rpm包,在Packages目录下

在这里插入图片描述

(1)RPM安装(缺点:有依赖性)

如果用##### rpm命令去安装包,必须写完整的软件包名字
例如:
rpm -ivh /mnt/Packages/autofs-5.0.7-99.el7.x86_64.rpm

1.查询包是否安装
rpm -qa |grep autofs
2.查询安装好的包,包括的文件列表和安装路径
rpm -ql autofs
3.查询某个程序或文件来自那个rpm包
rpm -qf /bin/bash
4.如果误删某个程序或命令,可以覆盖安装rpm包
rpm -ivh autofs-5.0.7-99.el7.x86_64.rpm --replacepkgs或者
rpm -ivh autofs-5.0.7-99.el7.x86_64.rpm --force
5.查询包的版本信息information
rpm -qi tree
备注:有的rpm包有依赖

例如:
rpm -ivh httpd-2.4.6-88.el7.centos.x86_64.rpm

warning: httpd-2.4.6-88.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
/etc/mime.types is needed by httpd-2.4.6-88.el7.centos.x86_64
httpd-tools = 2.4.6-88.el7.centos is needed by httpd-2.4.6-88.el7.centos.x86_64
libapr-1.so.0()(64bit) is needed by httpd-2.4.6-88.el7.centos.x86_64
libaprutil-1.so.0()(64bit) is needed by httpd-2.4.6-88.el7.centos.x86_64

Failed dependencies:依赖失败,缺少依赖文件
获取程序包的途径:

(1) 系统发版的光盘或官方的服务器;
CentOS镜像:
https://www.centos.org/download/
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
(2) 第三方组织:
Fedora-EPEL:
Extra Packages for Enterprise Linux
Rpmforge:RHEL推荐,包很全
搜索引擎:
http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net
https://sourceforge.net/

https://mirrors.aliyun.com/epel/7/x86_64/Packages/

(2)YUM安装(建议)

1、事先搭建yum仓库和yum客户端
2、如果让自己机器yum安装,需要配置yum client
yum 服务器包括rpm文件和元数据(哪个包有依赖)
元数据在 cd /dev/sr0/repodata目录下
默认系统已经把yum客户端的路径已经配好,但是在国外下载速度很慢要改一下

yum源的url怎么找:

例如:
安装光盘源:https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/ 看到repodata就找到了
epel源(光盘装不下的软件,功能更多):https://mirrors.aliyun.com/epel/7/x86_64/ 看到repodata就找到了

yum的配置文件在固定的文件夹:/etc/yum.repos.d

mirrorlist:文件路径,文件里面写着仓库的真实路径
baseurl :直接写仓库真实路径
gpgcheck=1:是否校验包被更改过
gpgkey=https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7
备注:mirrorlist和baseurl择其一

**************** 编写一个简单的yum配置文件 **********************
[root@centos7 yum.repos.d]# cat base.repo
[base]
name=centos base
#mirrorlist=file:///data/yumlist(文件写多个路径,有冗余)yumlist内容格式:file:///misc/cd https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/
#baseurl=file:///misc/cd(网络不好也可以使用本地光盘路径)
baseurl=https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/
gpgkey=https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7
yum第一步是下载元数据,所以之前的元数据会在/var/cache/yum有缓存

删除缓存:cd /var/cache/yum and rm -rf * 也可以: yum clean all
重新下载元数据:yum repolist

yum卸载软件yum remove sl -y 卸载只卸一个包,依赖包不卸载
卸载软件及依赖

第一步:yum history 看一下安装历史
第二步:yum history info 2 看一下yum历史命令中的详细信息,确定哪个历史命令需要卸载

例如:
在这里插入图片描述

第三步:发现history2需要卸载,yum history undo 2 -y
第四步:如果卸载错了,就重新做 yum history redo 2 -y

查看yum包是base源还是epel源

yum list
例如:

在这里插入图片描述>anaconda代表系统自带安装
base代表在base源安装的

安装包组

查看都有什么包组:yum groups list
安装包组:yum groups install "Development Tools"
查看包组信息:yum groups info "Development Tools"
卸载包组:yum groups remove "Development Tools"

yum大招!!!解决依赖性。基于网络或者rpm包直接安装(代替rpm命令)
yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/zsh-5.0.2-31.el7.x86_64.rpm

直接找到rpm包的url,然后yum install下载,自动把依赖也解决了

二、搭建yum仓库

[root@centos7 yum.repos.d]# rpm -ql httpd |grep service
/usr/lib/systemd/system/htcacheclean.service
/usr/lib/systemd/system/httpd.service
带service文件就是后台服务,可以设置开机启动(centos7)
1、yum install httpd -y
2、mkdir -p /var/www/html/centos/7/os/x86_64
3、vim /etc/fstab  (/dev/sr0  /var/www/html/centos/7/os/x86_64  iso9660 defaults 0 0)
4、mount -a
访问:http://ip/centos/7/os/x86_64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值