专栏首页逸鹏说道Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)

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

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

附录见原文地址

本文分享自微信公众号 - 我为Net狂(dotNetCrazy),作者:dunitian

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

    逸鹏
  • 微信扫码支付+Asp.Net MVC

    这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下。 一、准备工作 使用的微信API中的统一下单方法,关键...

    逸鹏
  • Python3 与 C# 并发编程之~ 进程篇中

    接着上面继续拓展,补充说说获取函数返回值。 上面是通过成功后的回调函数来获取返回值,这次说说自带的方法:

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

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

    逸鹏
  • ubuntu apt-get install 出现无法定位软件包...

    root@idwtwt-virtual-machine:/opt/tomato# apt-get install git 正在读取软件包列表... 完成 正...

    拓荒者
  • 神奇的 SQL 之 WHERE 条件的提取与应用

      一条 SQL 在数据库中是如何执行的呢 ?相信很多人都会对这个问题比较感兴趣。但是,感兴趣归感兴趣,你得去追呀,还臆想着她主动到你怀里来 ?

  • 听力产品面向未来的变革

    随着人工智能,大数据,纳米技术,各种语音分析和人工智能技术(ASR, NLU等),各种传感器技术的指数级发展,未来的听力设备(助听器,各种消费类耳机产品和各种行...

    用户6026865
  • Key | 常见问题

    Key 1.如何成为腾讯位置服务开发者?如何申请Key? 请参阅:http://lbs.qq.com/guides/startup.html,如有还有问题可以...

    腾讯位置服务
  • PHP 设计模式之观察者模式 转

         现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式! 这就向写文章一样,有的人喜欢文章按照套路走,比如叙事性质的文章,时间,地点,人物,事...

    双面人
  • html5 判断是点击还是长按

    在移动端尤其是微信浏览器中,长按有一个功能是识别二维码或者是弹出复制文字的浮层,但是有时候我们不想让他弹出来,于是会采用禁止默认事件的方式来写,那么问题来了,点...

    无邪Z

扫码关注云+社区

领取腾讯云代金券