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

时间:2022-09-17 16:48:06

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

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

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

Ubuntu不得不说的就是这个apt出问题的处理 :(换源就不说了`/etc/apt/sources.list`)

# 一般删除这几个锁文件,然后再重新配置下就可以了
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
# 简写(千万注意空格,不然你就是rm -rf / + 跑路了)
# sudo rm /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend

# 重新配置下
sudo dpkg --configure -a

简单讲:你不修改添加源,不需要updae,如果你想升级下软件upgrade,如果你想大升级dist-upgrade

包相关命令:

清除无用包: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 运行更新管理,点下升级,一路下一步就好了(逆天是懒人一个,系统大版本跨越的命令基本上很少用,所以就懒得记了,附录有命令安装)

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

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

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

dnt@MZY-PC:~$ sudo apt-get clean
dnt@MZY-PC:~$ sudo apt-get autoclean
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
dnt@MZY-PC:~$ sudo apt-get update
忽略: http://dl.google.com/linux/chrome/deb stable InRelease
命中: http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease
命中: http://dl.google.com/linux/chrome/deb stable Release
命中: http://mirrors.ustc.edu.cn/ubuntu xenial InRelease
命中: http://mirrors.ustc.edu.cn/ubuntu xenial-updates InRelease
命中: http://mirrors.ustc.edu.cn/ubuntu xenial-security InRelease
命中: http://packages.microsoft.com/repos/vscode stable InRelease
正在读取软件包列表... 完成
dnt@MZY-PC:~$ sudo apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在计算更新... 完成
下列软件包的版本将保持不变:
cups-filters cups-filters-core-drivers gir1.-javascriptcoregtk-4.0
gir1.-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-
libwebkit2gtk-4.0- libwebkit2gtk-4.0--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
升级了 个软件包,新安装了 个软件包,要卸载 个软件包,有 个软件包未被升级。
dnt@MZY-PC:~$ cat /etc/issue
Ubuntu 16.04. 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.- linux-headers-4.13.--generic
linux-image-4.13.--generic linux-image-extra-4.13.--generic linux-signed-image-4.13.--generic
下列软件包将被升级:
cups-filters cups-filters-core-drivers gir1.-javascriptcoregtk-4.0 gir1.-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-
libwebkit2gtk-4.0- libwebkit2gtk-4.0--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
升级了 个软件包,新安装了 个软件包,要卸载 个软件包,有 个软件包未被升级。
需要下载 MB 的归档。
解压缩后会消耗 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取: http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 libqpdf21 amd64 8.0.2-3~16.04.1 [315 kB]
获取: http://dl.google.com/linux/chrome/deb stable/main amd64 google-chrome-stable amd64 66.0.3359.181-1 [52.3 MB]
获取: http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 cups-filters-core-drivers amd64 1.8.3-2ubuntu3.4 [128 kB]
获取: 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. LTS \n \l dnt@MZY-PC:~$ sudo update-manager -d
[sudo] dnt 的密码:
/usr/bin/update-manager:: 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:: 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:: 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开发版本

Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)的更多相关文章

  1. 把腾讯云的ubuntu16.04升级到18.04

    腾讯云买的服务器也没怎么弄,正好重装一下玩乐了. 1. 重装系统,在腾讯云里先停机,然后重装系统,目前最高是ubuntu16.04.为什么选择Ubuntu?因为,因为习惯吧,之前学习laravel就是 ...

  2. ubuntu 14.04 升级到18.04

    http://www.360doc.com/content/18/0929/09/35082563_790606785.shtml

  3. 制作U盘启动盘将Ubuntu 12.04升级为14.04的方法

    1 介绍 在周六的下午,我决定想高速浏览一下书籍[1].看看这个关于Ubuntu的圣经到底在讲什么东东. 感觉讲的不错,当我看到介绍文件标记语言-TeX和LaTeX的时候,该书作者推荐在Ubuntu上 ...

  4. 升级Ubuntu 16.04 到 Ubuntu 18.04 的方法

    特别注意,在进行升级前,请做好重要数据备份工作,防止升级失败或者其他奇怪原因,导致数据丢失或损坏 sudo vim /etc/apt/sources.list 将 http://archive.ubu ...

  5. linux 入门系列-基础性知识

    1:初探linux-基于centos7 运维和服务器硬件组合 两种登录方式:(1)-------root:管理员登录权限较高,不建议初学者使用格式: [root@centos7 jinlong]# ( ...

  6. Ubuntu 12.04 升级到14.04之后,pidgin-sipe 出现的问题: Trouble with the pidgin and self-signed SSL certificate

    Once again, I run into trouble when upgrading my LinuxMint. In last few days, my Linux mint notifies ...

  7. Ubuntu升级到18.04

    1.更新 sudo apt-get update 2.升级 sudo apt-get upgrade 3.检测最新版本 sudo update-manager -c -d 然后就会弹出窗口,提示ubu ...

  8. ubuntu 14.04 升级到 16.04 问题总结

    1. 需要的依赖关系未安装 The required dependency 'apt (>= 1.0.1ubuntu2.13)' is not installed. http://forum.u ...

  9. 小心!Ubuntu14.04 升级到16.04 的几个坑

    收录待用,修改转载已取得腾讯云授权 昨天趁着周末把服务器升级了一把,遇到的坑可不少: sudo apt update sudo apt dist-upgrade 坑1:升级失败后,改用下面命令: su ...

随机推荐

  1. 1.Getting Started

    Elasticsearch 是一个高度扩展的开源的全文搜索和分析引擎,它允许你存储,搜索和分析大量的数据和几乎实时. 它通常用于底层的存储.技术,提供应用实现负载的搜索功能和需求. 这里有一些使用的示 ...

  2. 网络编程Socket之TCP之close/shutdown具体解释(续)

    接着上一篇网络编程Socket之TCP之close/shutdown具体解释 如今我们看看对于不同情况的close的返回情况和可能遇到的一些问题: 1.默认操作的close 说明:我们已经知道writ ...

  3. ubuntu oracle jdk

    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-javaX-i ...

  4. python3中的socket

    socket是什么?用它做什么? socket,我们通俗的称之为套接字, 是进程间通信的一种方式,但是他与其他进程通信的一个主要区别是 他能实现不同主机间的通信,比如我们现在用的浏览器,在比如我们使用 ...

  5. notepad++取消语法检测

  6. 移动端(微信等)使用 vConsole 调试 console

    参考链接:https://blog.csdn.net/m0_37036014/article/details/80113635

  7. Microsoft.NET.Framework开机报错解决方法

    win10自动更新后每次开机都报错Microsoft.NET.Framework. 如下图所示: 网上查了各种各样的方法折腾了好久. 其中看到了这样一个回答 “有两种可能 你电脑里的某个软件需要使用M ...

  8. python-迭代器与生成器的区别

    这里涉及几个知识点:迭代器.生成器.yieId 先用个例子看一下迭代器与生成器的区别吧 #L是个list,迭代用for循环即可,L取出来是存放在内存中的,再多次去循环取出都可以>>> ...

  9. Goolge全球各国域名大全

    搜索过技术文章的朋友都知道,Google的搜索功力绝对是世界第一,仅仅搜索中文还体现不出Google的功力,如果大家是做外贸或者搜索其它语言的文章,就会知道Google的内涵有多少了.全世界的国家Go ...

  10. 马老师 linux必备web服务入门及高级进阶

    http://edu.51cto.com/course/course_id-866.html HTTP: HyperText Transfer Protocol 超文本传输协议 超链接: Web: h ...