Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)

简介: Linux基础:https://www.cnblogs.com/dunitian/p/4822808.html#linux 之前看到朋友还动不动 apt-get update upgrade,就很纳闷,后来发现原来他只是知道这个更新命令却不知其意,所以每次安装个包就把所有apt-get的常用清除+...

Linux基础:https://www.cnblogs.com/dunitian/p/4822808.html#linux

之前看到朋友还动不动 apt-get update upgrade,就很纳闷,后来发现原来他只是知道这个更新命令却不知其意,所以每次安装个包就把所有apt-get的常用清除+更新命令打一遍

后来~就有了这篇文章了,算给小白普及下吧:(后面有实战案例)

包相关命令:

清除无用包:apt-get clean && apt-get autoclean   #一般用apt-get autoclean就够了

更新源:apt-get update    #同步 /etc/apt/sources.list 源的索引,这样才知道是不是有最新的包

更新包:apt-get upgrade   #更新所有已安装的软件(upgrade只是简单的更新包,不管这些依赖,它不添不删。)

更新包2:apt-get dist-upgrade #包与包之间存在各种依赖关系。而dist-upgrade可以根据依赖关系的变化添删包。(依赖有时会出错,建议新手谨慎使用

补充:在执行 upgrade or dist-upgrade 之前一定要执行 update, 这样才能获取最新

安装软件:apt-get install XXX [--reinstall] #--reinstall 是重新安装包,一般都是用 apt-get install XXX

修复依赖:apt-get -f install       #修复依赖,类似于win里面的缺少dll,-f之后他帮你修复安装一些依赖(安装搜狗拼音实例有用到)

删除软件:apt-get remove XXX [--purge] #--purge 卸载的时候把配置文件也删了,完全删除包可以用这个选项:apt-get remove XXX --purge

---------------------------------------------------------------------------------------------------------------------------------------------------------

其他命令:(特殊环境下使用)

搜索软件:apt-get search xxx

检查是否有损坏的依赖:apt-get check   (偶尔想起来或者软件打不开的时候使用【有时候被清理了】)

获取包信息:apt-cache show xxx

有哪些依赖:apt-cache depends xxx    (比如安装一个包,修复依赖也失败,那就看看有哪些依赖,自己手动安装)

被哪些包依赖:apt-cache rdepends xxx  (比如卸载一个包的时候,查一下被哪些包依赖)

下载该包源代码:apt-get source xxx

安装相关编译环境:apt-get build-dep xxx

实战案例:

简单说下,先清一下无用包,再update更新下源的索引,接着升级。之前一直以为dist-upgrade之后系统就滚动升级了,比如原来16.04.1后来可能变成16.04.2。

reboot重启一下,update-manager -d 运行更新管理,点下升级,一路下一步就好了(逆天是懒人一个,系统大版本跨越的命令基本上很少用,所以就懒得记了,附录有命令安装

dnt@MZY-PC:~$ sudo apt-get clean 
dnt@MZY-PC:~$ sudo apt-get autoclean 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
dnt@MZY-PC:~$ sudo apt-get update 
忽略:1 http://dl.google.com/linux/chrome/deb stable InRelease
命中:2 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease       
命中:3 http://dl.google.com/linux/chrome/deb stable Release                    
命中:4 http://mirrors.ustc.edu.cn/ubuntu xenial InRelease                      
命中:6 http://mirrors.ustc.edu.cn/ubuntu xenial-updates InRelease      
命中:7 http://mirrors.ustc.edu.cn/ubuntu xenial-security InRelease    
命中:8 http://packages.microsoft.com/repos/vscode stable InRelease
正在读取软件包列表... 完成                       
dnt@MZY-PC:~$ sudo apt-get upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在计算更新... 完成
下列软件包的版本将保持不变:
  cups-filters cups-filters-core-drivers gir1.2-javascriptcoregtk-4.0
  gir1.2-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-18
  libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04
  linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
  linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04 qpdf
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 14 个软件包未被升级。
dnt@MZY-PC:~$ cat /etc/issue
Ubuntu 16.04.4 LTS \n \l

dnt@MZY-PC:~$ sudo apt-get dist-upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在计算更新... 完成
下列软件包是自动安装的并且现在不需要了:
  libappindicator1 libindicator7
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
  amd64-microcode intel-microcode iucode-tool libqpdf21 libwebpdemux1 linux-headers-4.13.0-43 linux-headers-4.13.0-43-generic
  linux-image-4.13.0-43-generic linux-image-extra-4.13.0-43-generic linux-signed-image-4.13.0-43-generic
下列软件包将被升级:
  cups-filters cups-filters-core-drivers gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-18
  libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
  linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04 qpdf
升级了 14 个软件包,新安装了 10 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 143 MB 的归档。
解压缩后会消耗 300 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 libqpdf21 amd64 8.0.2-3~16.04.1 [315 kB]
获取:2 http://dl.google.com/linux/chrome/deb stable/main amd64 google-chrome-stable amd64 66.0.3359.181-1 [52.3 MB]
获取:3 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 cups-filters-core-drivers amd64 1.8.3-2ubuntu3.4 [128 kB]
获取:4 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 cups-filters amd64 1.8.3-2ubuntu3.4 [448 kB]

dnt@MZY-PC:~$ reboot

dnt@MZY-PC:~$ cat /etc/issue
Ubuntu 16.04.4 LTS \n \l

dnt@MZY-PC:~$ sudo update-manager -d
[sudo] dnt 的密码: 
/usr/bin/update-manager:28: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
/usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py:29: PyGIWarning: Dbusmenu was imported without specifying a version first. Use gi.require_version('Dbusmenu', '0.4') before import to ensure that the right version gets loaded.
  from gi.repository import Dbusmenu, Unity
/usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py:29: PyGIWarning: Unity was imported without specifying a version first. Use gi.require_version('Unity', '7.0') before import to ensure that the right version gets loaded.
  from gi.repository import Dbusmenu, Unity

附录:(原文地址

  1. 更新Ubuntu 16.04 

    在升级之前, 您应该先更新当前的16.04. 建议升级之前更新/升级所有已安装的软件包.

    运行以下命令:

    sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

  2. 安装Ubuntu update manager

    更新完 系统后,运行以下命令安装update-manager-core(如果您没有安装).

    sudo apt-get isntall update-manager-core

  3. 打开update-manager配置文件并确保提示行设置为  lts

    sudo nano /etc/update-manager/release-upgrades

    执行升级命令:

    sudo do-release-upgrade -d

    当屏幕出现升级提示是 选择y

    等待所有的软件包下载...安装...到重启... 当安装完成后,你的系统就升级到最新的Ubuntu开发版本

作者: 毒逆天
打赏: 18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z
本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接!
目录
相关文章
|
8月前
|
安全 Linux 编译器
BigCloud Enterprise Linux 8和Rocky Linux 8升级OpenSSH步骤
本文介绍了在BigCloud Enterprise Linux 8.2/8.6和Rocky Linux 8.10上升级OpenSSH的详细步骤。首先配置Telnet服务和GCC编译器以确保远程登录安全,接着备份旧版OpenSSH并下载、编译、安装最新版本(如9.9p1)。然后创建新的sshd系统服务配置文件,调整配置并启动服务。最后验证升级效果,关闭不必要的Telnet服务,并处理可能的防火墙和SELinux问题。通过这些步骤可有效修复低版本OpenSSH带来的高危漏洞。
500 13
|
5月前
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
190 26
|
5月前
|
Ubuntu 搜索推荐 Linux
Ubuntu/Debian Hat系Linux的便捷操作指南
总的来说,虽然Ubuntu/Debian和Red Hat系列在操作方法上有所不同,但基本概念类似。掌握了包管理和服务管理,可以应对大多数常见的系统管理任务。同时,这两个系统都有丰富的在线资源可以查询,不管你在任务中遇到什么困难,搜索引擎都能帮你找到答案。这些基本技能能让你在Linux的世界里更加自如。
184 26
|
5月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
1518 23
|
8月前
|
Ubuntu 安全 Linux
Linux错误排查:解决Ubuntu 20.4执行sudo apt-get update时出现的libnettle.so.6错误。
很有可能在你得到解决方案时,你也学到了不少Linux修复技巧。祝你处理计算机问题时顺利如麻!永远记得,各种问题总是像老鼠一样从意想不到的地方冒出来。但记住,不管它们跑到哪里,最终都逃不过你的捕鼠器。盖起你的计算机,拾起你的代码,大步向前!
243 28
|
8月前
|
Ubuntu 安全 调度
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
313 21
|
8月前
|
Ubuntu 安全 Linux
Linux错误排查:解决Ubuntu 20.4执行sudo apt-get update时出现的libnettle.so.6错误。
很有可能在你得到解决方案时,你也学到了不少Linux修复技巧。祝你处理计算机问题时顺利如麻!永远记得,各种问题总是像老鼠一样从意想不到的地方冒出来。但记住,不管它们跑到哪里,最终都逃不过你的捕鼠器。盖起你的计算机,拾起你的代码,大步向前!
240 18
|
7月前
|
Ubuntu Linux
Ubuntu中dpkg和apt命令:debian包安装详解
希望这让你对于Ubuntu中的dpkg和apt命令有了更为清晰的理解。下次你面对软件包安装的问题,就可以轻松应对,优雅地在你的Linux系统中游刃有余了。
765 10
|
9月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1052 25
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
420 1
二、Linux文本处理与文件操作核心命令