Linux下软件安装

提示:制作不易,可以点个关注和收藏哦。


前言

介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用。


提示:以下是本篇文章正文内容,下面案例可供参考.

一、先体验一下

比如我们想安装一个软件,名字叫做w3m (w3m是一个命令行的简易网页浏览器),

w3m是个开放源代码的命令行下面的网页浏览器。一般的linux系统都会自带这个工具,可以通过它在命令行下面浏览网页。

* 显示帮助信息: 输入"H".

q 退出(需确认) Q 退出而不确认


那么输入如下命令:

这样的操作你应该在前面的学习中看到过很多次了,它就表示将会安装一个软件包名为w3m的软件

我们来看看命令执行后的效果:

注意 :如果你在安装一个软件之后,无法立即使用Tab键补全这个命令,你可以尝试先执行source ~/.zshrc,然后你就可以使用补全操作。


二、apt 包管理工具介绍

APT是Advance Packaging Tool(高级包装工具)的缩写,是Debian及其派生发行版的软件包管理器,APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。这个包管理器包含以 apt- 开头的多个工具,如 apt-get apt-cache apt-cdrom 等,在Debian系列的发行版中使用。

当你在执行安装操作时,首先apt-get工具会在本地 的一个数据库中搜索关于 w3m 软件的相关信息,并根据这些信息在相关的服务器上下载软件安装,这里大家可能会一个疑问:既然是在线安装软件,为啥会在本地的数据库中搜索?要解释这个问题就得提到几个名词了:

* 软件源镜像服务器 * 软件源

我们需要定期从服务器上下载一个软件包列表,使用 sudo apt-get update 命令来保持本地的软件包列表是最新的(有时你也需要手动执行这个操作,比如更换了软件源),而这个表里会有软件依赖 信息的记录,对于软件依赖,我举个例子:我们安装 w3m 软件的时候,而这个软件需要 libgc1c2 这个软件包才能正常工作,这个时候 apt-get 在安装软件的时候会一并替我们安装了,以保证 w3m 能正常的工作。


apt-get

apt-get是用于处理 apt 包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get 包含的常用的一些工具:

下面是一些apt-get 常用的参数:


安装软件包

关于安装,如前面演示的一样你只需要执行apt-get install <软件包名> 即可,除了这一点,你还应该掌握的是如何重新安装软件包。 很多时候我们需要重新安装一个软件包,比如你的系统被破坏,或者一些错误的配置导致软件无法正常工作。

你可以使用如下方式重新安装:

另一个你需要掌握的是,如何在不知道软件包完整名的时候进行安装。通常我们是使用Tab键补全软件包名,后面会介绍更好的方法来搜索软件包。有时候你需要同时安装多个软件包,你还可以使用正则表达式匹配软件包名进行批量安装。


软件升级


卸载软件

如果你现在觉得 w3m 这个软件不合自己的胃口,或者是找到了更好的,你需要卸载它,那么简单!同样是一个命令加回车sudo apt-get remove w3m ,系统会有一个确认的操作,之后这个软件便"滚蛋了"。

或者,你可以执行


软件搜索

当自己刚知道了一个软件,想下载使用,需要确认软件仓库里面有没有,就需要用到搜索功能了,命令如下:

apt-cache 命令则是针对本地数据进行相关操作的工具,search 顾名思义在本地的数据库中寻找有关softname1 softname2 ...... 相关软件的信息。现在我们试试搜索一下之前我们安装的软件 w3m ,如图:

结果显示了4个 w3m 相关的软件,并且有相关软件的简介。


三、使用 dpkg

接下来讲解如何使用 dpkg 从本地磁盘安装 deb 软件包


dpkg 介绍

dpkg 是 Debian 软件包管理器的基础,它被伊恩·默多克创建于 1993 年。dpkg 与 RPM 十分相似,同样被用于安装、卸载和供给和 .deb 软件包相关的信息。

dpkg 本身是一个底层的工具。上层的工具,像是 APT,被用于从远程获取软件包以及处理复杂的软件包关系。"dpkg"是"Debian Package"的简写。

我们经常可以在网络上见到以deb形式打包的软件包,就需要使用dpkg 命令来安装。


dpkg 常用参数介绍:


使用dpkg安装deb软件包

我们先使用apt-get加上**-d** 参数只下载不安装,下载emacs编辑器的deb包:

下载完成后,我们可以查看/var/cache/apt/archives/目录下的内容,如下图:

然后我们将第一个deb 拷贝到 /home/shiyanlou 目录下,并使用dpkg 安装

如你所见,这个包还额外依赖了一些软件包,这意味着,如果主机目前没有这些被依赖的软件包,直接使用dpkg安装可能会存在一些问题,因为dpkg并不能为你解决依赖关系。

跟前面预料的一样,这里你可能出现了一些错误:

我们将如何解决这个错误呢?这就要用到apt-get 了,使用它的**-f** 参数了,修复依赖关系的安装

用到apt-get了,使用它的-f参数了,修复依赖关系的安装

没有任何错误,这样我们就安装成功了,然后你可以运行emacs程序

运行emacs:

查看已安装软件包的安装目录:


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Linux下软件安装。

相关推荐
C.咖.3 分钟前
Linux 基础指令详解 —— 从入门到熟练
linux·服务器·指令·linux指令
minji...3 分钟前
Linux 网络基础(五)守护进程化,前后台进程组,作业,会话,setsid(),daemon(),端口号频繁更换问题
linux·运维·服务器·网络·c++·tcp/ip
剑神一笑4 分钟前
Linux du 命令深度解析:从磁盘占用统计到目录空间分析
linux·运维·前端
AOwhisky4 分钟前
Docker 学习笔记:从生态系统到镜像构建
linux·运维·笔记·学习·docker·容器
CoderMeijun6 分钟前
Linux 进程间通信:共享内存详解
linux·共享内存·进程间通信·ipc·shmget
坚持就完事了8 分钟前
Ubuntu和Centos中安装软件的命令
linux·ubuntu·centos
江湖有缘8 分钟前
Docker部署PortNote端口自动检测工具
运维·docker·容器
程序猿编码8 分钟前
Linux 高负载场景下 Web 服务访问日志极速定位工具实现解析(C/C++代码实现)
linux·服务器·c语言·前端·c++
CC城子9 分钟前
嵌入式Linux宕机问题GDB调试(二)
linux·gdb
2601_9552564710 分钟前
服务器入侵应急响应SOP:从发现挖矿病毒到安全加固的完整操作流程
服务器·chrome·安全