共计 2429 个字符,预计需要花费 7 分钟才能阅读完成。
导读 | Linux 下是常规的软件安装方式除了二进制形式的软件分发,还有源代码形式的软件包,以下为两种式软件的安装与卸载方式 |
Linux 软件的二进制分发是指事先已经编译好二进制形式的软件包的分发形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件 / 操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
说明:RPM(RedHat Packge Manager)是 RedHat 公司出的软件包管理器,使用它可以很容易地对 rpm 形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净。*.rpm 是软件包的文件名(这里的 *.rpm 特指 *.src.rpm 以外的以 rpm 为后缀的文件);
rpm 常用参数:-ivh:安装显示安装进度 [install--verbose—hash]
-Uvh:升级软件包 [Update];-qpl:列出 RPM 软件包内的文件信息 [Query Package list];-qpi:列出 RPM 软件包的描述信息 [Query Package install package(s)];-qf:查找指定文件属于哪个 RPM 软件包 [Query File];-Va:校验所有的 RPM 软件包,查找丢失的文件 [View Lost];-e:删除包
说明:*.tar.gz/*.bz2 形式的二进制软件包是用 tar 工具来打包、用 gzip/bzip2 压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在目录中,则必须一一手动删除,想知道解压时向系统中安装了哪些文件,可以用命令“tar -ztvf *.tar.gz”/“tar -jtvf *.bz2”获取清单。tar 的参数 z 是调用 gzip 解压,x 是解包,v 是校验,f 是显示结果,j 是调用 bzip2 解压,t 是列出包的文件清单。
安装:tar -zxvf *.tar.gz 或 tar -jxvf *.bz2
卸载:手动删除
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh 等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少。
Linux 软件的源代码分发提供了软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,根据应用环境的不同进行编译安装。配置灵活,可以随意去掉或保留某些功能 / 模块,适应多种硬件 / 操作系统平台及编译环境,难度较大。
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm –rebuild *.src.rpm 命令将源代码编译并在 /usr/src/dist/RPMS 下生成二进制的 rpm 包,然后再安装该二进制包即可。packgename 如前所述,两种方法如下:
法 1:rpm -i your-package.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp your-package.specs #一个和你的软件包同名的 specs 文件
cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录
./configure #这一步和编译普通的源码软件一样,可以加上参数
make
make instal
法 2:rpm -i you-package.src.rpm cd /usr/src/redhat/SPECS #前两步和方法一相同
rpmbuild -bb your-package.specs #一个和你的软件包同名的 specs 文件
这时在 /usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是 i686,noarch 等等)在这个目录下,有一个新的 rpm 包,这个是编译好的二进制文件。rpm -i new-package.rpm 即可安装完成。
安装:tar -zxvf *.tar.gz 或 tar -jxvf *.bz2 先解压然后进入解压后的目录:配置:./configure
编译:make
安装:make install
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用 make uninstall 命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure –prefix= 目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的。
解压源码包:
[root@Mylinux ~]# tar -zxvf zip-2.3-27.tar.gz(或者 tar -jzxf zip-2.3-27.tar.bz2)进入已解压的源码包目录,进行安装:
[root@Mylinux ~]# cd zip-2.3-27
[root@Mylinux zip-2.3-27]# ./configure --prefix=.... && make && make install
卸载源码包:[root@Mylinux zip]# make uninstall
本文原创地址:https://www.linuxprobe.com/software-install-uninstall.html 作者:icespring 审核员:逄增宝