一、包的安装
二进制应用程序的组成部分:
二进制文件、库文件、配置文件、帮助文件
程序包管理器:
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