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:///
如:baseurl=http:///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