《Linux从入门到精通》之软件包及磁盘管理
管理.deb软件包:dpkg
这个软件包工具主要用于Debian和Ubuntu两个发行版本。这些软件包通常以.deb结尾。
dpkg.png
dpkg - i命令用于安装软件包。
所有软件包安装前都必须保证其所依赖的库和支持构造已经安装在系统中,否则会报错。当然也可以使用---force选项强制安装软件包,忽略一切依赖和兼容性,不过不建议使用此选项。
如果需要查询openssh版本信息时或查看系统中哪些文件是它带来的,可以使用以下命令。
dpkg提供了-r(--remove)来卸载已安装的程序包。
dpkg-r.png
注意:所卸载的软件包可能包含有其他软件所依赖的库和数据文件,因此在卸载前务必理清楚所有的依赖关系。
管理RPM软件包:rpm
rpm工具用于管理.rpm格式的软件包。通过-i选项安装一个软件包。-v选项用于显示rpm当前正在执行的工作,-h则打印当前的安装进度。"-i -v -h"等同于“-ivh”。
rpm.png
rpm -U命令用于升级软件包,用法与-i类似,可以结合-Uvh使用。
rpm -q命令可以查看当前系统已经安装的软件包,如果命令后加具体的软件包名称,则显示软件包版本,如果加-a则列出所有安装的软件包。也可以结合管道使用,查找自己想要的安装包“rpm -qa | grep xorg”。
rpm -e命令用于卸载软件包。卸载过程中存在依赖关系的话可以通过--nodeps选项继续卸载,不过一般不推荐使用。卸载选项提供了--test这个有用的命令,它模拟卸载软件包的全过程,并不是真正意义的卸载,选项-vv可以输出rpm完整的调试信息,语法为“rpm -e -vv --test 软件包名称”。
yum常用命令
语法:yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:操作的对象。
常用命令:
1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install <package_name>
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
高级软件包工具:APT
rpm和dpkg软件包管理器并不能有效解决依赖性问题,APT、yum等高级软件包工具应运而生。APT可以自动检测软件依赖性问题,下载和安装所有软件。常用的两个命令为apt-get和apt-cache,前者用于执行软件包的所有操作,后者用于查找软件包的相关信息。
在安装和更新软件包前,建议先运行apt-get update更新缓存中软件包的信息,其他常用的apt-get命令如下:
命令 | 描述 |
---|---|
apt-get install | 下载并安装软件包 |
apt-get upgrade | 下载并安装在本系统上已有软件包的最新版本 |
apt-get remove | 卸载特定软件包 |
apt-get source | 下载特定的软件源代码 |
apt-get clean | 删除所有已下载的包文件 |
更多命令可以使用“apt-get help”获取。
apt-get_help.png
apt-get操作软件包时,需要提供正确的软件包名称,apt-cache search命令可以搜索软件列表中特定的软件包。apt-cache depends可以列出软件包的所有依赖关系。
apt-cache.png
所有apt-get用于下载的地址(安装源)都放在 /etc/apt/sources.list 文本文件中。
压缩文件:gzip bzip2 rar
gzip命令会给被压缩文件加上一个“.gz”扩展名。要解压gz文件,可以使用gunzip或gzip -d命令。-l选项可以显示压缩前后的相关信息。
gzip.png
需要注意,gzip压缩后,生成了一个.gz文件而删除了原文件。
bzip2命令与gzip用法类似,但压缩效率比gzip更高。
rar命令压缩文件为.rar格式,加上-x命令可以解压缩.rar文件。
文件打包:tar
tar命令用于文件打包,下图用到了tar命令的3个选项,其中-c指导tar创建归档文件,v用于显示命令执行过程,f指定归档文件的文件名,最后一个参数指定了需要打包的文件或目录。和gzip、bzip2不同的是,tar不会删除原文件。
tar.png
tar命令提供了-w选项,用于每次将单个文件加入(或抽出)归档文件时征求用户的意见,输入y表示同意,n表示拒绝。
tar命令的-z选项会自动调用gzip完成相关的操作,-j选项用于调用bzip2程序。以下命令展现的结果是一样的。
$tar -czvf ftest1.tar.gz ftest1
等同于
$tar -cvf ftest1.tar ftest1
$gzip ftest1.tar
$tar -xzvf ftest1.tar.gz ftest1
等同于
$gzip -d ftest1.tar.gz
$tar -xvf ftest1.tar