一,软件包概述
软件包概述
软件包用于安装,升级,卸载一个软件
软件包类型
二进制包
源码经过了编译(而且成功了)后产生的包,二进制包是linux下默认的安装包
编译好的文件,直接使用,包.rpm
方便,但是古板,规定好了的,对计算机有一定的要求,就像官方英文翻译一样
源码包
源码包就是一大堆源代码程序,没有经过编译,所以使用的时候要先编译
没有编译的文件,要编译后才可以使用,包.tar.gz
不太方便,但是灵活,对任何计算机几乎都有效,就像你自己翻译英文一样
二,rpm安装
rpm概述
RPM(Red Hat Package Manager)是 Red Hat 开发的包管理工具,广泛应用于 RHEL(Red Hat Enterprise Linux)、CentOS、Fedora 等 Linux 发行版中。它用于安装、升级、卸载、查询和验证软件包。
获取rpm安装包的方式
- 官方仓库:通过 Linux 系统自带的官方仓库获取 RPM 包,使用
yum
或dnf
等包管理工具。- 第三方仓库:例如 EPEL(Extra Packages for Enterprise Linux)等提供额外的软件包。
- 下载 RPM 文件:从可信的第三方网站(如软件的官方网站)直接下载
.rpm
文件。- 自制 RPM 包:开发者可以根据软件的源码,打包生成自定义 RPM 包。
使用rpm安装(不常用,常用yum)
rpm 【选项】rpm包
-f
:表示根据文件查找包,即指定的文件属于哪个已安装的 RPM 包。和q一起使用-l
:列出指定包中的文件。和q一起使用- -q【a查看所有】, --query:查询一个包。
- -i, --install:安装一个包。
- -v:显示更详细的信息。
- -h:打印#,显示安装进度。
- -U, --update:升级一个包。
- -e, --erase:卸载一个包。
- -V, --verify:校验一个包。
依赖关系
在使用rpm命令进行包的安装、卸载或升级时,需要注意包之间的依赖关系。如果遇到依赖问题,可以使用yum或dnf命令来自动处理依赖关系
总结
总的来说,rpm命令是一个功能强大的工具,用于在Linux系统上管理软件包。通过掌握其基本语法和常用选项,用户可以高效地完成软件包的安装、卸载、升级和查询等操作。
三,yum安装
yum概述
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum源(国内)
### 阿里云镜像源
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 腾讯云镜像源
baseurl=https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 华为云镜像源
baseurl=https://repo.huaweicloud.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 清华大学 TUNA 源
baseurl=http://linux.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://linux.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 中科大镜像源
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 网易(163)镜像源
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 搜狐镜像源
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 上海交大镜像源
baseurl=http://mirrors.sjtug.sjtu.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sjtug.sjtu.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
yum仓库配置文件
位置:/etc/yum.repos.d/xxx.repo
这个文件以repo结尾,是yum的仓库配置文件,每次下东西系统都会进来,问问,在哪里下。
——————————————————————————————文件格式————————————————————————————————
[标识符]
#尽管每个文件都有名字,但是在使用时还是只认标识符
#是仓库的标识符,表示这是一个名为 "base" 的仓库。每个仓库都有一个唯一的标识符,以便 yum 能够区分不同的仓库。(当然也可以随便写,一般见名之意)没多大用,只有安装软件的时候显示,表示软件是从这个配置文件中的链接安装的
name=任意写
#仓库的名称,方便用户识别。就是解释这个仓库的,没什么用
baseurl=指定镜像服务器的地址列表或单个 http 地址。
#软件就是在这里面找的,其实就是个网址,换上我之前给的源就了
enabled=1
#enabled:是否启用该仓库,1 表示启用(默认),0 表示禁用。
#就像下游戏,可以在应用市场,也可以做taptap,仓库也是,可以同时有多个
-----------------------------下面的可以不用写-------------------
gpgcheck=1
#是否开启 GPG 验证,1 表示开启(默认),0 表示关闭
gpgkey=定义 GPG 密钥的地址。
#如果开启gpgcheck就会根据gpg密钥验证这个软件正不正规,建议关掉gpgcheck
failovermethod=roundrobin
#当有多个 baseurl 时选择镜像服务器的方式,priority 表示按顺序选择(不写默认),roundrobin 表示随机选择。
exclude=mysql* httpd*
#(用的很少)禁止某些软件包的安装和更新,可使用通配符,多个软件包之间用空格分隔。
注意:可以同时启用多个 yum 仓库(不建议)
- 如果安装了
yum-plugin-priorities
插件,可以在.repo
文件中通过priority=n
(其中 n 是一个整数)来设置仓库的优先级。数值越小,优先级越高。- 如果没有安装该插件,可以通过调整配置文件名的顺序来实现优先级,例如将优先级高的仓库配置文件命名为
01-base.repo
,优先级低的命名为99-epel.repo
。
本地yum源配置
所谓的本地,就是离线,既然是离线,就一定是本地保存好的,but,在哪里?自己下载?(可以,但是好麻烦)。我们安装虚拟机的时候,用了xxx.ios(这是linux的镜像盘,不是苹果),这个文件里有我们要的软件包,怎么操作?跟着我来吧
安装光盘
当你想要看好朋友的学习资料,大概不会用他的电脑吧,一定会拷贝下来,用u盘或者移动硬盘对吧?然后再放到自己电脑上。同样,使用系统光盘,是不是也要先安装呢?你也可以直接在原有的的设备上勾选“已连接”,不过无论如何都要重启,后面再说怎么不重启。
挂载光盘
ok,你现在插入了u盘,发现打不开?what???
别急,在linux上你要挂载,为什么,为了你计算机的安全,随意插入的新空间我不要,除非你告诉我,而且告诉我放哪里。
新命令mount挂载命令(以后会详细说,下载不用背)
mount 硬件(/dev/sr0) 挂载目录
一般在/mut中,建议在创建一个目录(chrom:可以是其他,这里这么做只是为了见名知意)放入创建的目录中。当然你可以放到任何地方,我就是这样想的
写配置文件
先看看包在哪里?
还记得怎么写配置文件吗?写个简单的,为了测试,我要然所有原有的配置都失效,与我打包所有并复制的其它文件夹备份,删除所有repo文件,写一个新的(测试完建议复制回来恢复)
[mydvd]
name=mydvd_yum
#注意地址不能有中文,所以我这个不可以,不够是这个原理,sorry
baseurl=file:///home/ly/桌面/a/Package
#baseurl:本地 RPM 包的目录。file://【绝对地址】 协议用于指向本地文件系统。
enbale=1
yum mackcache刷新一下
yum clean all把之前的老数据删除了
好了,完成:yum repolist 看看有哪些自己的yum配置文件吧
网络yum源配置
这还不简单,进入一repo文件,修改baseurl=xxxxx就可以了,就不练了,看看现成的。
yum命令
yum 【参数】【包名】
install :安装指定软件包
remove:卸载指定软件包
update:更新指定软件包,不指定就更新已安装软件包
list (availble/installed):查看可用/已安装软件包
search 【关键字】:按照关键字搜索软件包
info 【软件包】:显示软件包详细信息
clean all:清理所有yum缓存。
yum deplist 【软件包】:显示指定安装包依赖
yum group list:列出可用的软件包组。
yum group install [组名]:安装指定的软件包组。
yum group remove [组名]:删除指定的软件包组。
--version:显示yum的版本信息。
yum repolist 【all/库名】:显示启用的仓库列表,加all就显示所有仓库(包括禁用的),加的是库名,显示指定仓库的详细信息
四,源码安装
源码安装概述
源码包,是指哪些使用编译型语言编译的源文件(没有经过编译过的c文件),构成的一个压缩包。使用时要先解压,再编译,才可以使用。
好处在于,你可以自己编辑源文件代码,按照自己的需求写。在本机编译更加适配本机环境,删除时直接删除目录就可以了。
步骤编号 步骤描述 命令示例 说明 1 获取源码包 wget http://example.com/source-package.tar.gz
下载源码包文件(如 .tar.gz
,.zip
)2 解压源码包 tar -xzvf source-package.tar.gz
使用 tar
解压.tar.gz
文件tar -xjvf source-package.tar.bz2
使用 tar
解压.tar.bz2
文件unzip source-package.zip
使用 unzip
解压.zip
文件3 进入源码目录 cd 【解压后的源码包目录】
进入解压后的源码目录 4 查看安装说明 cat README
或cat INSTALL
查看 README
或INSTALL
文件5 配置编译环境 ./configure --prefix=/usr/local
(必要)生成 Makefile 文件,设置安装路径(或者说软件安装到哪个路径) ./configure --enable-feature
启用某些功能 6 编译源码 make
编译源码 make -j4【这是4核】
多核编译 7 安装编译好的程序 sudo make install
安装编译好的程序 8 验证安装 program_name --version
检查安装是否成功 9 清理编译文件(可选) make clean
清理中间文件 10 卸载软件 make uninstall (在软件的家目录中执行)
案例:nginx
获取包
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
解压
进入安装目录
查看安装说明(可选)
配置选项(一般软件都是安装在/usr/local下的,使用源码安装,先提前创建一个目录)
安装时报错:提示缺少pcre依赖,安装:sudo yum install pcre pcre-devel(具体看自己的)
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel make(我将所有的都提供了)
编译源码:make
安装软件:make install
查看是否安装
清理缓存或者make文件
使用nginx(在安装后的目录中找到sbin目录,执行nginx文件)
打开浏览器搜索网址:1270.0.1