linux下载软件包
linux下只有两种软件包
-
源码包(tar 压缩包,如有.tar.gz 和.tar.bz2) -
二进制包(rpm) centos下 (除了rpm还有srpm,srpm 包为未编译过的 rpm 包,需要以 rpm 管理的方式编译,然后以 rpm 的安装方式安装)
RPM包操作
rpm 包全称为Redhat Package Manager,是依赖 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 显示安装进度
--force 强制安装,即使覆盖其他包的文件也要安装
--nodeps 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
rpm包升级
rpm -Uvh 包全名
------
-U 升级安装
rpm包卸载
# 多个包的话,空格隔开
rpm -e 包名
rpm包查询
# 查询是否安装
rpm -q 包名
# 查询包的相关信息
rpm -qi 包名
# 查询系统上所有安装的包
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来或者apt在线安装,可以进行自动检测软件依赖问题
高级安装
yum安装软件包
yum的源配置文件保存在/etc/yum.repos.d文件夹中,默认使用的是CentOS-Base.repo,yum是Redhat所特有的安装RPM程序包的工具,在使用RPM安装某一个程序包时可能会因为该程序包依赖另一个程序包而无法安装,yum可以连同依赖的程序包一起安装
我在使用系统自带的yum源文件时发现无法访问那些网站,所以去找了个搜狐的镜像源,将原本的baseurl的前半部分换为http:///
如:baseurl=http:///centos/ 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 组名
apt安装软件包
apt全称Advanced Package Tool,一般使用两个命令,apt-get:用于执行和软件包安装有关的所有操作;apt-cache:用于查找软件包的相关信息
下载安装
# 更新当前apt-get缓存中的软件包信息,安装前执行该命令以保证获得的软件包是最新的
apt-get update
# 安装软件包
apt-get install 包名
#获取软件源代码
apt-get source 包名
卸载
# 卸载特定的软件包
apt-get remove 包名
# 删除所有已下载的包文件
apt-get clean
查询
# 搜索软件包列表中的特定的软件包,可以搜索所有该字的软件包
apt-cache search 部分包名
# 列出软件包的依赖关系
apt-cache denpens 包名
安装源
apt的安装源都在/etc/apt/sources.list
中
deb http:///ubuntu/ xenial main restricted universe multiverse
deb-src http:///ubuntu/ xenial main restricted universe multiverse
源码包安装
首先下载源码包的压缩包,解压之后进入目录
第一步 配置
先执行
./configure --prefix=安装到的目录位置
该命令使编译前检测系统环境是否符合安装要求,把系统环境的检测结果以及用户提供的相关参数生成赌赢的Makefile文件,后续的安装过程都会依赖该文件。
第二步 编译
如果检测成功,则继续执行
make
该命令的作用是调用gcc编译器,读取上述Makefile文件中的信息进行系统软件编译,编译是为了把源码程序转换成linux可执行的文件
第三步 安装
如果编译出错执行
make clean
清空编译内容
如果编译没有出错,执行
make install
编译安装
卸载
make uninstall