目录
一.rpm安装
1.rpm介绍
哪些是rpm呢?
rpm也就是redhatpackagemanager,是红帽公司出品的软件包管理工具,能进行软件包的安装,卸载,升级,查询
rpm是centos/redhat系统里软件安装管理的命令,比yum要底层,yum底层就是调用rpm去安装软件的。
rpm包管理机制的系统:
centos,redhat,opensuse,oraclelinux,fedora等--》红帽系
zziplib-0.13.68-8.el8.x86_64.rpm
enterpriselinux8
x86_64-->64
i686-->32
yelp-libs-3.28.1-3.el8.i686.rpm
yelp-libs-3.28.1-3.el8.x86_64.rpm
deb包管理机制的系统:
debian,Ubuntu
zfsutils-linux_0.8.3-1ubuntu12_amd64.deb
2.rpm包
rpm包或许就是redhat系列的Linux系统里的软件包,是他人制做好的可以直接安装使用的软件包,类似于windows里的.exe。rpm包的来源是自己或则公司,第三方
3.sourcerpm
SourceRPM:openssh-8.0p1-5.el8.src.rpm-->上面有源码的rpm包--》不能直接安装使用linux windows,安装的过程似乎是解压src.rpm包得到软件的源代码
包含了源码的rpm包
4.那里可以下载rpm包?
1.镜像文件,centos或则redhat公司制做,使用方式如下:
挂载镜像:
1.请将镜像文件装入硬盘
2.使用mount命令挂载
mount/dev/cdrom/mnt
3.使用
2.官方网站
3.第三方平台:Rpmfindmirror
4.自己制做
5.使用rpm的缺点:
不能手动解决软件包之间的依赖关系,缺少手动化以及智能化
6.rpm命令解读:
选项:
查询类:
-q--query查询
-qa查询系统里早已安装了的所有的软件
-qi查询命令的详尽信息
-ql查询早已安装的软件的路径,也就是安装到了那里
-qc查询配置文件的路径
-qf查询早已安装的命令或则是文件是通过那个软件包安装过来的
-qd显示文档文件列表
-qpl查询没有安装的一个软件包,它会安装到那里
-qpi查询没有安装的一个软件包,它的信息
安装类:
-i--install安装
-ivh可以查看到安装的进度
[root@sc-lvm Packages]# rpm -ivh tree-1.7.0-15.el8.x86_64.rpm
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:tree-1.7.0-15.el8 ################################# [100%]
[root@sc-lvm Packages]#
--reinstall重新安装
[root@huoyrz Packages]# rpm --reinstall tree-1.6.0-10.el7.x86_64.rpm
卸载类:
-eerase卸载
[root@sc-lvm Packages]# rpm -e tree
升级类:
-U倘若软件没有安装,升级操作会手动帮助安装,须要你提供高版本的软件包,不会手动去帮助到那里下载
[root@sc-lvm Packages]# rpm -U tree-1.7.0-15.el8.x86_64.rpm
二.yum安装
1.哪些是yum
yum是基于rpm但更胜过rpm的软件管理工具
yum的优点:
更便捷的管理rpm软件包
手动解决rpm包的依赖关系,可以配置多个资源库房
yum是python编撰的一个软件管理的工具
安装一个软件包,可以得到好多的命令linux操作系统介绍,也有可能得到一个命令
rpm/yum软件安装的过程,本质上就是解压文件,之后拷贝文件到个别目录下的过程
问题:
1.yum是怎样解决依赖关系的?
2.yum怎样样晓得去那里下载软件?
2.库房文件目录
2.1库房配置文件目录:/etc/yum.repos.d/
YumRepositoryyum库房
2.2库房文件:都是以.repo结尾的,上面叫哪些名子不重要,只是辨识
repo文件解读:
[root@sc-lvm /]# cd /etc/yum.repos.d/ 是yum会到这个目录下查找repo结尾的文件
[root@sc-lvm yum.repos.d]# ls
CentOS-Linux-AppStream.repo CentOS-Linux-Debuginfo.repo CentOS-Linux-FastTrack.repo CentOS-Linux-Plus.repo
CentOS-Linux-BaseOS.repo CentOS-Linux-Devel.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-PowerTools.repo
CentOS-Linux-ContinuousRelease.repo CentOS-Linux-Extras.repo CentOS-Linux-Media.repo CentOS-Linux-Sources.repo
[root@sc-lvm yum.repos.d]# vim grafana.repo
[grafana] --》yum源的名字,仓库的名字
name=grafana sanchaung --》对这个源的描述
baseurl=https://packages.grafana.com/enterprise/rpm --》仓库的具体位置 源的位置
repo_gpgcheck=1 --》gpg 是一种加密技术 repo_gpgcheck 对源进行检查,是否是真正的grafana的仓库
enabled=1 表示这个源可以使用 1 启用 0 禁用
gpgcheck=1 对这个源里的下载的所有的软件进行gpg校验--》检验所有从这个源下载的软件,防止是假的 --》防伪
gpgkey=https://packages.grafana.com/gpg.key --》具体的加密和解密使用的key的位置
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
#yum源: 软件的仓库
#问渠那得清如许,为有源头活水来
[root@sc-lvm yum.repos.d]# vim CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra --》查询获取离你的机器最近的镜像的位置
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial --》gppkey的位置
===
2.3怎样获得库房文件:
1.自己vim一个grafana
2.下载rpm包安装
3.下载repo文件docker
2.4阿里云的库房文件:centos-7.9.2009-os-x86_64-Packages安装包下载_开源镜像站-阿里云
3.缓存目录:/var/cache/yum/x86_64/7
4.元数据:
元数据就是解决依赖关系的数据:安装一条命令有什么软件,每位软件依赖什么软件等
/var/cache/dnf--》存放的是各个源解决依赖关系和软件信息的元数据
[root@sc-lvm dnf]# yum clean all -->清除缓存的元数据
5.源:
1.官方源:包括centos的官方,或则是某个软件的官方(比如nginx)
2.第三方:epel-release
yuminstallepel-release,安装好后会储存在/etc/yum.repos.d/epel.repo
3.可以自己制做源
6.怎么禁用某个源:
1.enableed=0
2.删掉repo文件
3.更改repo文件的后缀名
4.sudoyum-config-manager--enabledocker-ce-nightly
yum-config-manager--disabledocker-ce-nightly
7.命令解读:
查询类:
yumsearch
yumlist查看什么软件安装了,什么软件没安装linux下软件安装,相当于prm-qa
[root@localhost base]# yum list|more
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
已安装的软件包
NetworkManager.x86_64 1:1.18.8-1.el7 @anaconda
NetworkManager-libnm.x86_64 1:1.18.8-1.el7 @anaconda
NetworkManager-team.x86_64 1:1.18.8-1.el7 @anaconda
NetworkManager-tui.x86_64 1:1.18.8-1.el7 @anaconda
acl.x86_64 2.2.51-15.el7 @anaconda
aic94xx-firmware.noarch 30-6.el7 @anaconda
[root@localhost base]# yum list|grep tree
tree.x86_64 1.6.0-10.el7 @base
gomtree.x86_64 0.5.0-0.2.git16da0f8.el7 extras
maven-dependency-tree.noarch 2.0-7.el7 base
maven-dependency-tree-javadoc.noarch 2.0-7.el7 base
ostree.x86_64 2019.1-2.el7 extras
ostree-devel.x86_64 2019.1-2.el7 extras
ostree-fuse.x86_64 2019.1-2.el7 extras
ostree-grub2.x86_64 2019.1-2.el7 extras
subscription-manager-plugin-ostree.x86_64 1.24.51-1.el7.centos updates
texlive-pst-tree.noarch 2:svn24142.1.12-45.el7 base
texlive-pst-tree-doc.noarch 2:svn24142.1.12-45.el7 base
[root@localhost base]#
有@符号的,表示是已经安装,并且@符号后面接的字符串,表示使用那个源安装的
没有@符号,表示软件没有安装,可以通过那个源安装
yumrepolist查看什么源可以使用
yumprovides查看某个命令是通过那个软件包安装过来的(本机没有安装的命令也可以查询得到)
[root@sc-lvm mnt]# yum provides iostat
上次元数据过期检查:0:37:14 前,执行于 2021年09月04日 星期六 11时14分13秒。
sysstat-11.7.3-5.el8.x86_64 : Collection of performance monitoring tools for Linux
仓库 :@System
匹配来源:
文件名 :/usr/bin/iostat
sysstat-11.7.3-5.el8.x86_64 : Collection of performance monitoring tools for Linux
仓库 :appstream
匹配来源:
文件名 :/usr/bin/iostat
[root@sc-lvm mnt]# which iostat
/usr/bin/iostat
[root@sc-lvm mnt]# rpm -qf /usr/bin/iostat
sysstat-11.7.3-5.el8.x86_64
[root@sc-lvm mnt]#
安装类:
yuminstall
yumreinstall
卸载类:
yumremove
升级类:
yumupdate默认会升级所有的软件linux下软件安装,安装好系统后马上升级所有的软件
去除缓存类:
yumcleanall只要我们安装软件,还会手动下载相应源的元数据
其他:
yum-utils--》yum-config-manager--》可以帮忙我们去某个网站下载repo文件,之后储存到/etc/yum.repos.d目录
sudoyuminstall-yyum-utils
sudoyum-config-manager
--add-repo
yumrepolist查看所有的库房
[root@sc-lvm yum.repos.d]# yum repolist
仓库 id 仓库名称
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
docker-ce-stable Docker CE Stable - x86_64
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS Linux 8 - Extras
mysql-connectors-community MySQL Connectors Community
mysql-tools-community MySQL Tools Community
mysql80-community MySQL 8.0 Community Server
[root@sc-lvm yum.repos.d]#
三.编译安装
1.为何须要编译安装
编译安装可以依据需求来订制软件
可以指定安装路径
可以指定个别模块的功能开启或则禁用
为了业务的最优配置
2.编译安装的异同点
优点:可以自定义,特别的安全,通常安装的都是最新版本的软件
缺点:速率稍稍慢点,步骤多
3.举例说明----编译安装nginx
步骤如下:
1.下载,之后解压
2.编译前的配置:./configure--prefix=/usr/local/nginx
搜集安装的参数: