(一)Linux应用软件的安装包
- 常用的三种类型:tar、rpm、deb
- tar包,它是使用UNIX系统的打包工具tar打包的
- rpm包,它是Redhat Linux提供的一种包封装格式
- deb包,它是Debain Linux提供的一种包封装格式
- 分别举例:
- 如 software-1.2.3-1.tar.gz(其他后缀
.tar.gz、tar.Z、tar.bz2、.tgz
) - 如 software-1.2.3-1.i386.rpm
- 如 software-1.2.3-1.deb
- 如 software-1.2.3-1.tar.gz(其他后缀
- 包命名规则:
- 名称-版本-修正版-类型
(二)类型详解
1、tar包:
- 基本定义:
- 命令:“
tar -参数
”
- 命令:“
- 包管理工具** **
- 支持 tar 包
- tar常用命令
- 压缩:
tar -jcv -f filename.tar.bz2
要被压缩的文件或目录名称 - 查询:
tar -jtv -f filename.tar.bz2
- 解压缩:
tar -jxv -f filename.tar.bz2 -C
欲解压缩的目录
2、rpm包:
- 基本定义:
- 命令:“
rpm -参数
”
- 命令:“
- 包管理工具** yum**
- 支持 tar 包
- rpm常用命令
- 安装:
rpm –ivh 软件包名.rpm
- 卸载:
rpm –e 软件名
(注意使用的是软件名,而不是软件包名)- 例如,要卸载
software-1.2.-1.i386.rpm
这个包时,应执行:#rpm -e software
- 例如,要卸载
- 查询:
rpm –qa ‘软件包名’
-
rpm命令主要参数(这些参数可以同时采用):
-
-i
安装软件 -
-t
测试安装,不是真的安装 -
-p
显示安装进度 -
-f
忽略任何错误 -
-U
升级安装 -
-v
检测套件是否正确安装 -
-q
使用询问模式,当遇到任何问题时,rpm指令会先询问用户
-
3、deb包:
- 基本定义:
- 命令:“
dpkg -参数
”
- 命令:“
- 包管理工具 apt-get
- 支持 tar 包
- dpkg命令
- 安装:
dpkg –i 软件包名.deb
- 卸载:
dpkg –e 软件名
- 查询:
dpkg –l ‘软件包名’
(三)比较
- 一种是可执行文件,也就是解开包后就可以直接运行的(在Windows中所有的软件包都是这种类型)
- 另一种是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件
- 用
tar
打包的,都是源程序 - 用
rpm、dpkg
打包的则常是可执行程序
(四)常用命令
常用tar | 描述 |
---|---|
tar -cvf log.tar log2012.log | 仅打包,不压缩! |
tar -zcvf log.tar.gz log2012.log | 打包后,以 gzip 压缩 |
tar -jcvf log.tar.bz2 log2012.log | 打包后,以 bzip2 压缩 |
常用rpm | 描述 |
---|---|
rpm -ivh your-package.rpm | 安装rpm软件包 |
rpm -i --force --nodeps | 强制安装(可以忽略所有依赖关系和文件问题,什么包都能安装上) |
rpm -e proftpd | 卸载rpm软件包 不可以有后缀.rpm |
rpm -e --nodeps | 强制卸载 |
常用dpkg | 描述 |
---|---|
dpkg -i package.deb | 安装包 |
dpkg -r package | 删除包(移除式卸载) |
dpkg -P package | 删除包(包括配置文件)(清除式卸载) |
常用yum | 描述 |
---|---|
yum install | 全部安装 |
yum install package1 | 安装指定的安装包package1 |
yum update | 全部更新 |
yum update package1 | 更新指定程序包package1 |
yum remove erase package1 | 删除程序包package1 |
常用apt-get | 描述 |
---|---|
sudo apt-get install package | 安装包 |
sudo apt-get install package --reinstall | 重新安装包 |
sudo apt-get -f install | 修复安装 |
sudo apt-get remove package | 删除包(移除式卸载) |
sudo apt-get remove package -- purge | 删除包,包括删除配置文件等(清除式卸载) |
sudo apt-get update | 更新源 |
(五)不常用命令
不常用tar | 描述 |
---|---|
tar -ztvf log.tar.gz | 查阅上述tar包内有哪些文件 |
tar -zxvf /opt/soft/test/log.tar.gz | 将tar包解压缩 |
tar -zxvf /opt/soft/test/log30.tar.gz log2013.log | 只将tar内的部分文件解压出来 |
tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log | 文件备份下来,并且保存其权限 |
tar -N "2012/11/13" -zcvf log17.tar.gz test | 在文件夹当中,比某个日期新的文件才备份 |
tar --exclude scf/service -zcvf scf.tar.gz scf/* | 备份文件夹内容是排除部分文件 |
不常用rpm | 描述 |
---|---|
rpm -qa | 讲列出所有安装过的包 |
rpm -qa I grep sql | 查找所有安装过的包含某个字符串sql的软件包 |
rpm -q mysql | 得某个软件包的文件全名 |
rpm -ql 包名 | 可执行程序的位置(which mysql) |
• rpm -qlp .rpm | 一个没有安装过的软件包包含那些文件 |
rpm -ql .rpm | 一个已经安装过的软件包包含那些文件 |
rpm -qf which 程序名
|
返回软件包的全名 |
rpm -qif which 程序名
|
返回软件包的有关信息 |
rpm -qlf which 程序名
|
返回软件包的文件列表 |
不常用dpkg | 描述 |
---|---|
dpkg -L package | 列出与该包关联的文件 |
dpkg -l package | 显示该包的版本 |
dpkg --unpack package.deb | 解开deb包的内容 |
dpkg -S keyword | 搜索所属的包内容 |
dpkg -l | 列出当前已安装的包 |
dpkg -c package.deb | 列出deb包的内容 |
dpkg --configure package | 配置包 |
不常用yum | 描述 |
---|---|
yum check-update | 检查可更新的程序 |
yum upgrade package1 | 升级指定程序包package1 |
yum groupupdate group1 | 升级程序组group1 |
yum info package1 | 显示安装包信息package1 |
yum list | 显示所有已经安装和可以安装的程序包 |
yum list package1 | 显示指定程序包安装情况package1 |
yum groupinfo group1 | 显示程序组group1信息 |
yum search string | 根据关键字string查找安装包 |
yum groupremove group1 | 删除程序组group1 |
yum deplist package1 | 查看程序package1依赖情况 |
yum clean packages | 清除缓存目录下的软件包 |
yum clean headers | 清除缓存目录下的 headers |
yum clean oldheaders | 清除缓存目录下旧的 headers |
不常用apt-get | 描述 |
---|---|
sudo apt-get upgrade | 更新已安装的包 |
sudo apt-get dist-upgrade | 升级系统 |
sudo apt-get dselect-upgrade | 使用dselect 升级 |
apt-cache depends package | 了解使用依赖 |
apt-cache rdepends package | 是查看该包被哪些包依赖 |
sudo apt-get build-dep package | 安装相关的编译环境 |
apt-get source package | 下载该包的源代码 |
sudo apt-get clean && sudo apt-get autoclean | 清理无用的包 |
sudo apt-get check | 检查是否有损坏的依赖 |