Linux下软件安装实战

  • 熟悉软件安装方式

  • 学会使用源码安装

  • 配置yum源

Linux下软件安装方式

  • RPM包管理(需要单独解决依赖问题)

  • YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖)

  • 源码安装(安装过程比较复杂,源码安装三步走。优点:定制性很强)

软件:主线版[最新版](mainline),稳定版(stable)

  

YUM

什么是YUM

在CentOS系统中,软件管理方式通常有三种方式:rpm安装、yum安装以及编译安装。

编译安装,从过程上来讲比较麻烦,包需要用户自行下载,下载的是源码包,需要进行编译操作,编译好了才能进行安装,这个过程对于刚接触Linux的人来说比较麻烦,而且还容易出错。

好处在于是源码包,对于有需要自定义模块的用户来说非常方便。

==难度:编译安装>rpm安装>yum安装(有网络+yum源支持)。==

Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

基于rpm包管理,能够从指定的服务器(yum源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

==应用商店== ==谷歌商店:默认的==

案例:想象一下,你在超市购物,YUM就像是一个购物助手,它会帮你找到所有需要的商品(软件包),并且确保你买到的商品是可以一起使用的(解决依赖关系)。

YUM的基本用法
搜索软件包

使用 yum search 命令可以搜索软件包。

yum search 软件名称的关键词

 案例:搜索阿里云仓库中的vim软件。

yum search vim

为什么需要换源?

在使用YUM时,默认的YUM源可能会因为网络问题、速度慢或不稳定而导致安装和更新软件包的过程变得缓慢。换源就是将默认的YUM源替换为更快、更稳定的源。

形象解释:想象一下,你在一个城市的超市购物,超市的货物供应不稳定,常常缺货,导致你无法顺利购买到所需的商品。换源就像是你换到了一个更大的超市,这个超市的货物供应充足,价格合理,购物体验更好。

在中国,阿里云的YUM源通常比默认源更快,因此很多用户会选择将YUM源换成阿里云的镜像源。

YUM源配置

YUM源配置文件所在路径 => /etc/yum.repos.d 文件夹。这个文件夹中包含了系统中所有的YUM源配置文件,每个文件都定义了一个或多个软件包源。

以下是一些常见的YUM源配置文件及其说明:

CentOS-Base.repo:这是默认的YUM源配置文件,包含了CentOS的主要软件包源。它提供了大多数用户所需的基本软件包。

-rw-r--r--. 1 root root 1664 11月 23 2020 CentOS-Base.repo

 CentOS-CR.repo:这个文件包含了CentOS的持续更新(CR,Continuous Release)源。它提供了最新的更新和修复,适合希望获得最新软件包的用户。

-rw-r--r--. 1 root root 1309 11月 23 2020 CentOS-CR.repo

 CentOS-Debuginfo.repo:这个文件包含了调试信息的源,主要用于开发和调试目的。它提供了软件包的调试信息,帮助开发者在调试时使用。

-rw-r--r--. 1 root root  649 11月 23 2020 CentOS-Debuginfo.repo

 CentOS-fasttrack.repo:这个文件包含了快速通道的源,提供了一些快速更新的软件包,适合需要快速获取更新的用户。

-rw-r--r--. 1 root root  314 11月 23 2020 CentOS-fasttrack.repo

 CentOS-Media.repo:这个文件用于配置本地媒体源,通常用于从光盘或USB驱动器安装软件包。

-rw-r--r--. 1 root root  630 11月 23 2020 CentOS-Media.repo 

 CentOS-Sources.repo:这个文件包含了源代码的YUM源,适合需要编译软件包的用户。

-rw-r--r--. 1 root root 1331 11月 23 2020 CentOS-Sources.repo

 CentOS-Vault.repo:这个文件包含了旧版本的YUM源,适合需要访问旧版本软件包的用户。

 -rw-r--r--. 1 root root 8515 11月 23 2020 CentOS-Vault.repo

 CentOS-x86_64-kernel.repo:这个文件包含了针对x86_64架构的内核源,适合需要特定内核版本的用户。

-rw-r--r--. 1 root root  616 11月 23 2020 CentOS-x86_64-kernel.repo

 

通过这些配置文件,YUM能够从不同的源获取软件包,用户可以根据需要选择合适的源进行安装和更新。

==在YUM镜像源中添加阿里云镜像源。==

在更换YUM源之前,你需要了解两个常用的命令行工具:curlwget

  • curl:curl 是一个用于在命令行中与服务器进行数据传输的工具。它支持多种协议,包括HTTP、HTTPS、FTP等。使用 curl 可以方便地下载文件或与API进行交互。

  • wget:wget 是一个用于从网络上下载文件的命令行工具。它支持HTTP、HTTPS和FTP协议,能够在下载过程中自动处理重定向和断点续传。

接下来,你可以使用以下步骤将YUM源更换为阿里云的镜像源:

第一步:备份Centos-Base.repo这个源(更改后缀名.repo=>.repo.bak)
mv CentOS-Base.repo CentOS-Base.repo.bak

第二步:使用wget命令下载阿里云的镜像文件
wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
选项说明:
-O:指定文件下载的位置以及名称

第三步:清理YUM缓存
yum clean all

第四步:重新建立缓存(让新YUM源生效)
yum makecache

安装软件包

使用 yum install 命令可以安装软件包。

基本语法:

yum install 软件名称[选项]

选项:
-y:yes缩写,确认安装,不提示。 

 案例:使用yum命令安装vim编辑器。

yum install vim -y

 

卸载软件包

使用 yum remove 命令可以卸载软件包。

yum remove 软件名称[选项]

选项:
-y :yes缩写,确认卸载,不提示。

 案例:把firefox火狐浏览器进行卸载操作。

yum remove firefox -y

 

更新软件包

使用 yum update 命令可以更新软件包。

基本语法:

yum update 软件名称[选项]

选项:
-y :yes缩写,确认更新,不提示。

 案例:把vim编辑器进行更新操作。

yum update vim -y

查看已安装软件包

使用 yum list installed 命令可以查看已安装的软件包。

 yum list installed

清理缓存

使用 yum clean 命令可以清理缓存,释放空间。

yum clean all

源码安装的配置过程

http://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz

在Linux系统中,源码安装一共分为三步

第一步:配置过程(配置软件的安装路径)

第二步:编译过程(把软件由源代码编译成可以安装的程序)

第三步:安装过程(把编译后的程序进行安装)

./configure && make && make install

 yum install gcc

 yum install openssl-devel

配置过程(定制)

# cd 软件源码包
# ./configure [选项]
# ./configure --help

--prefix=... Directories to put files in [/usr/local] 软件家目录
--bindir=... $prefix/bin        命令的目录
--etcdir=... $prefix/etc        配置文件的目录 
            也可能安装到系统/etc目录下 (httpd => /etc/httpd/httpd.conf)
--mandir=... $prefix/share/man man    文档路径
--locale=... $prefix/share/locale    语言编码

----------
./configure --prefix=/opt/cmatrix

 

编译过程

make

目录中可以看到很多 .c .h 结尾的文件,这个意味着这些文件底层是基于c/c++语言开发,这些源代码编译就需要gcc。

在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。

编译过程需要一个gcc软件(开发工具)的支持!

安装过程

make install

将axel软件安装到/opt/axel目录下(下载软件,类似wget命令)

类似于windows中的迅雷等等软件,支持多线程下载

axel源码安装

第一步:获取axel多线程下载软件

第二步:上传axel软件包到Linux系统中

第三步:安装axel软件(源码安装三步走 --> 配置+编译+安装)

对软件进行解压缩操作

#tar -zxf axel-2.4.tar.gz

#tar -xf axel-2.4.tar.gz

tar -jxvf xx.tar.bz2

使用cd命令切换到axel目录中

# cd axe1-2.4

对axel软件进行配置

./configure --help

 设置axel软件的安装路径为/opt/axel

./configure --prefix=/opt/axel

对axel软件进行编译与安装

make
make install

make && make install
&&:逻辑与,如果make编译成功会立即执行右边的makeinstall安装程序,如果make编译失败,则以上程序会停止执行,然后抛出错误。

测试与使用

axel xx

bash: axel: 未找到命令...

 出现以上问题的主要原因在于:我们没有采用默认的安装方式,所以导致当我们执行axel命令时,其找不到对应的软件。

which axel

/usr/bin/which: no axel in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

解决命令无法访问问题

第一种方式:采用软链接形式(类似windows中的快捷方式)
第二种方式:使用环境变量(重要,Linux中的环境变量)

使用软链接解决

cd /opt/axel/bin

解决方案:给/opt/axel/bin/axel创建一个快捷方式到/usr/local/bin

基本语法:
ln -s 源文件路径 软链接路径
ln -s /opt/axel/bin/axel /usr/local/bin/axel

axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-Cent0S-7

使用环境变量解决

终端 => 命令 => 系统的环境变量(PATH=>/etc/profile)=> 一些命令的存放路径

axel多线程下载软件,通过源码的方式安装成功后,由于没有使用默认的安装路径,导致axel这个命令没有出现在系统的环境变量中,所以其会出现command not found。

查询当前系统的环境变量

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/rbot/bin

 把axel所在目录添加到环境变量

使用vim编辑/etc/profile文件,追加到最后一行

vim /etc/profile

export PATH=$PATH:/opt/axel/bin

source /etc/profile        =>        代表让以上配置立即生效

 使用echo命令向/etc/profile文件中追加一行
echo 'export PATH=$PATH:/opt/axel/bin' >> /etc/profile
source /etc/profile

 测试axel命令是否可以使用

axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-Cent0S-7

卸载源码安装的软件

第一步:进入到源码的安装包中
cd axel-2.4
make uninstall        =>    安装软件的安装包等程序
make distclean    =>    卸载编译与配置过程

第二步:删除软件的目录
rm -rf /opt/axel

本地YUM配置

使用光盘镜像作为YUM源仓库

下载很多软件,使用软件包作为YUM源仓库

使用光盘镜像作为YUM源仓库

第一步:在VMware系统中装在CentOS7.6系统的光盘镜像

第二步:把光盘挂载到某个目录下  

cd ~
rm -rf /mnt/*
mount -o ro /dev/sr0 /mnt
选项说明:
-o:挂载方式
    ro代表以readonly=>只读的方式进行挂载
    rw代表以read/write=>读写的方式进行挂载
    
#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  9.6G  0 rom  /mnt

卸载或解挂可以使用umount /mnt

第三步:把光盘挂载添加到开机启动文件中

chmod +x /etc/rc.local

echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local

/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件

第四步:编写本地YUM仓库文件

cd /etc/yum.repos.d/
创建一个以*.repo结尾的文件,名称任意

vim local.repo

[local]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1

注:file://本地协议路径,后面跟仓库的具体路径

yum clean all

yum makecache

yum repolist all

yum仓库的标准格式

[仓库标识名称],名称任意,在一个文件中可以拥有多个标识

name=仓库名称

baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或https://

gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥链接)

enabled=是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库

第五步:测试本地YUM仓库是否可用

yum install http -y

网络YUM源配置

网络YUM源的分类

使用比较知名平台的YUM源(阿里云、腾讯、清华)

有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源

使用知名平台的YUM源

阿里源:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

网易源:欢迎访问网易开源镜像站

搜狐源:Index of /

清华源:清华大学开源软件镜像站 | Tsinghua Open Source Mirror

腾讯源、华为源..

百度搜索 => 华为mirror镜像源

案例:配置阿里云的yum源

第一步:百度,搜索你想要的YUM源,进入官网,找到CentOS

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

第二步:根据官网提示,配置阿里云的YUM源

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

 

扩展:EPEL源配置

什么是EPEL源?

答:EPEL是对官网源的一个扩展。

CentOS-Base.repo文件 => 基础源(官方在带的YUM源)  

epel.repo文件 => 扩展源,是对官方YUM源的一个补充

 yum install eper-release -y

 比如:会跑的小火车就是在epel源中

yum install sl -y

sl

特定软件的YUM源配置

比如特殊的几个软件,如Nginx、MySQL、Zabbix

Nginx: nginx nginx:Linux 软件包

MySQL: https://www.mysql.com/

Zabbix: Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution

找到官方文档,把YUM源配置,写入到一下文件中(repo文件)

#cd /etc/yum.repos.d
#vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/Sreleasever/Sbasearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

 清理缓存:

yum clean all
yum makecache

安装nginx:

yum install nginx -y 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值