博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux_《Linux命令行与shell脚本编程大全》第九章学习总结
阅读量:7036 次
发布时间:2019-06-28

本文共 3417 字,大约阅读时间需要 11 分钟。

时间:2017年08月17日星期四

说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第九章学习总结

第九章:安装软件程序

本章内容

安装软件使用Debian包使用Red Hat包

9.1 包管理基础

各种主流Linux发行版都采用了某种形式的包管理系统(package management system,PMS)来控制软件和库的安装。

PMS利用一个数据库来记录各种相关内容

Linux系统上已经安装了什么软件包每个包安装了什么文件每个已安装软件包的版本

软件包存储在服务器上,可以利用本地Linux系统上的PMS工具它=通过互联网访问。这些服务器称为仓库(repository)。可以用PMS工具来搜索新的软件包,或者是更新系统上已安装软件包。

PMS工具及相关命令在不同的Linux发行版上有很大的不同。Linux中广泛使用的两种主要的PMS基础工具是dpkg和rpm。

Debian

基于Debian的发行版(如Ubuntu和Linux Mint)使用的是dpkg命令,这些发行版的PMS工具也是以该命令为基础的。dpkg会直接和Linux系统上的PMS交互,用来安装、管理和删除软件包。

Red Hat

基于Red Hat的发行版(如Efdora、openSUSE及Mandriva)使用的是rpm命令,该命令是其PMS的底层基础。类似于dpkg命令,rpm命令能够列出已安装包、安装新包和删除已有软件。

9.2 基于Debian的系统

命令:dpkg命令说明:基于Debian系统PMS工具的核心。

包含在这个PMS中的其他工具有

apt-get:搜索、安装、更新、删除软件包apt-cache:显示软件包的一些常规信息aptitude:常用命令。本质是apt工具和dpkg的前端

9.2.1 用aptitude管理软件包

命令:aptitude命令说明:进入aptitude的全屏模式,并查看已经安装包信息命令:q命令说明:退出查看安装包信息命令格式:aptitude show package_name命令说明:查看包package_name的详情

说明:aptitude show命令后面的package_name参数,如果该软件包还没有安装到系统上,则输出的软件包相关的详细信息自于软件仓库。

命令:dpkg命令说明:查看某个特定软件包相关的所有文件的列表命令格式:dpkg -L package_name命令说明:使用dpkg列出package_name软件包所安装的全部文件命令格式:dpkg --search absolute_file_name命令说明:使用绝对文件路径查找特定文件属于哪个软件包

9.2.2 用aptitude安装软件包

命令格式:aptitude search package_name命令说明:查找指定软件包命令格式:aptitude install package_name命令说明:从软件仓库中安装指定软件包

9.2.3 用aptitude更新软件包

命令格式:aptitude safe-upgrade命令说明:更新系统上所有的软件包

9.2.4 用aptitude卸载软件包

命令格式:aptitude remove package_name命令说明:只删除软件包而不删除数据和配置文件命令格式:aptitude purge package_name命令说明:删除软件包和相关的数据和配置文件命令格式:aptitude search package_name命令说明:查看软件包信息来验证是否已删除。如果软件包名称前面是    i:表示软件包已经安装到了系统上    v:表示软件包可用,但还没安装    c:表示软件已删除,但配置文件尚未从系统中清除    p:表示软件和配置文件也已删除

9.2.5 aptitude仓库

aptitude默认的软件仓库位置是在安装Linux发行版时设置的。具体位置存储在文件/etc/apt/sources.list中。

窍门:Linux发行版的开发人员下了大工夫,以保证添加到软件仓库的包版本不会互相冲突。通常通过库来升级或安装软件包是最安全的。即使在其他地方有更新的版本,也应该等到该版本出现在你的Linux发行版仓库中的时候再安装。

当需要给你的sources.list文件添加软件仓库时,通过软件仓库网站或者各种包开发人员网站上都会有一行文本,你可以直接复制,然后粘贴到sources.list文件中。最好选择比较安全的途径并且只复制和粘贴。

9.3 基于Red Hat的系统

基于Red Hat的系统也有几种不同的可用前端工具。

常见的有以下三种

yum:在Red Hat和Fedora中使用urpm:在Mandriva中使用zypper:在openSUSE中使用

9.3.1 列出已安装包

命令:yum命令说明:进行软件包管理命令格式:yum list installed命令说明:输出已安装的包命令格式:yum list installed > installed_software命令说明:输出的信息可能一闪而过,最好重定向到一个文件中命令格式:yum list xterm命令说明:查看xterm软件包的详细信息命令格式:yum list installed xterm命令说明:查看xterm软件包是否已包装命令格式:yum provides file_name命令说明:查找指定文件属于哪个软件包。    yum分别会查找三个仓库:base、updates和installed。

9.3.2 用yum安装软件

命令格式:yum install package_name命令说明:安装指定package_name的软件,安装软件包及需要的库以及依赖的其他包命令格式:yum localinstall package_name.rpm命令说明:使用本地安装,手动下载rpm安装文件并用yum安装

9.3.3 用yum更新软件

命令格式:yum list updates命令说明:列出所有已安装包的可用更新命令格式:yum update package_name命令说明:对指定package_name软件包进行更新命令格式:yum update命令说明:对所有软件包进行更新

9.3.4 用yum卸载软件

命令格式:yum remove package_name命令说明:只删除软件包而保留配置文件和数据文件命令格式:yum erase package_name命令说明:删除软件和它所有的文件

9.3.5 处理损坏的包依赖关系

有时在安装多个软件包时,某个包的软件依赖关系可能会被另外一个包的安装覆盖掉。这叫作损坏的包依赖关系(package dependency)。

命令格式:yum clean all命令说明:清理放错位置的文件命令格式:yum update命令说明:更加所有软件包命令格式:yum deplist package_name命令说明:显示软件包依赖关系命令格式:yum update --skip-broken命令说明:忽略依赖关系损坏的包,更新其他软件包

9.3.6 yum软件仓库

类似于aptitude系统,yum也是在安装发行版的时候设置的软件仓库。

窍门:坚持使用通过审核的仓库。通过审核的仓库是指该发行版官方网站上指定的库。如果你添加了未通过审核的库,就失去了稳定性方面的保证,可能陷入损坏的依赖关系惨剧中。

命令格式:yum repolist命令说明:查看软件仓库信息

9.4 从源码安装

命令格式:tar -zxvf package_name.tar.gz命令说明:解压安装包

使用make命令和make install命令安装。注:不同的Linux系统和软件包,安装方式可能不一致。

9.5 小结

本章讨论了如何用软件包管理系统(PMS)在命令下安装、更新或删除软件。本章介绍了aptitude、dpkg、yum命令。

本章学习命令个人总结如下

aptitude:基于Debian的系统进行软件管理dpkg:显示软件包所安装的全部文件yum:基于Red Hat的系统进行软件管理

转载地址:http://qwial.baihongyu.com/

你可能感兴趣的文章
Docker 之 LNMPA(Nginx + PHP + Apache + MySQL) 环境
查看>>
安装httpd2.4
查看>>
JPA(五)之实体关系多对多
查看>>
Zookeeper学习笔记-zookeeper介绍
查看>>
mysql学习笔记(4-通用二进制格式安装MariaDB)
查看>>
【Django入门与实践】课程系列第2篇
查看>>
Android APK 瘦身实践
查看>>
仿车轮社区图片切换效果
查看>>
执行计划的操作类型
查看>>
VTP配置实例
查看>>
heartbeat+nfs+apache(web)
查看>>
centos7改系统默认语言
查看>>
su和su -区别
查看>>
Debian系统学习笔记(4):时区时间
查看>>
sort命令用法
查看>>
【转】mdt wds部署windows Litetouch deployment failed, Return Code = -2147467259 0x80004005解决...
查看>>
使用SublimeText2写OSC博客
查看>>
C# 中datagridview控件的使用
查看>>
gson error
查看>>
安装Nginx
查看>>