Linux终端生存指南 软件管理(linux系统终端)

这是一系列基础命令的集合,我会从使用角度介绍,看完这些以后你能够在Linux终端下完成大部分之前需要鼠标和键盘才能完成的操作。

今天是第三篇,介绍Linux下软件管理。

  • 软件包管理
  • 软件源切换
  • 软件安装和卸载
  • 软件升级

软件包管理

Windows我们下载软件常见的动作是:1、百度搜索一个安装包,然后一直点击“下一步”,直到完成安装,桌面出现对应的软件的图标完成;2、下载一个包含运行文件的压缩包,解压出来以后,双击运行文件运行即可。

Linux下也有几种软件包,我觉得主要分为2种:一种是源码安装包;另一种是二进制软件包。

源码安装包是你直接可以下载到软件的源代码,自己编译属于自己系统的运行软件。

二进制安装包是可以直接在电脑上运行并安装成软件的安装包,和Windows下的安装包很相似,我们前面的文章介绍过Ubuntu安装edge浏览器和Chrome浏览器,下载的deb安装包就是这种的。当然Linux下也有可以直接运行的二进制软件,只不过它没有像Windows的EXE那样一个固定的后缀名。

Linux下软件包管理工具比较多,最常用到的是deb和rpm这两种。

deb是Debian系统的软件包管理工具,而Ubuntu正好是Debian的分支系统,Debian本身也是一个发行版,感兴趣可以自己去看一下,除了Ubuntu还有很多基于Debian的发行版系统,你在使用一个Linux发行版的时候可以关注一下。deb软件包管理的基础命令是apt和dpkg

rpm是Redhat系统的软件包管理工具,基于Redhat发行版的Linux发行版系统一般就是用这个作为软件管理工具,如CentOSFedora系统都是Redhat的分支系统。rpm使用yum命令进行进行软件管理。

我们后面的内容还是基于Ubuntu系统的apt命令介绍的,yum命令的用法类似,了解了软件管理的基本原理后,可以自己去查一下相关的命令参数即可使用。

软件源切换

虽然我并不想在这一篇文章介绍软件包管理的原理,但是对于软件源的理解我必须简单介绍一下。

deb的软件包管理采用集中仓库管理的方式,类似于App Store的管理方式,远程的一个用用服务器上面存储着我们前面讲的软件包。

Linux系统向应用商店服务器请求一个应用列表清单在本地,我们就知道了我们支持安装哪些应用。

同时远程应用商店的应用如果更新了或者增加了,本地这个清单是可以更新的,这样我们又知道了哪些软件可以更新和新支持了。

而远程的应用服务器的地址就是软件源,Linux有很多的软件源。

Ubuntu是国外的系统,默认的软件源也在国外或者采用国内转国外的方式,所有经常出现国内安装了Ubuntu以后下载软件非常慢或者直接就不能信下载的情况,这种情况我们就可以更换一下系统的软件源,更换为国内的软件源,下载速度就正常了。

Ubuntu更换软件源可以图像化操作,打开系统一个叫“软件与更新”的应用,可以看到一个“下载自”的单选框,这里就可以设置Ubuntu的软件源。

Linux终端生存指南 软件管理(linux系统终端)

软件和管理

推荐在选择界面让Ubuntu自动选择最优的服务器地址,这样Ubuntu会依次测试记录的中国服务器,并向你推荐速度最快的。

下面介绍通过命令行的方式修改软件源为阿里的服务器:

  • 查看版本代号

ubuntu@ubuntu-virtual-machine:/etc/apt$ lsb_release -cCodename: focal

  • 修改sources.list文件

ubuntu@ubuntu-virtual-machine:/etc/apt$ sudo mv sources.list sources.list.bkubuntu@ubuntu-virtual-machine:/etc/apt$ sudo vi /etc/apt/sources.listubuntu@ubuntu-virtual-machine:/etc/apt$ cat /etc/apt/sources.list# 将下面的内容写入文件中,注意代号与你在第一步查到的代号一致deb <http://mirrors.aliyun.com/ubuntu/> focal main multiverse restricted universedeb <http://mirrors.aliyun.com/ubuntu/> focal-backports main multiverse restricted universedeb <http://mirrors.aliyun.com/ubuntu/> focal-proposed main multiverse restricted universedeb <http://mirrors.aliyun.com/ubuntu/> focal-security main multiverse restricted universedeb <http://mirrors.aliyun.com/ubuntu/> focal-updates main multiverse restricted universedeb-src <http://mirrors.aliyun.com/ubuntu/> focal main multiverse restricted universedeb-src <http://mirrors.aliyun.com/ubuntu/> focal-backports main multiverse restricted universedeb-src <http://mirrors.aliyun.com/ubuntu/> focal-proposed main multiverse restricted universedeb-src <http://mirrors.aliyun.com/ubuntu/> focal-security main multiverse restricted universedeb-src <http://mirrors.aliyun.com/ubuntu/> focal-updates main multiverse restricted universe

  • 获取软件列表

ubuntu@ubuntu-virtual-machine:/etc/apt$ sudo apt update# 耐心等待执行完毕

至此,软件源就修改OK了。

软件安装和卸载

apt命令

我以VIM软件为例子给大家介绍apt命令怎么安装和卸载软件,其他的软件类似。

软件操作的命令一般都需要管理员权限运行,所以apt前请加sudo,并输入用户密码。

  • 安装

命令格式 :apt install soft_name

ubuntu@ubuntu-virtual-machine:/etc/apt$ vimCommand 'vim' not found, but can be installed with:sudo apt install vim # version 2:8.1.2269-1ubuntu5.7, orsudo apt install vim-tiny # version 2:8.1.2269-1ubuntu5.7sudo apt install vim-athena # version 2:8.1.2269-1ubuntu5.7sudo apt install vim-gtk3 # version 2:8.1.2269-1ubuntu5.7sudo apt install vim-nox # version 2:8.1.2269-1ubuntu5.7sudo apt install neovim # version 0.4.3-3ubuntu@ubuntu-virtual-machine:/etc/apt$ sudo apt install vim正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成建议安装: ctags vim-doc vim-scripts下列【新】软件包将被安装: vim升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 85 个软件包未被升级。需要下载 1,238 kB 的归档。解压缩后会消耗 3,112 kB 的额外空间。获取:1 <http://mirrors.aliyun.com/ubuntu> focal-security/main amd64 vim amd64 2:8.1.2269-1ubuntu5.7 [1,238 kB]已下载 1,238 kB,耗时 0秒 (4,567 kB/s)正在选中未选择的软件包 vim。(正在读取数据库 ... 系统当前共安装有 213952 个文件和目录。)准备解压 .../vim_2:8.1.2269-1ubuntu5.7_amd64.deb ...正在解压 vim (2:8.1.2269-1ubuntu5.7) ...正在设置 vim (2:8.1.2269-1ubuntu5.7) ...update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/vim (vim)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/vimdiff (vimdiff)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/rvim (rvim)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/rview (rview)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/vi (vi)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/view (view)update-alternatives: 使用 /usr/bin/vim.basic 来在自动模式中提供 /usr/bin/ex (ex)ubuntu@ubuntu-virtual-machine:/etc/apt$ vim --versionVIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 01 2022 09:16:32)

可以发现我在没有vim软件的情况下使用vim命令,系统会自动提示安装的命令。

安装完成以后输入 —version查看软件版本成功说明软件安装完成。

就这么简单。

  • 卸载

命令格式 :apt remove soft_name

ubuntu@ubuntu-virtual-machine:/etc/apt$ sudo apt remove vim正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成下列软件包是自动安装的并且现在不需要了: vim-runtime使用'sudo apt autoremove'来卸载它(它们)。下列软件包将被【卸载】: vim升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 85 个软件包未被升级。解压缩后将会空出 3,112 kB 的空间。您希望继续执行吗? [Y/n] y(正在读取数据库 ... 系统当前共安装有 213961 个文件和目录。)正在卸载 vim (2:8.1.2269-1ubuntu5.7) ...update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/vi (vi)update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/view (view)update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/ex (ex)update-alternatives: 使用 /usr/bin/vim.tiny 来在自动模式中提供 /usr/bin/rview (rview)ubuntu@ubuntu-virtual-machine:/etc/apt$ vim-bash: /usr/bin/vim: 没有那个文件或目录

dpkg命令

dpkg命令我们一般用来直接安装 .deb 格式的安装包,我们前面文章下载的edge安装包就是 .deb格式的。

ubuntu@ubuntu-virtual-machine:~/下载$ ls microsoft-edge-stable_100.0.1185.36-1_amd64.debmicrosoft-edge-stable_100.0.1185.36-1_amd64.deb

当时介绍的图像化的安装方式,直接双击,现在介绍使用dpkg命令安装的方式:

  • 安装

ubuntu@ubuntu-virtual-machine:~/下载$ sudo dpkg -i microsoft-edge-stable_100.0.1185.36-1_amd64.deb正在选中未选择的软件包 microsoft-edge-stable。(正在读取数据库 ... 系统当前共安装有 213804 个文件和目录。)准备解压 microsoft-edge-stable_100.0.1185.36-1_amd64.deb ...正在解压 microsoft-edge-stable (100.0.1185.36-1) ...正在设置 microsoft-edge-stable (100.0.1185.36-1) ...update-alternatives: 使用 /usr/bin/microsoft-edge-stable 来在自动模式中提供 /usr/bin/microsoft-edge (microsoft-edge)正在处理用于 gnome-menus (3.36.0-1ubuntu1) 的触发器 ...正在处理用于 desktop-file-utils (0.24-1ubuntu3) 的触发器 ...正在处理用于 mime-support (3.64ubuntu1) 的触发器 ...正在处理用于 man-db (2.9.1-1) 的触发器 ...

  • 卸载

ubuntu@ubuntu-virtual-machine:~/下载$ sudo dpkg -P microsoft-edge-stable(正在读取数据库 ... 系统当前共安装有 213952 个文件和目录。)正在卸载 microsoft-edge-stable (100.0.1185.36-1) ...正在清除 microsoft-edge-stable (100.0.1185.36-1) 的配置文件 ...正在处理用于 man-db (2.9.1-1) 的触发器 ...正在处理用于 gnome-menus (3.36.0-1ubuntu1) 的触发器 ...正在处理用于 desktop-file-utils (0.24-1ubuntu3) 的触发器 ...正在处理用于 mime-support (3.64ubuntu1) 的触发器 ...

软件升级

  • 更新为最新的版本

直接使用前面的安装命令就会使用当前的最新版本自动更新软件,前提是更新本地软件列表信息。

  • 更新(或安装)指定版本软件

dpkg命令要做到这一点当然就是下载指定版本的软件安装包文件就可以了。

apt命令也可以指定软件版本,命令格式是:

apt-get install <<package name>>=<<version>>

ubuntu@ubuntu-virtual-machine:~/下载$ apt-cache madison treetree | 1.8.0-1 | http://mirrors.aliyun.com/ubuntu focal/universe amd64 Packagestree | 1.8.0-1 | http://mirrors.aliyun.com/ubuntu focal/universe Sourcesubuntu@ubuntu-virtual-machine:~/下载$ sudo apt install tree=1.8.0-1正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成下列软件包是自动安装的并且现在不需要了:vim-runtime使用'sudo apt autoremove'来卸载它(它们)。下列【新】软件包将被安装:tree升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 85 个软件包未被升级。需要下载 43.0 kB 的归档。解压缩后会消耗 115 kB 的额外空间。获取:1 http://mirrors.aliyun.com/ubuntu focal/universe amd64 tree amd64 1.8.0-1 [43.0 kB]已下载 43.0 kB,耗时 0秒 (344 kB/s)正在选中未选择的软件包 tree。(正在读取数据库 ... 系统当前共安装有 213804 个文件和目录。)准备解压 .../tree_1.8.0-1_amd64.deb ...正在解压 tree (1.8.0-1) ...正在设置 tree (1.8.0-1) ...正在处理用于 man-db (2.9.1-1) 的触发器 ...

这个例子我先使用apt-cache命令查看了tree支持安装的所有版本,然后特定安装了1.8.0-1版本。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年6月22日 上午9:59
下一篇 2022年6月22日 上午10:01

相关推荐