资讯专栏INFORMATION COLUMN

Linux_《Linux命令行与shell脚本编程大全》第九章学习总结

ideaa / 1380人阅读

摘要:命令行与脚本编程大全第三版第九章学习总结第九章安装软件程序本章内容安装软件使用包使用包包管理基础各种主流发行版都采用了某种形式的包管理系统,来控制软件和库的安装。工具及相关命令在不同的发行版上有很大的不同。本章介绍了命令。

时间: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的系统进行软件管理

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10245.html

相关文章

  • Linux_Linux命令行与shell脚本编程大全》第十九章学习总结

    摘要:命令行与脚本编程大全第三版第十九章学习总结第十九章初识和本章内容学习编辑器编辑器入门编辑器基础文本处理编辑器编辑器被称作流编辑器,和普通的交互式文本编辑器恰好相反。编辑器可以根据命令来处理数据流中的数据。 时间:2017年12月07日星期四说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)...

    justjavac 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第十四章学习总结

    摘要:命令行与脚本编程大全第三版第十四章学习总结第十四章处理用户输入本章内容传递参数跟踪参数移动变量处理选项将选项标准化获取用户输入命令行参数读取参数会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数。 时间:2017年09月19日星期二说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版...

    王晗 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第六章学习总结

    摘要:环境变量定义了用于进行命令和程序查找的目录。全局环境变量可以在对其作出定义的父进程所创建的子进程中使用。本章学习命令个人总结如下显示全局变量显示全局变量显示局部变量全局变量及用户自定义变量导出为全局环境变量删除环境变量 时间:2017年07月31日星期一 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程...

    Kerr1Gan 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第二章学习总结

    摘要:控制台终端进入的一种方式是让系统退出图形化桌面模式,进入文本模式。它们分别是和,通常都会默认安装在发行版中。命令行参数的命令行参数非常多。小结为了着手学习命令行,得先能访问命令行。 时间:2017年04月05日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第二章学习总结 第二章:走进...

    tuniutech 评论0 收藏1
  • Linux_Linux命令行与shell脚本编程大全》第一章学习总结

    摘要:命令行与脚本编程大全第三版第一章学习总结第一章初识本章内容什么是内核的组成探索桌面了解发行版什么是分为以下四部分内核工具图形化桌面环境应用软件深入探究内核系统的核心是内核。 时间:2017年04月05日 说明:本文部分内容均摘取自书籍《Linux命令行与shell脚本编程大全》,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第一章学习总结 第一章:初识Linu...

    bawn 评论0 收藏1

发表评论

0条评论

最新活动
阅读需要支付1元查看
<