1、Linux中软件安装包的类型
DEB | RPM | bz2、gz、xz |
---|---|---|
Ubuntu linux | REDHAT | 需要源码安装需要编译 |
DEBlinux | centOS | 绿色软件直接用 |
fadora | ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译“”configure“” | |
Firefox-latest-x86_64.tar.bz2 绿色 |
注:rhel8只能使用绿色软件,源码编译软件和rpm软件
2、软件包的名称结构
查看CPU信息
less /proc/cpuinfo
3、rpm命令管理软件包
3.1安装软件
rpm -ivh packagename
例:
3.2查看软件安装位置
which softwarename
3.3查询软件和软件安装包
查询软件或包
rpm -q
查询包
rpm -qp
3.4查询安装包
当文件缺失时,可以通过路径查看软件包:
rpm -qf fileroute
例:
rpm -qf /usr/local/bin/qq
3.5查询软件安装文件列表
rpm -ql softname/packagename
注:也可以将查看包的命令
3.6查询配置文件
rmp -qc softwarename
例:
rpm -qc openssh-server
3.7查询说明
rpm -qd softwarename
例:
rpm -qd openssh-server
3.8查询软件信息
rpm -qi softwarename
rpm -q softwarename --info
3.9查询软件安装包信息
rpm -qi packagename
rpm -q packagename --info
3.10查询所有安装软件
rpm -qa
例:
3.11检验软件MD5校验码
rpm -Kv packagename
例:
(1)
(2)
3.12已安装软件在系统中的文件被修改信息
rpm -V softwarename
例
3.13卸载
rpm -e softwarename
rpm使用操作步骤总结:
4、本地软件仓库的搭建
4.1系统软件仓库的作用
- 在系统中对软件进行管理
- rpm命令是不能解决依赖关系的
- 如果需要软件在安装过程中自动解决依赖关系的
- 需要搭建系统软件仓库
4.2搭建方法
4.2.1在系统中加载安装系统时使用的安装镜像
mount /xxxx/rhel-8.0-x86_64-dvd.iso /xxxx
4.2.2编写软件仓库文件
(1)软件源指向文件配置目录
/etc/yum.repos.d/
注:在此目录中不能有无法访问的源指向
例:软件仓库指向文件
vim /etc/yum.repos.d/xxxx.repo
(2)
[AppStream] ##仓库名称
name=locate AppStream ##描述
baseurl=file:///useraf/AppStream/ ##地址
gpgcheck=0 ##不检测gpgkey(跳过授权检测)
gpgkey=file:etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enable=1
[BaseOS]
name=locate BaseOS
baseurl=file:///useraf/BaseOS/
gpgcheck=0
gpgkey=file:etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enable=1
4.2.3test
5、dnf软件管理命令
6、网络软件仓库的搭建
westos_linux 172.25.254.10
westos_node1 172.25.254.20
在westos_node1中已搭建好软件仓库
在westos_linux中是无法访问的
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样会浪费大量的资源
为了节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以利用网络访问资源
不需要在每一台主机中独立建立软件资源了
6.1搭建方法
(1)利用镜像搭建本地软件仓库(同上)
查看本地软件仓库是否搭建
dnf repolist
(2)安装共享软件
共享方式http:// | 超文本传输协议 |
---|---|
提供此协议的软件 | Apache |
软件包名称 | httpd |
共享位置 | /var/www/html |
安装命令 | 在node1安装:dnf install httpd -y |
注:
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 永久关闭防火墙`
getenforce #查看是否开启了SELinux
dnf repolist展示从远程服务器得到的软件库