该文章linux知识点如下
1.linux中 软件包介绍
2.linux源码软件安装
3.linux二进制软件安装
4.linux rpm软件包管理
5.linux yum软件包管理
1.linux中 软件包介绍
一般分为三种 【1】二进制格式软件包 【2】源码格式软件包 【3】脚本安装包
1.1 二进制包(RPM包,系统默认包)
优点:包管理系统简单,只需要几个命令就可以实现安装、升级、查询、下载。 安装速度比源码包快得多
缺点:【1】经过编译不再可以看到源代码。 【2】功能选择不如源码包灵活 【3】有依赖性(依赖别的软件包)
1.1.1 RPM包安装
rpm -ivh 包全名
-i(install) 安装,-v(verbose) 详细信息 ,-h(hash) 进度,-nodeps不检测依赖性,-force强制安装
1.1.2 RPM升级与卸载
rpm -Uvh 包全名 // -u(upgrade) 升级
rpm -e 包名 // -e(erase) 卸载,-nodeps不检测依赖性
1.1.3 RPM查询
rpm -q 包名
-q name :查询,-qa查询所有已安装的,-qi name 查询软件详细信息,
-ql httpd 显示列表,-qf path :查询一个文件属于哪个包,-qp 包名:查文件是什么
//查询系统文件属于哪个RPM包
rpm -qf 系统文件名 (-f查询系统文件属于哪个软件包)
//查询软件包的依赖性
rpm -qR 包名 (-R 查询软件包的依赖性,-p查询未安装包信息 rpm -qRp 包全名)
//RPM校验:rpm -V 包名
1.1.4 RPM包默认安装位置
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序锁使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
RPM包可以指定安装位置(但不推荐),RPM包安装目录到处都是(由包制作者决定)。
1.1.5 RPM包依赖问题
(1)模块依赖(库依赖):查询网站:www.rpmfind.net
案例:如果安装一个rpm包,提示报错,说是如果要安装此文件,就要先安装XXX。这个时候就会出来具体的包名称信息。
复制包的名称,然后去www.rpmfind.net搜索。
1.1.6 YUM在线管理
yum可以安装和卸载rpm包,但不能查询和校验rpm包,可以配置本地和网络源
常用yum命令
yum list | 查询所有可用软件包列表 |
yum search 关键字 | 搜索服务器上所有和关键字相关的包 |
yum -y install 包名 | 安装包 |
yum -y update 包名 | 升级(慎用) |
yum -y remove 包名 | 卸载包,移除包 |
yum clean all | 清楚yum源缓存 |
yum grouplist | #列出所有可用的软件组列表 |
yum groupinstall 软件组名 | 安装指定软件组,组名可以有grouplist查询 |
yum groupremove 软件组名 | 卸载指定软件组 |
1.2源码包
一般为 *.src.rpm、*.tar.gz/*.tgz、*.bz2
优点:【1】如果有足够的能力,可以修改源代码。
【2】可以自由选择所需要的功能。
【3】软件是编译安装,所以更加适合自己的系统,更加稳定效率更高。
【4】卸载方便。
缺点: 【1】安装过程步骤较多,尤其安装比较大的软件集合时,容易出现拼写错误
【2】编译过程时间较长,安装比二进制时间长
【3】因为是编译安装,安装过程中报错新手难以解决
1.2.1 源码包的安装(*.tar.gz/*.tgz、*.bz2)
【1】安装准备
(1)安装C语言编译器(因为源码包是C语言写的) (2)下载源码包
【2】安装注意事项
源代码保存位置:/usr/local/src/
软件安装位置: /usr/local/
如何确定安装过程报错: --安装过程停止 --并出现error,warning,或no的提示
【3】源码包安装过程(以apache2安装来演示)
(1)下载源码包
(2)解压缩下载的源码包
(3)进入解压缩目录
(4)然后执行一个 ./configure(软件配置与检查定义需要的功能选项,检查系统环境是否符合安装要求,把定义好的功能选项和检测系统环境的信息都写入makefile文件,用户后续的编辑。)
示例: ./configure --prefix=/usr/local/apache2 (指定安装路径在什么地方)
(5)make编译成二进制文件(此时/usr/local/apache2下没有安装文件)--安装出错时,可以make clean让安装环境clean~
(6)make install(执行此命令后,才在/usr/local/apache2下安装文件),到这里就安装好了
(7)到(6)就好了,然后我们直接去我们(4)中执行的软件安装位置去找到我们的软件,启动就好 /usr/local/apache2/bin/apachectl start
【4】源码包的卸载过程
make uninstall 或 手动删除
1.2.2 源码包安装(*.src.rpm)
安装:rpm -rebuild *.src.rpm
源码编译生成二进制文件,路径:cd /usr/src/dist/RPMS
到路径下找到自己需要的二进制包直接安装:rpm -ivh *.rpm
说明:rpm --rebuild *.src.rpm 命令将月代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
1.2.3 脚本包安装
实际安装的还是源码包和二进制包,只是把安装步骤携程脚本,让初学者可以一键安装
优点:对初学者来说简单快捷
缺点:失去了自定义性 。 比如:安装./java16.bin 或 ./install.sh 卸载:根据说明执行脚本或删除相应的目录。