关键词:
文章目录
注意:本文采用CentOS7.6
一、Linux下有哪些软件安装方式
- RPM软件包管理(格式一般为
软件名.rpm
) - yum软件管理包(使用
yum
命令安装软件) - 源码编译安装(手动编译+安装)
1.rpm包(二级制软件包)
- 二进制包,指的是已经
编译
后的软件包,直击安装就能使用了 - 二进制包需要根据自己的CPU以及操作系统去选择合适的包,和Window的
.exe
软件包类似
2. 源码软件包
- 源码包,是程序员写好的
源代码
,不能在计算机上直击运行 - 源码包,需要
编译
生成二进制软件包后,才能安装使用,源码包一般可以在任何计算机上使用 - 源码包的命名方式一般为
.tar.gz
.tar.bz2
tar.xz
zip
3. 二进制源码包
- 二进制源码包,是一个半成品,安装后不能直接使用
- 二进制源码包,需要使用
rpmbuild
工具重建成真正的rpm
包或者重建成源码包才可安装使用 - 二进制源码包,命名方式一般为:
- mysql-community-5.7.25-1.el6.
src.
rpm - mysql-community-5.7.25-1.el7.
src
.rpm
- mysql-community-5.7.25-1.el6.
4. 常见的二进制软件包
系统平台 | 包类型 | 工具 | 在线安装 |
---|---|---|---|
RedHat/CentOS/Fedora/SUSE | rpm | rpm,rpmbuild | yum |
Ubuntu/Debian | deb | dpkg | apt |
5. 二进制包和源码包区别
软件包类型 | 是否编译 | 安装难易程度 | 可定制性 |
---|---|---|---|
二进制包 | 否 | 直接安装 | 差 |
源码包 | 是 | 麻烦(配置+编译+安装) | 好 |
6. 二进制软件包的安装方式
- 基于
rpm
进行安装(先下载软件到本地再进行安装) - 基于
yum
进行安装(在线下载然后进行安装)
二、各种软件包安装步骤
1. rpm软件包的安装和卸载
1)rpm安装
命令:rpm -ivh 软件包名
注意:软件包名必须写全
- -i:install 安装
- -v:显示进度条
- -h:表示以 # 形式显示进度条
2)rpm卸载
命令:rpm -e [软件包名]
3) rmp升级包
命令:rpm -Uvh 软件包
或者:rpm -Fvh
常用选项:
-v
:输出详细信息-h
:打印散列标记,一般和-v一起使用-U
:升级软件包,如果该软件包没安装,会自动帮你安装-F
:升级软件包,如果该软件包没安装,不会自动帮你安装
4)查看rpm包相关信息
- 查看已经安装的软件的文件列表
命令:rpm -ql 软件包名
- 查看已经安装的所有rpm包
命令:rpm -qa 软件包名
- 查看未安装的rpm包里的文件列表
命令:rpm -qlp 软件包(xxx.rpm)
- 查看已经安装软件的文档列表
命令:rpm -qd 软件包名
- 查看已经安装软件的配置文件
命令:rpm -qc 软件包名
- 查看已经安装软件的详细信息
命令:rpm -qi 软件包名
- 查看指定文件来自哪个rpm包
命令:rpm -qf 文件名
4)rmp其它选项
-
--force
:表示强制强制安装软件包:
rpm -ivh [软件包名] --force
强制卸载软件包:rpm -e [软件包名] --force
-
--nodeps
:忽略依赖关系
忽略依赖关系卸载:rpm -e [软件包名] --nodeps
忽略依赖关系安装:rpm -ivh [软件包名] --nodeps
其它:
rpm --import key_file
导入公钥用于检查rpm文件的签名rpm --checksig package.rpm
检查rpm包的签名
5)如何获取rpm包
Linux只是内核,Linux发行版本:GNU/Linux
6)如何选择合适的rpm包
- 选择适合当前系统的版本号
- 找不到适合的,才去尝试别的系统版本号
- el6兼容el5;el5无法安装 el6
- 选择适合当前计算机cpu的架构
- x86_64包,只能安装在64位的系统上
- i386,i586,i686的软件包可以安装在32和64位系统上
- noarch表示这个软件包与硬件构架无关,可以通用
- 32位系统不能安装64位包
注意:建议不要跨大版本号去安装软件包,尽量使用当前系统版本自带软件包安装
2. yum软件包管理工具
yum就是一个软件包管理器,不同版本的Linux的软件管理器名字可能会有差异,Centos上就是使用的yum
1)yum安装rpm包
命令:yuim -y install [软件包名]
安装包组命令:`yum -y groupinstall [包组名]
注意:包组里面包含很多的软件包
2)yum工具卸载rpm包
命令:yum -y remove [软件包名]
卸载一组包:yum -y groupremove [包组名]
3)yum升级rpm包
命令:yum update [软件包名]
4)yum常用选项
- 列出仓库里的软件包:
yum list
- 列出可用仓库:
yum repolist
- 清空yum缓存:
yum clean all
- 创建yum缓存:
yum makecache
三、源码安装
源码安装一般可以去软件的官网,官网的源码包一般都是xxx.tar.gz
格式
1. 源码安装步骤
- 配置
.configure
(配置软件安装路径,也可以不配置,不配置使用默认路径) - 编译
make
(把软件的源代码编译成类似于rpm可以直接安装的软件) - 安装
make install
(把编译好的程序安装到Linux系统)
2. 源码安装示例
使用源码安装安装cmarix
代码雨
-
对软件进行解压缩
命令:tar -zxf cmatrix-1.2a.tar.gz
-
进入到cmatrix-1.2a文件夹,对软件进行配置
使用命令:
./configure
执行配置文件,没有指定安装目录,就会安装到默认路径
-
编译软件
命令:make
常见错误
cmatrix.c:37:20: fatal error: curses.h: No such file or directory
出现以上问题的主要原因在于系统中没有找到ncurses-devel软件包
因为这个软件是 C/C++
写的,需要C/C++
的编译器
安装命令:yum install gcc gcc-c++ ncurses-devel -y
如果遇到这种情况,把原来的解压目录删了,重洗解压安装
4. 安装软件
命令:make install
- 测试
命令:cmatrix
3. 详解源码安装的配置过程
一条命令解决编译安装:./configure && make && make install
cd [软件源码包]
./configure [选项]
查看./configure
用法
-
./configure --help
-
--prefix=...
Directories to put files in /usr/local 软件家目录 -
–
bindir=...
$prefix/bin 命令的目录 -
--etcdir=...
$prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf -
--mandir=...
$prefix/share/man man 文档路径 -
--locale=...
$prefix/share/locale 语言编码
1. axel多线程下载软件源码安装
- 对源码软件包进行解压缩
命令:tar -xzf axel-2.4.tar.gz
2. 进入axel
目录进行配置(不采用默认配置)
指定新的安装目录 /opt/axel
-
编译安装
命令:make && make install
-
测试和使用
命令:axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
出现以上问题的主要原因在于:我们没有采用默认的安装方式,所以导致当我们执行axel
命令的时候,找不到对应命令
解决这个问题有两种方式
- 第一种方式:采用软链接形式(类似Windows中的快捷方式)
- 第二种方式:使用环境变量(重要,Linux中的环境变量)
2. 使用软链接解决command not found
找不到是因为我指定的安装目录不是默认的安装目录,指定安装到了/opt/axel/bin
解决方案:
给/opt/axel/bin/axel
创建一个快捷方式到/usr/local/bin
注意:这几个目录都是一些命令
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin
命令:ln -s [源文件路径] [软连接路径]
执行命令:ln -s /opt/axel/bin/axel /usr/local/bin/axel
查看/usr/local/bin/
目录
相当于在usr/local/bin
目录下创建了一个快捷方式
执行命令:axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
下载完成
3. 使用环境变量解决command not found
其实我们的命令都是通过环境变量执行的
终端 => 命令 => 系统的环境变量(PATH => /etc/profile) => 一些命令的存放路径
axel多线程下载软件,通过源码的方式安装成功后,由于没有使用默认的安装路径,导致axel这个命令没有出现在系统的环境变量中,所以其会出现command not found。
-
查询当前系统的环境变量
命令:echo $PATH
-
把acel所在目录添加到环境变量
- 使用vim编辑/etc/profile文件,把
export PATH=$PATH:/opt/axel/bin
追加到最后一行 - 或者直接使用命令
echo 'export PATH=$PATH:/opt/axel/bin' >> /etc/profile
追加到最后一行
再执行命令:source /etc/profile
,让配置文件马上生效
使用axel
命令下载文件
4. 解决源码安装man手册找不到问题
解决方案
命令:vim /etc/man.config
在最后一行增加MANPATH /opt/axel/share/man
5. 卸载源码安装的软件
-
进入到源码安装包中
-
安装软件的安装包等程序
命令:make uninstall
-
卸载编译与配置过程
命令:``make distclean -
删除软件的目录
rm -rf /opt/axel
四、yum
1. yum源
1. yum源作用
yum类似于手机的应用商店
2. yum源优点
RPM安装(下载软件、单独安装、需要解决依赖关系)
源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
yum源:相当于rpm软件包管理的升级版
能够解决软件包之间的依赖关系,提高工作效率
注意: yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,我们也可以通过rpm -qa |grep 软件名称
3. yum源分类
1)本地yum源
yum仓库在本地(系统光盘/镜像文件) => 不需要网络的支持
2)网络yum源
yum仓库不在本地,在远程
国内比较知名的网络源
国外比较知名的网络源
centos源、redhat源、epel源等
特定软件:相关的网络源(Nginx、MySQL、Zabbix等),一般的源里找不到它们
4. 本机yum备份
在/etc/yum.repos.d
目录里
使用命令:tar -zcf repo.tar.gz *.repo
,对本地yum源进行备份
再用命令:rm -rf *.repo
,删除以.repo
结尾的文件
2. 本地yum源配置
本机yum源,可以使用光盘镜像作为YUM源仓库,或者下载很多软件,使用软件包作为YUM源仓库
使用光盘镜像作为yum源仓库
-
在VM系统中装在CentOS7.8系统的光盘镜像
-
把光盘挂载到某个目录(mount)
命令:
mount 设备文件原始地址(/dev目录) 要挂载的位置路径(盘 符)
常用选项:-o
:挂载范式ro
:ro代表以readonly,只读的方式进行挂载rw
:rw表示以read/write,读写的方式进行挂载
挂载到
/mnt
目录下
先把目录清空:rm -rf /mnt/*
挂载命令:
mount -o ro /dev/sr0 /mnt
sr0
是光盘文件使用
lsblk
命令:用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等
解挂命令:umount /mnt
-
把光盘故挂载添加到开机启动文件中
命令:echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件
-
编写本地yum本地仓库文件
第一步:创建一个以
*.repo
结尾的文件,名称随意第二步:编写
yum.repo
文件
yum仓库的标准格式
[仓库标识名称]
,名称任意,在一个文件中可以拥有多个标识
-name=仓库名称
-baseurl=仓库的路径
,支持多种格式,file://本地路径,ftp://,http://或https://
-gpgcheck=gpg密钥
,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
-enabled=是否启动当前仓库
,值可以0,也可以是1,默认为1,代表启动仓库
- 清空yum缓存
- 清空原来的yum缓存:
yum clean all
- 创建新yum缓存:
yum makecache
- 列出可用仓库:
yum repolist
- 测试本地yum是否可用
安装Apache
命令:yum -y install httpd
man 5
在Linux系统中,给定我们一个配置文件,怎么查询这个文件中每一个选项的作用呢?
命令:man 5 [配置文件名]
比如:man 5 yum.conf
3. 网络yum源配置
- 使用比较知名平台的YUM源(阿里云、腾讯、清华)
- 有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源
- 阿里源:
https://opsx.alibaba.com/mirror
- 网易源:
http://mirrors.163.com/
- 清华源:
https://mirrors.tuna.tsinghua.edu.cn/
- 华为源:
https://mirrors.huaweicloud.com/home
百度搜索 某某 mirror镜像源即可
-
知道想要的yum源官网,找到CentOS
-
根据官网提示,配置
- 备份配置文件:
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 备份配置文件:
-
配置方案
命令:wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
4. 执行yum clean all
清除原有yum缓存
5. 执行yum makecache
(刷新缓存)或者yum repolist all
(查看所有配置可以使用的文件,会自动刷新缓存)
6. 测试
安装php:yum -y install php
4. EPEL源配置
什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
命令:yum install epel-release -y
测试:一般源是没有小火车sl的,但epel
源有
5. 特定软件的yum源配置
比如特殊的几个软件,如Nginx、MySQL、Zabbix
找到官方文档,把YUM源配置,写入到一下文件中(repo文件)
找到官网
在/etc/yum.repos.d
目录下创建nginx.repo
把一下配置文件写入保存
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
清理缓存:
yum clean all
yum makecache
下载:yum -y install nginx
6. 自建yum源仓库
1. 缓存安装软件包
什么时候需要缓存软件?
- 下次还需要安装相同版本的软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2. 如何缓存软件安装包
编辑配置文件/etc/yum.conf
keepcache
:为1代表开启缓存,为0代表关闭缓存
3. 把软件及依赖软件全部下载到某个路径
只下载不安装软件:可以获得软件的软件包
命令:yum install --downloadonly --downloaddir=[保存路径] [软件名称]
4. 自定义YUM仓库
- 在系统中安装
createrepo
制作仓库的软件
命令:yum -y install createrepo
- 把
custom
文件夹做成一个本地的自建仓库
命令:createrepo custom
- 在
/etc/yum.repos.d
目录中创建一个custom.repo仓库
用vim命令编辑:vim custom.repo
[soft]
name=customyum
baseurl=file:///custom
gpgcheck=0
enabled=1
- 清理缓存+重建缓存:
命令:yum clean all
命令:yum makecache
注意:这个是本地仓库目录,仓库里要提前保存有软件包,才能使用yum安装
linux下yum软件库配置文件详解!.repo
就是那个.repo结尾的配置文件!每一行代表着什么?哪一行是可以删除的?大家一般都怎么配置这个.repo顺道解一下,光盘挂在/mnt/cd下!怎么使用这个路径也能进入光盘/misc/cd按我的方法配置YUM,绝对成功。配置好后自动从网络... 查看详情
yum命令详解-yum仓库配置文件详解(代码片段)
...3、自动解决依耐4、命令简单好用5、生产最佳实践yum命令详解#linux安装软件的三种方式1、rpm安装2、源码安装3、二进制安装yum命令yumrepolistyumrepolistall #查看所有仓库#只能列出在/etc/yum.repo.d下面以repo结尾,enabled=1的仓库中可用的... 查看详情
精通linux系列linux下常用安装服务软件yum方式的介绍(代码片段)
...们点赞👍、收藏⭐、留言💬文章目录Linux下常用安装服务软件yum方式的介绍1:yum安装:基于C/S架构,yum安装称之为傻瓜式安装yum安装方式的使用yum-removezsh#卸载软件yumsearchgcc#搜索gcc软件yumupdate#升级软件Linux下... 查看详情
linux下yum安装及配置
...t+t呼出终端,在终端里面输入yum,它会告诉你,你还没有安装,并且把安装的方法一起告诉你了03输入它下面提示的命令,按下回车键04之后会提示它接下来的操作,这里输入y(不区分大小写)05安装完成之后就可以使用了,输... 查看详情
精通linux系列linux下常用安装服务软件yum方式的介绍(代码片段)
🚀作者:“大数据小禅”🚀专栏简介:本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,欢... 查看详情
centos7下yum搭建lnmp环境(yum安装方式)
我们都知道linux下安装软件主要有三种方式:1.源码编译安装,即下载软件源代码,利用gccg++make等编译工具进行编译安装;此方式的优点:可以指定软件版本,可选择性好;编译时可以手动指定需要加载的模块;管理的自由度大... 查看详情
yum详解(代码片段)
目录YUM安装yum相关命令控制yum安装的配置文件YUM安装1.必须有网络,通过网络获取软件2.管理RPM包3.自动解决依赖4.命令简单好记5.生产最佳实践yum相关命令-使用阿里源的base源,可将baseurl中三个路径删除下面两个路径,路径为阿... 查看详情
yum源配置与详解
一、yum简介yum是解决rpm软件包的依赖性而开发的一种软件包管理器。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件... 查看详情
linux发行版的软件包安装管理程序
...话,则可以使用fedora的EPEL项目,或者dag等。 参考技术C的安装程序,或者用Zip等解压缩软件解压缩即可安装。在Linux下安装软件对初学者来说,难度高于Windows下软件安装。下面我就详细讲解Linux下如何安装软件。先来看看Linux软... 查看详情
linux下软件编译安装前提和方式
请问在linux下编译安装软件的时候,需要提前安装好什么软件和库之类的啊,才能进行编译安装源码包,再者,是怎样的命令来安装源码包啊??????在linux系统中,如果要用源代码包进行编译安装,就需要用到gcc这个工具... 查看详情
linux中yum命令使用方法
Linux系统下常用yum安装命令详解yum常用安装命令 使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。1、安装killall命令yuminstall-ypsmisc2、安装sz(下载)和rz(上传)命令yuminstall-ylrzsz3、安装if 查看详情
如何解决linux下的软件包依赖问题
利用yum安装软件(自动解决依赖关系)YUM有以下特点:1、可以同时配置多个资源库(Repository)2、简洁的配置文件(/etc/yum.conf)3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便4、YUM分为服务器端和客户端搭建yum服务器:1、... 查看详情
linux中的yum安装介绍(代码片段)
Linux中的yum安装文章目录Linux中的yum安装Linux软件包管理器yum什么是软件包yum软件包管理器查看软件包安装卸载Linux软件包管理器yumLinux当中怎么安装软件呢?Linux软件安装方式:源码安装rpm包安装yum(推荐)什么是软件包在Lin... 查看详情
linux软件管理-yum工具(代码片段)
...python开发需要对应的软件仓库(repository)自动化升级、安装、移除rpm软件包可以很好的解决RPM软件包依赖问题可以自定义多个资源库/yum源(repository)3.YUM工作流程执行yum命令读取yum配置文件,获取仓库信息在仓库中搜索元数据... 查看详情
linux下yum安装软件包找不到镜像的解决办法(代码片段)
...个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用! YUM的工作原理并不复杂,每一个RPM软件的 查看详情
在linux系统中配置yum源仓库(代码片段)
...配置本地yum源仓库三、yum常用操作命令四、使用yum方式去安装五、编译安装的基本过程1.编译安装的基本过程2.验证结果几种方式总结前言在主机中安装了Linux操作系统后,就具备了提供软件服务、网络服务等功能的基础,... 查看详情
我在linux下检查yum,有如下信息,请帮助指点
...有如下信息,请帮助指点参考技术A常用的方法yuminstallXXX安装XXX软件yumremoveXXX删除XXX软件yumupdate更新系统已安装的软件yumupdate-xXXX更新系统已安装软件但排除XXXyuminstallXXX*安装XXX开头的所有软件当然了,还有其它更高级的应用,你... 查看详情
详解linux软件安装中rpm与yum区别和联系
参考技术A一般Linux软件安装有这么几种方式:那么其中rpm与yum有什么区别呢?RPM管理支持事务机制。增强了程序安装卸载的管理。RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。1、RPM的缺点由于Linux中的程序大... 查看详情