linux之linux下载软件包



linux下载软件包

linux下只有两种软件包

    源码包(tar 压缩包,如有.tar.gz 和.tar.bz2) 二进制包(rpm) centos下 (除了rpm还有srpm,srpm 包为未编译过的 rpm 包,需要以 rpm 管理的方式编译,然后以 rpm 的安装方式安装)

RPM包操作

rpm 包是依赖 cpu 架构的,常见的格式

    noarch.rpm 不依赖于 CPU, 可以在所有计算机上安装 i386.rpm 基于 Intel 386 CPU,这些 RPM 包可以在所有 Intel 兼容计算机上安装 i486.r pm 用于带 Intel 486 CPU 的计算机(随时) i586.rpm 用于带 Intel 586 CPU 的计算机 i686.rpm 用于带 Intel 686 CPU 的计算机 ia64.rpm 用于带 Intel ltanium 64 位 CPU 的计算机 alpha.rpm 用于带 HP Alpha CPU 的计算机,最初是 DEC 公司开发的 nthlon.rpm 基于 AMD Athlon CPU ppc.rpm 用于带 Apple Powe rPC CPU 的计算机 s390.rpm 用于基于 S/390 CPU 的 IBM 服务器 sparc.rpm 用于带 Sun 系统公司 SPARC CPU 的计算机

rpm安装

rpm -ivh 包全名
-------
-i     install安装
-v     verbose显示详细信息
-h     显示安装进度

rpm包升级

rpm -Uvh  包全名
------
-U    升级安装

rpm包卸载

# 多个包的话,空格隔开
rpm -e 包名

rpm包查询

# 查询是否安装
rpm -q 包名

# 查询系统上所有安装的包
rpm -qa

# 查询软件包的文件列表
rpm -ql 包名

# 查询某个文件属于哪个包
rpm -qf 文件名

------------------
-i  info信息
-a  all所有
-l  list文件列表
-f  file文件

srpm 包的安装

源代码 RPM 包的结尾通常是.src.rpm

rpm -i 包名 

cd /usr/src/redhat/SPECS

# 编译完之后,/usr/src/redhat/RPM/i386/目录下,有一个新的 rpm 包,这个是编译好的二进制文件。
rpmbuild -bb 打出来的specs文件
# 安装
rpm -i 新的rpm包名

由于rpm安装软件包时比较麻烦,各个包之间的依赖需要去人工下载,所以一般使用yum来在线安装

yum安装软件包

yum的源配置文件保存在/etc/yum.repos.d文件夹中,默认使用的是CentOS-Base.repo

我在使用系统自带的yum源文件时发现无法访问那些网站,所以去找了个搜狐的镜像源,将原本的baseurl的前半部分换为http://mirrors.sohu.com/ 如:baseurl=http://mirrors.sohu.com/centos/ r e l e a s e v e r / o s / releasever/os/ releasever/os/basearch/

查询

# 查询yum源服务器上的所有软件包
yum list

# 查询是否包含某个软件包
yum list 包名

yum search 关键字

安装

yum -y install 包名
-------
install  安装
-y  自动回答yes

升级

yum -y update 包名
-------
update  升级
-y  自动回答yes

卸载

yum remove 包名
卸载需要谨慎,会把依赖该包的所有包都卸载掉

软件组操作

yum grouplist

yum groupinfo

yum -y groupinstall 组名

源码包安装

首先下载源码包的压缩包,解压之后进入目录

第一步

先执行

./configure --prefix=安装到的目录位置

该命令使编译前检测系统环境是否符合安装要求,把系统环境的检测结果写入Makefile文件中,后续的安装过程都会依赖该文件。

第二步

如果检测成功,则继续执行

make

该命令的作用是调用gcc编译器,读取上述Makefile文件中的信息进行系统软件编译,编译是为了把源码程序转换成linux可执行的文件

第三步

如果编译出错执行

make clean

清空编译内容

如果编译没有出错,执行

make install

编译安装

卸载

make uninstall
经验分享 程序员 微信小程序 职场和发展