linux基础11-软件管理rpm、yum、源码
rpm
rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
#rpm包格式 zip-3.0-11.el7.x86_64.rpm zip:包名 3.0.11:版本号 el7:系统,el7指CentOs7.x,el6指Centos6.x x86_64:平台。noarch指所有
1.安装 -i #安装软件包 -v #显示安装的过程 -h #显示安装的进度条 --test #模拟演练 --force #强制安装 #重本地库里安装 # rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm #网上安装,只实用与没有依赖的情况 # rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
2.卸载 # rpm -e tree
3.升级 # rpm -Uvh zabbix-agent-4.2.0-1.el7.x86_64.rpm
4.查看 # rpm -q 查看指定软件包是否安装 # rpm -q vsftpd # rpm -qa 查看系统中已安装的所有RPM软件包列表 # rpm -qa|grep "samba" #列出所有的rpm包,然后筛选名称是samba的相关包 # rpm -ql 查询指定软件包所安装的目录,文件列表,存放的位置 # rpm -qc 查询指定软件包的所有配置文件
yum
Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
$ cat /etc/yum.conf [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache=0 #缓存是否保存,1保存,0不保存。 debuglevel=2 #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。 logfile=/var/log/yum.log #yum的日志文件所在的位置 exactarch=1 #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。 obsoletes=1 #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。 gpgcheck=1 #是否检查GPG(GNU Private Guard),一种密钥方式签名。 plugins=1 #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。 installonly_limit=3 #允许保留多少个内核包。 exclude=selinux* #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。
进入/etc/yum.repo.d目录下,
vi CentOS-Base.repo
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
name=CentOS-$releasever - Base:具体的yum源名字,其实相当于对它的描述描述信息 $r releasever:你可以使用这个变量参考红帽企业Linux发行版,也就是说表示当前发行版的大版本号。
baseurl:镜像服务器地址,只能写具体的确定地址。下面的例子中,只能有一个baseurl,但里面可以包含多个url
mirrorlist:镜像服务器的地址列表,里面有很多的服务器地址。这里有一个变量arch,cpu体系,还有一个变量:$basearch,cpu的基本体系组
baseurl和mirrorlist都是指向yum源的地址,不同点是包含地址的多少。你若自己写的话,我们一般只写一个地址,直接用baseurl就行
gpgcheck=0 :使用公钥检验rpm的正确性
gpgcheck若是1将对下载的rpm将进行gpg的校验,校验密钥就是gpgkey,一般自己的yum源是不需要检测的。gpgcheck=0,那么gpgkey就可以不填写
1.查看信息 [root@k8s-node01 ~]# yum list #查看所有的rpm包 配合less [root@k8s-node01 ~]# yum list | grep ftp #模糊匹配的方式 [root@k8s-node01 ~]# yum info vsftpd #查看vsftpd软件的详情 2.yum通过公网仓库搜索进行安装 [root@k8s-node01 ~]# yum install vsftpd #交互 [root@k8s-node01 ~]# yum install vsftpd -y #非交互 3.yum直接安装公网的rpm包, 会自动查找当前系统上已有的仓库解决依赖关系 [root@k8s-node01 ~]# yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm 4.yum直接安装本的rpm包,会自动查找当前系统上已有的仓库解决依赖关系 [root@k8s-node01 ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm 5.如果误删除某个软件的配置文件,可以使用reinstall进行重装 [root@k8s-node01 ~]# yum reinstall vsftpd 6.更新所有的软件包,包括内核 [root@k8s-node01 ~]# yum update acl -y [root@k8s-node01 ~]# yum update -y 7.如何去删除一个软件包 [root@k8s-node01 ~]# yum remove samba -y 8.查看正在使用的仓库基本信息 [root@k8s-node01 ~]# yum repolist [root@k8s-node01 ~]# yum repolist all 查看所有的仓库 #启用和禁用仓库 [root@k8s-node01 ~]# yum install https://dev.mysql.com/get/mysql80-community-release-el7- 3.noarch.rpm [root@k8s-node01 ~]# yum repolist all|grep mysql [root@k8s-node01 ~]# yum-config-manager --disable mysql80-community #关闭仓库 [root@k8s-node01 ~]# yum-config-manager --enable mysql57-community #启用仓库 本质: 都是在修改repo文件中的enable的值 0 不启用 1 启用 9.查找一个命令或文件所属的软件包是什么? [root@k8s-node01 ~]# rpm -qf $(which cd) bash-4.2.46-31.el7.x86_64 PS: rpm需要知道命令的绝对路径, 如果不存在该命令是无法查找到该命令所属的软件包 [root@k8s-node01 ~]# yum provides cd [root@k8s-node01 ~]# yum provides ifconfig
10.组包的安装与卸载 [root@k8s-node01 ~]# yum groups install Development Tools [root@k8s-node01 ~]# yum groups remove -y Base 11.如何使用yum缓存已经安装过了的软件包 #缓存rpm包方式一、修改yum全局配置文件 [root@k8s-node01 ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 #启动缓存 #缓存rpm包方式二,只下载不安装 [root@k8s-node01 ~]# yum install httpd -y --downloadonly --downloaddir=/tmp #1.先清空 [root@k8s-node01 ~]# yum clean packages 当你的yum出现问题,进行了一次替换后,你需要执行 yum clean all #2.开启缓存,然后再下载软件包 12.yum的历史记录 #1.查看历史执行yum命令 [root@k8s-node01 ~]# yum history #2.查询历史执行yum命令ID详细信息 [root@k8s-node01 ~]# yum history info N #3.撤销历史执行过的yum命令 [root@k8s-node01 ~]# yum history undo N
源码安装
1.下载nginx的源码包 [root@k8s-node01 ~]# wget http://nginx.org/download/nginx-1.16.0.tar.gz 2.解压源码包 [root@k8s-node01 ~]# tar xf nginx-1.16.0.tar.gz 3.对软件进行各种自定义操作 [root@k8s-node01 ~]# cd nginx-1.16.0/ [root@k8s-node01 ~]#./configure --prefix=/soft/nginx-1.16.0 --with-http_ssl_module 4.生成makfile后,根据makefile的文件进行编译,使用make命令 [root@k8s-node01 ~]# make 5.将编译好的二进制文件和配置文件,拷贝到./configure指定的目录 [root@k8s-node01 ~]# make install 6.将程序设定一个软连接,便于后续的升级 [root@k8s-node01 ~]# ln -s /soft/nginx-1.16.0/ /soft/nginx 7.执行二进制文件,然后在浏览器中输入当前服务器的IP地址,测试是否有welcome to nginx [root@k8s-node01 ~]# /soft/nginx/sbin/nginx
- Linux基础3(用户/组管理,rpm,yum,源码安装软件)
- Linux软件包管理{rpm|yum|源码包}2015082901
- Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python
- Linux学习日记(三)RPM软件包管理、YUM仓库配置和源码包的安装
- Linux软件管理之RPM、YUM、源码编译安装
- Linux基础管理——软件包管理:rpm,yum高级使用方法(史上最全,没有之一)
- Linux 基础:软件安装(rpm,yum,源代码)
- Linux精讲——软件安装yum、rpm、源码安装
- LinuxStudyNote(39)-Linux软件包管理(1)-Linux软件包简介之源码包与RPM包、源码包的优缺点、RPM二进制包的优缺点
- linux笔记:RPM软件包管理-源码包管理
- LINUX软件管理 (源代码、RPM、YUM)
- linux基础(十三)软件安装rpm和yum
- Linux 学习“软件安装:源码与Tarball,软件安装:RPM、SRPM与YUM功能”
- linux下yum命令;rpm命令;源码安装软件;natstat命令
- linux 安装卸载软件包的三种方式:源码、rpm、yum
- Linux软件包管理(YUM、RPM、源代码包、脚本安装)
- 8.19_Linux软件包管理之rpm和yum的使用
- linux基础(11)--软件包管理--RHEL6.5
- Linux初窥:软件包管理之(yum与源码包安装)
- Linux基础之软件管理RPM