Linux - 软件安装管理(上)

简介: Linux - 软件安装管理(上)

一、软件包管理简介

软件包分类:
1、源码包 //脚本安装包
❶源码包优点:
①开源,如果有足够的能力,可以修改源代码;
②可以自由选择所需的功能;
③软件是编译安装,所以更加适合自己的系统,更加稳定、效率更高;
④卸载方便。
❷源码包缺点:
①安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;
②编译过程时间较长,安装比二进制安装时间长;
③因为是编译安装,安装过程中一旦报错新手很难解决。

❸脚本安装包:
所谓的脚本安装包,就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行脚本实现一键安装。但实际安装的还是源码包和二进制包
①优点:安装简单、快捷;
②缺点:完全丧失了自定义性。

2、二进制包(RPM包)
❶二进制包的优点:
①包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
②安装速度比源码包安装快的多。
❷二进制包的缺点:
①经过编译,不再可以看到源代码;
②功能选择不如源码包灵活;
③依赖性。

二、Linux中rpm包命名规则

1、RPM包的来源:所有RPM包都在系统光盘的Packages目录中
2、RPM包命名规则:软件包名-软件版本-软件发布的次数-适合的Linux平台-适合的硬件平台-包扩展名
3、RPM包依赖性:
a、树形依赖:a->b->c 解决方法:从后往前安装
b、环形依赖:a->b->c->a 解决方法:放在一条命令中安装即可
c、模块依赖:库文件依赖,库也叫模块,就是linux当中的函数,它有一个典型的特征,就是以【.so.数字】结尾,它依赖的其实是一个文件,而不是软件包。该文件藏身在某一个软件包当中。我们只要将该文件所在的软件包安装上,该文件也就安装了。解决方法:登录www.rpmfind.net网站,输入库文件名称查询到对应的rpm包,然后安装即可。

4、yum在线安装:可以方便的解决依赖文件,一条命令就可以帮用户从网上(本地也可以)找到安装包进行安装。
注:RedHat的yum是收费服务,而CentOS的yum是免费服务。

三、Linux中rpm命令管理之安装命令

(1)包全名与包名
* 包全名:操作的包是没有安装的软件包时,使用包全名,而且注意路径。
* 如:/mnt/cdrom/Packags/zlib-devel-1.2.3.-27.e16.i686.rpm
* 包名:操作已经安装的软件包时,使用包名,搜索/var/lib/rpm/中的数据库。
* 如:zlib-devel
(2)RPM安装
* rpm -ivh 包全名
* -i (install) 安装
* -v (verbose) 显示详细信息
* -h (hash) 显示进度
* --nodeps 不检测依赖性(欺骗自己的操作)
笑死,安个包真的能忘了一开始安装的是哪个。

四、Linux中rpm命令管理之升级与卸载

1、升级命令
rpm -Uvh 包全名(要升级到的软件版本),如果没有安装这个软件的任何版本,这个命令可以代替rpm -ivh。
2、卸载命令
rpm -e 包名(比如Httpd,不需要包全名),这个命令不同于安装和升级,它可以在任何目录运行,原理是去/var/lib/rpm目录中的数据库(如__db0)中查找对应的软件包(已经安装过的rpm包都在这些数据库中),然后卸载。
3、--nodeps这个选项不管是在安装和卸载的时候,最好都不要使用。
4、rpm安装包安装的位置是由软件包开发者决定的,安装后的位置会非常凌乱,所以最好是使用rpm -e命令卸载。
Ps:相对于二进制安装,源码安装是指定安装目录了,卸载的时候只需要删除对应的目录就可以完全的卸载,不留一点残余。

五、Linux中rpm命令管理之RPM包查询

1) 查询是否安装
1-1) rpm -q 包名
# 查询包是否安装
1-1-1) -q (query) : 查询
1-2) rpm -qa
# 查询所有已经安装的RPM包
# rpm -qa | grep httpd : grep 后跟正则表达式, find 后跟通配符
1-2-1) -a (all) : 所有

2) 查询软件包详细信息
2-1) rpm -qi 包名
2-1-1) -i (infomation) : 查询软件信息
2-2) rpm -qip 包全名
2-2-1) -p (package) : 查询未安装报信息
# 有时遇到问题, 可根据未安装包信息中所提供的网站进行查询资料

3) 查询包中文件安装位置
3-1) rpm -ql 包名
3-1-1) -l (list) : 列表
3-1-2) -p (package) : 查询未安装包信息
# 可查看包作者欲将包安装的位置

4) RPM 包默认安装位置

5) 查询系统文件属于哪个 RPM 包
5-1) rpm -qf 系统文件名
# 该文件必须是通过 RPM 包安装的,否则查不到对应的位置
5-1-1) -f (file) : 查询系统文件属于哪个软件包

6) 查询软件包的依赖性
6-1) rpm -qR 包名
6-1-1) -R (requires) : 查询软件包的依赖性
6-1-2) -p (package) : 查询未安装包的信息

目录
相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
38 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
36 1
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
37 0
|
27天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
60 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
52 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
33 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
37 2
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
40 0
|
14天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
8天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
101 2