1、linux常见的安装软件方式
Linux下面的软件包格式为:rpm格式(红帽系列系统,Cent0S,麒麟系统)或deb格式(Debian,Ubuntu)
安装方式 | 举例 | 说明 | 应用场景 |
---|---|---|---|
yum/apt 方式 | 点外卖,缺啥少啥,外卖解决 | 通过网络下载软件包,替我们安装,如果有依赖自动下载依赖并安装。 自动. | 大部分场景,没有网络可以自建yum软件仓库,内网使用。 |
rpm/dpkg方式 | 半成品,缺啥少啥,自己解决 | 手动下载rpm包,手动安装rpm包,缺少依赖需要自己解决 | 没有网络,误删除软件包,依赖较少。 |
编译安装方式 | 自己做,缺啥少啥,自己解 | 可以自定义安装,比较漫长,缺少依赖自己解决 | 软件进行自定义,增加功能 |
二进制安装方式 | 点外卖+自取,缺啥少啥,自已解决(绿色软件免安装) | 类似于绿色软件,解压既用,可能需要准备环境,并非每个软件都有,一般是服务,数据库,k8s,promethues监控。 | 如果有可以选用,优先选择yum,没有那就选择二进制方式 |
2、rpm安装方式
rpm命令 | 选项及含义 |
---|---|
增加-安装 | -ivh xxx.rpm |
查看-检查 | -qa 查看软件包是否安装(query all) |
-ql 查看软件包内容 |
|
-qf 文件或命令绝对路径 文件或命令所归属的软件包 |
|
修改-升级 | -Uvh 升级软件包(如果软件包不存在,相当于ivh安装) |
删除 | -e 删除软件包 |
1)增加-安装rpm包
perl
#下载软件包
wget --no-check-certificate -P /server/tools/ https://*.com/.../*.rpm
wget下载指定内容,默认下载到当前目录
-P 下载到指定目录,目录不存在会创建
--no-check-certificate 下载地址https,加上这个选项
2)查询-检查安装
perl
#书写方法 利用管道+grep进行过滤 推荐
rpm -qa |grep zabbix
#不使用管道 直接写软件包的名字,全名不能出错
rpm -qa zabbix-agent2
#检查软件包的内容(已经安装)
rpm -ql 软件名
rpm -ql zabbix-agent2
# 查询某个命令或文件属于哪个软件包
[root@nanjing ~]# rpm -qf "$(pwd)"
filesystem-3.2-25.el7.x86_64
软件包不等同于命令。
一般情况下一个软件包中有1个命令,tree
,telnet
软件包。
更多情况中1个软件包下面可能有多个命令lrzsz(rz,sz)
3)修改-升级
bash
rpm -Uvh /server/tools/新软件.rpm
4)删除
删除对应的软件包(rpm安装或yum安装),其他方式(编译二进制)无法删除。
yum,rpm安装软件,删除软件的时候,建议通过rpm命令删除,非必须不推荐删除软件
rpm -e 软件包
3、yum安装方式
yum是软件包管理器,替我们下载rpm包,替我们安装
推荐安装 命令补全增强工具
yum install -y bash-completion bash-completion-extras
1)yum安装软件全流程
- yum命令:下载与安装软件包,配置文件
/etc/yum.conf
- yum仓库/源:存放软件包地方,配置目录
/etc/yum.repos.d/*.repo
repository
源
2)yum源配置
使用虚拟机(私有云),物理服务器需要配置yum源
如果使用公有云,则一般都是配置好的
ini
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
yum源配置文件详解 | |
---|---|
[base] | yum源名字 |
name= | 说明信息 |
baseurl= | yum源地址,打开后要看到repodata目录,这是yum配置的核心 |
enabled=1 | 是否开启是个yum源 |
gpgcheck=1 | 开启软件包检查,未来自建仓库可以关闭 |
gpgkey | 用于检查的秘钥,如果关闭检查gpgkey省略 |
那么我们应该如何配置yum源呢?我们以阿里云为例
bash
#1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#2、下载yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#3、下载增强yum源(企业增强包) https://developer.aliyun.com/mirror/epel
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
#4、刷新缓存
yum makecache
3)yum命令配置文件
未来在正式环境中几乎很少修改。未来也就是我们想把yum安装过的rpm包进行保存。
适用于把常用的rpm包安装后,留下缓存,这样就形成了一个自己的yum源。
修改/etc/yum.conf配置,找出keepcache行=0改为=1即可
keepcache
=0关闭缓存,软件下载安装后自动删除rpm包。
=1开启缓存,软件下载安装后保留rpm包。(自建yum源)
ini
[root@nanjing ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
测试重新安装即可
yum reinstall -y sl
4)yum命令详解
yum命令 | 格式和说明 |
---|---|
增 | yum insatll -y 软件 |
查 | yum provides 内容 |
yum search all 内容 | |
yum repolist 查看源地址 | |
删除 | yum remove 删除软件包和依赖 |
yum clean all 清除缓存 | |
改 | yum update/upgrade |
选项 | -y 遇到yes/no的时候选择yes |
a)增-安装软件
makefile
必会:yum install -y tree
-y表示提示是否安装,是否确认的时候默认选择yes
熟悉:重新安装软件包
yum reinstall -y tree
b)查-检查软件/搜索软件
less
必会:根据软件包内容
yum provides 命令或文件 找出这个命令或文件属于的软件包
#rpm -qf进阶版本,软件要已经安装
备用搜索命令
yum search all ifconfig
结果会很多。一个一个测试。
查看yum源信息
yum repolist
显示yum仓库中所有软件
yum list
c)删
尽量不要使用yum命令删除软件,删除的时候可能会把依赖删除掉
删除软件包yum remove
不推荐使用,remove会删除依赖,如果要删除推荐使用rpm -e
删除/情况本地缓存.
yum clean all
自建yum仓库需要使用,使用公有云一般不需要使用
d)改-升级
yum insatll 的时候安装或升级
专用更新的命令
yum update 或 yum upgrade,软件或命令有BUG或漏洞,需要更新下.
【必备】那些年想用缺没装的软件(Linux必备工具及软件包名称)
kotlin
tree vim wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect