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.0gir1.2-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-18libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04linux-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 \ldnt@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-genericlinux-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-18libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04linux-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:~$ rebootdnt@MZY-PC:~$ cat /etc/issue
Ubuntu 16.04.4 LTS \n \ldnt@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开发版本

作者:毒逆天
出处:https://www.cnblogs.com/dotnetcrazy
打赏:18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z
本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java获取tomcat目录结构_Tomcat目录结构详解

Tomcat目录结构图如下:bin目录存放一些可执行的二进制文件,.sh结尾的为linux下执行命令,.bat结尾的为windows下执行命令。catalina.sh:真正启动tomcat文件,可以在里面设置jvm参数。startup.sh:启动tomcat(需…

智慧农业物联网云平台方案

2019独角兽企业重金招聘Python工程师标准>>> 多比智慧农业物联网云平台解决方案结合了最先进的物联网、云计算、传感器、自动控制等, 在浏览器或手机客户端实时显示大棚、大田、温室等温度、湿度、PH值、光强度、CO2,或作为自动控制的参变量参与到自动控…

使用JDBC获取Oracle连接时报错

The Network Adapter could not establish the connection 网络适配器不能创建连接 作为初学者的来说,这个问题让我找了好多次,每次重新开启电脑时就可以正常获取连接,过了一会儿,自己不知道做了什么就会又报错,…

.Net CoreRabbitMQ消息转发可靠机制(上)

前言生产者发送消息到了队列,队列推送数据给了消费者,这里存在一些问题需要思考下生产者如何确保消息一定投递到了队列中RabbitMQ 丢失了消息(下文暂不涉及这块)队列如何确保消费者收到了消息呢生产者可靠发送执行流程当生产者将消息发送出去后&#xff…

一个java文件中可包含多个main方法

java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法。但并不是说java中只能有一个main方法,不同类中都可以包含main方法。当JVM进行编译时,会提示选择其中一个main方法作为编译的入口。 转载于:https:/…

【SRM-05 B】无题?

Description 有一个拥有n个城市的国家。这个国家由n-1条边连接起来。有一天国家发生叛乱。叛军已占领了一些城市。如果叛军占领的城市中,存在两个城市之间有边直接相连,则称这种情况是坏的。现在并不知道叛军占领了那些城市,问有多少种情况是…

分享一些 Java 后端的个人干货

学习 Java 也有了不少时间,入 Java 后台的坑也有了一段时日。这段时间里,听过许多前辈的经验与分享,也看过许多大佬的文章和作品。找了个时间整理和总结了一下我个人到目前为止一路以来的听到看到或者自己感悟到的干货。 这篇文章可能更多的是…

.NET MAUI实战 Routing

1.详情本章继续分享.NET MAUI中的路由,这个概念依旧是在Prism里存在过的概念。如果使用过Prism框架的小伙伴使用该机制上手速度是非常快的。接下来一起来看看什么是路由。.NET 多平台应用 UI (.NET MAUI) Shell 包含基于 URI 的导航体验,该体验使用路由导…

分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...

在这个文章里,我将分享一下在iOpenWorks.com这个网站试运行中碰到的若干问题和解决方案,这些问题包含了:(1)如何通过ASP.NET MVC预编译提高性能;(2)如何知道网站在运行中&#xff0c…

mondrain配置mysql_mondrian 4.7 源码部署(示例代码)

mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最近更新维护的mondrian-master, 下载下来后基本上只需要按部就班的使用maven build一下就可以正常使用了, 如有问…

腾讯云DevOps技术揭秘:新时代运维重器Tencent Hub最佳实践

随着云计算和容器技术的发展以及微服务架构的兴起,服务能够实现细粒度的部署,维护和伸缩。在使开发人员能快速开发的同时,这些技术也给系统和应用的运维带来了更大的挑战。DevOps理念也应运而生,强调研发和运维的流程及工具的自动…

.Net CoreRabbitMQ消息存储可靠机制(下)

前言上篇讨论过消息投递和消息消费过程中如何确保可靠传输,也提及到消息到达RabbitMQ中到被消费前也需要可靠的留存,可因许多的不确定因素会影响着消息的存在与否。消息中转点生产者发送消息到RabbitMQ中,如果交换机根据自身类型和RoutingKey…

nginx安装及负载均衡配置

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发…

智能停车O2O 独角兽初现:“ETCP停车”获5000万美金A轮融资

日前,国内第一智能停车平台“ETCP停车”宣布完毕A轮融资,由源代码资本、SIG、易车网、经纬中国和商企界知名人士联合投资超过5000万美金。同一时候获悉,ETCP作为中国智能停车行业龙头老大,不仅是该行业的创建者和领军品牌&#xf…

ASP.NET MVC使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素

阅读目录 Bootstrap 栅格(Grid)系统Bootstrap HTML元素Bootstrap 验证样式ASP.NET MVC创建包含Bootstrap样式编辑模板小结Bootstrap提供了一套丰富CSS设置、HTML元素以及高级的栅格系统来帮助开发人员快速布局网页。所有的CSS样式和HTML元素与移动设备优…

VS2017调试闪退之Chrome

原文:VS2017调试闪退之Chrome巨硬build后发了15.7.1满载期待的升级了。。结果NM泪奔................... 为啥 泪奔? 使用Chrome 调试闪退,MMP ,一想肯定是VS的锅咯,各种抓头发。。 试试看看VS配置发现 ,多了点东西。。 都勾上后&…

ios UISearchBar搜索框的基本使用

摘要: 小巧简洁的原生搜索框,漂亮而易用,如果我们的应用没有特殊需求,都可以使用它。iOS中UISearchBar(搜索框)使用总结 初始化:UISearchBar继承于UIView,我们可以像创建View那样创建searchBar UISearchBar * bar [[U…

Win8下怎样安装Win7 or Win7下怎样安装win8?

预计非常多人可能会用U盘安装工具去去做双系统的安装(Win8下安装Win7, Win7下安装Win8)。可是在安装过程中你 会发现一个问题:win7下安装win8,提示你mbr硬盘格式不能安装win8;win8下安装win7,提…

Linux 练习题-3文件与磁盘 问答

1、描述Liux下软链接和硬链接的区别创建命令不同,ln 命令创建硬链接,ln -s 创建软链接inode节点号不同,硬链接inode与源文件相同,软链接inode与源文件不同使用对象不同,硬链接只能对文件使用,软链接可以对文…

.NET Offer 快到碗里来!.NET 招聘季

关注我们谈到 .NET 在中国的推广和发展,.NET 开发者求职就业及 .NET 企业招人用人的问题往往常被提及。初学者会担心学习 .NET 之后的就业问题,.NET 开发者在求职过程中没有足够多的渠道来获取 .NET 招聘信息,而与此同时,采用 .NE…