Ubuntu系统修复、系统安装与系统备份

2023-11-13

一、Ubuntu系统修复

1.正常开机无法进入图形界面
卡logo,无法进入系统图形化界面,但是ctrl+alt+F1 能够进入tty1命令行界面进行操作。

解决办法:
通过命令行进入。需要重新配置网卡。
ifconfig eth0 192.168.1.66 netmask 255.255.255.0
route add default gw 192.168.1.1
ifconfig eht0 up

上述配置后,Ubuntu成功能够ping通百度

简单的系统问题,可以通过命令行更新一些软件包进行修复。

2.系统异常关键因素

起因是因为编译opencv的过程中遇到很多类似如下的错误

gconftool-2: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_signal_accumulator_first_wins

原以为是自己之前移植glib的问题导致,于是使用sudo apt-get autoremove glib2.0进行卸载,中途发现该命令将好多其他软件一并卸载,没经验的我赶紧ctrl + c
于是每次安装软件都会出现dpkg的问题

dpkg: error processing package gconf2 (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 gconf2
E: Sub-process /usr/bin/dpkg returned an error code (1)

尝试如下博客操作
E: Sub-process /usr/bin/dpkg returned an error code (1)解决办法 - stickmangod的博客 - CSDN博客 https://blog.csdn.net/stickmangod/article/details/85316142

  1. sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk
  2. sudo mkdir /var/lib/dpkg/info
  3. sudo apt-get update && sudo apt-get install -f
  4. mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bk
  5. sudo rm -rf /var/lib/dpkg/info
  6. mv /var/lib/dpkg/info.bk /var/lib/dpkg/info

sudo apt-get install -f
-f参数为–fix-broken的简写形式,可以在man apt-get 中搜索-f参数查询到其帮助信息。
-f参数的主要作用是是修复依赖关系(depends),假如用户的系统上有某个package不满足依赖条件,这个命令就会自动修复,安装程序包所依赖的包。

安装步骤操作能够解决上述dpkg的error,但是编译opencv依然存在/usr/lib/x86_64-linux-gnu这个库一些未定义的问题,估计是哪些文件损坏了。

后面直接重装系统,但还是记录下这个问题。

二、Ubuntu系统安装

1.virtualbox虚拟机安装Ubuntu

(1)新建虚拟电脑


之后设置内存大小,其他默认就好。

创建成功后,右键自己创建的虚拟机,点击设置。选择存储添加虚拟光驱,选择Ubuntu系统镜像,设置成功后启动即可。

(2)安装流程

第一步:
点击install ubuntu


第二步:

第三步:

一大堆英文看不懂,用有道截屏翻译了一下


第四步:

第五步:
重启后安装成功。

虚拟机安装时间超不多半小时,主要是安装语言包比较费时间。

(3)设置共享文件夹

virtual共享文件夹设置

Virtualbox主机和虚拟机之间文件夹共享及双向拷贝 - zhaipengfei1231的博客 - CSDN博客 https://blog.csdn.net/zhaipengfei1231/article/details/78471038/#commentBox

sudo mount -t vboxsf 共享文件夹的名字
sudo mount -t vboxsf test

个人觉得增强型工具安装成功后就不需要上述的设置方法,不过还是记录一下。

(4)虚拟机与物理机ssh连接

windows下virtualbox中Ubuntu与主机通过ssh建立连接的方法
点击设置,选择网络,打开高级,进入端口转发进行设置。

添加新的端口转发规则

主机端口任意设置
协议选择tcp,主机IP为空,表示localhost(127.0.0.1),子系统ip也为空,表示其默认IP10.0.2.15,主机端口可以自己设置,只要不和其他端口有冲突就行,子系统端口一般选择默认的ssh端口22,你还可以类比添加ftp等转发规则。

参考资料:
windows下利用ssh访问virtualbox虚拟机 - shapsnail的专栏 - CSDN博客 https://blog.csdn.net/shapsnail/article/details/49405057

windows下virtualbox中Ubuntu与主机通过ssh建立连接的方法 - aristolto的专栏 - CSDN博客 https://blog.csdn.net/aristolto/article/details/50542463

2.物理机安装Ubuntu

(1)制作U盘系统盘

使用UltraISO制作ubuntu安装u盘启动盘图文教程(转) - weixin_40554881的博客 - CSDN博客 https://blog.csdn.net/weixin_40554881/article/details/80625315

dell电脑主板开机后按F12进入boot引导界面。

(2)分区表

因为我Ubuntu系统那台物理机配置比较一般,只有一个机械硬盘。当初没有分区,直接装系统,导致后续重新系统时,home目录的数据会丢失的尴尬地步。因此如果分区的话就不会存在这个问题。类似于window直接覆盖C盘。

即使我安装的过程中选择不覆盖,但是会出现如下情况

并且时间特别长,长到我怀疑是否卡死了。

于是备份好home目录的数据,系统重新分区,重新安装。
安装Ubuntu系统的配置过程中选择

具体的分区表

swap 多少G内存就设置多少。

详细介绍参考这篇博客吧
分区操作流程参考:
安装Ubuntu16.04系统步骤详细加分区 - 简书 https://www.jianshu.com/p/2ad73fb3855e

(3)no boot devices found解决办法
  1. 启动电脑F12进入到BIOS系统的boot setup界面 (我是戴尔主板,其他品牌可能进入的按键不一样。)
  2. 找到setting->general->Boot sequence,选择UEFI,点击 add boot option,UEFI->ubuntu->选择grubx64.efi文件,自己任意取个名字(我直接填写Ubuntu),确定apply后退出,重启电脑,成功引导进入系统。

三、Ubuntu系统备份与恢复

几次系统崩溃重装系统带来了血的教训,是时候花点心思研究下如何系统备份和恢复。

1.备份

进入系统根目录

  1. cd /
  2. 压缩
sudo tar -Pcvpjf /home/os_bak/Ubuntu_OS_bak_`date +%Y-%m-%d`.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/var --exclude=/tmp --exclude=/sys --exclude=/home --exclude=/run --exclude=/media  /

命令参数说明:
-P :可以使用绝对路径来压缩
-c :建立一个压缩文件的参数指令(create 的意思)
-v :压缩的过程中显示文件
-p :使用原文件的原来属性(属性不会依据使用者而变)
-j :使用bzip2进行压缩(压缩后文件后缀为tar.bz2)
-f : 文件归档,使用存档文件或设备存档。(在 f 之后要立即接档名,不要再加其他参数!例如使用 tar -zcvfP tfile sfile 就是错误的写法,要写成 tar -zcvPf tfile sfile 才对。)
–exclude :排除某个目录进行备份

简单写了一个备份脚本

#!/bin/sh
LOG_PATH=/home/os_bak/log
LOG_FILE=$LOG_PATH/Ubuntu_OS_bak_`date +%Y-%m-%d`.log

echo "Start to bak Ubuntu os" >> $LOG_FILE
echo $(date) >> $LOG_FILE
cd /
sudo tar -Pcvpjf /home/os_bak/Ubuntu_OS_bak_`date +%Y-%m-%d`.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/var --exclude=/tmp --exclude=/sys --exclude=/home --exclude=/run --exclude=/media  / >> $LOG_FILE

echo "Bak Ubuntu os end" >> $LOG_FILE
echo $(date) >> $LOG_FILE

设置定时服务,每个月给它备份一次吧。

  1. crontab -e
  2. 添加规则 * * 28 * * /home/os_bak/bak_ubuntu_os.sh (每个月28号执行备份脚本)
  3. crontab -l 查看规则是否添加成功
  4. /etc/init.d/cron restart 重启服务

2.恢复

切换到root用户

sudo tar xvpfj /media/sf_test/Ubuntu_OS_bak_2019-09-20.tar.bz2 -C /

恢复时出现错误:
tar: Exiting with failure status due to previous errors

可以直接忽略,直接reboot即可。大前提是你的系统还能进入命令行界面进行操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu系统修复、系统安装与系统备份 的相关文章

随机推荐

  • 快速排序之“采取“尾递归”和“三数取中”技术的快速排序”

    快速排序之 采取 尾递归 和 三数取中 技术的快速排序 下面针对快速排序进行一些优化 QUICKSORT算法包含两个对其自身的递归调用 即调用PARTITION后 左边的子数组和右边的子数组分别被递归排序 QUICKSORT中的第二次递归调
  • 微信创建公众号菜单

    1 地址 https mp weixin qq com debug cgi bin apiinfo t index type E8 87 AA E5 AE 9A E4 B9 89 E8 8F 9C E5 8D 95 form E8 87 A
  • Android星级评分条控件RatingBar

    Android开发中 时不时的就有要实现星星的评分效果 比如某宝 某团 相信大家也都见过 当然了我们可以自己去画 也可以用美工给切的图去实现 其实在Android原生的控件中就可以来实现这样的效果 它就是RatingBar 来 我们先看一张
  • JMX获取tomcat监控信息

    最近用JAVA写了个获取tomcat信息资源的代码 随便保存一下 大致的步骤全在这了 可以获取到任何想要的指标 首先可以用JDK提供的工具jconsole来供我们查看 这个在服务端配置下catalina bat文件 加入以下内容 Linux
  • 陀螺研究院院长余维仁:区块链赋能供应链金融,助力供应链产业升级

    2020年9月24日晚7点30分四川省区块链行业协会 BSI大应用 小故事 栏目第十一期准时开播 协会邀请到陀螺研究院院长 深圳市信息服务业区块链协会副会长余维仁对八部委联合发布的供应链金融框架文件进行了解读 并阐释了区块链如何赋能供应链金
  • ValueError: Found array with dim 4. Estimator expected和ValueError: Expected 2D array, got 1D array i

    python3中对numpy数组进行降维或升维 解决报错如 1 ValueError Found array with dim 4 Estimator expected 2 ValueError Expected 2D array got
  • Red Hat 服务配置实验day02

    day02 1 再配置两台相同环境的 分别取名为client1 client2 细节不说了 克隆不克隆随你 mac别一样就行 2 配置网卡 sever client1 client2 配置相同的虚拟网卡 别选0 1 8 这三个一般别的nat
  • AssetBundle(五) 关于SceneManager.LoadScene的误解

    上篇 AssetBundle 四 Tolua对接 下篇 AssetBundle 六 关于PC下用Assetbundle材质丢失的问题解决 SceneManager LoadScene 是Unity内置的场景加载接口 在UnityEngine
  • 2023华为OD机试真题-基站维修工程师(JAVA、Python、C++)

    题目描述 小王是一名基站维护工程师 负责某区域的基站维护 某地方有n个基站 1
  • 基于卷积的图像分类识别(六):DenseNet & FractalNet

    系列文章目录 本专栏介绍基于深度学习进行图像识别的经典和前沿模型 将持续更新 包括不仅限于 AlexNet ZFNet VGG GoogLeNet ResNet DenseNet SENet MobileNet ShuffleNet Eif
  • 注册Github账号详细教程【超详细篇--适合新手入门】

    目录 一 GitHub的简介 二 如何注册自己的GitHub账户 1 进入github的官网 2 点击右上角注册按钮sign up 来到注册页面 4 点击Continue 继续在光标处创建密码 继续创建用户名 5 进行相应的验证 点击 cr
  • JAVA2实用教程(第5版)第五章

    第5章 子类与继承 5 1子类与父类 子类只能有一个父类 5 2子类的继承 1 继承 先定义一个共有属性的一般类 父类 超类 再以此来定义具有特殊属性的子类 java不支持多重继承 2 定义子类 class 子类名 extends 父类名
  • 微信小程序添加底部导航栏+实现点击跳转代码书写

    类比大麦网的底部导航栏作为案例来书写流程 建立如下文件夹 标红为底部导航栏的导航文件夹 某些需要新建 在app json中添加如下代码 整体代码为 pages pages index index pages scene scene page
  • Linux 内核模块查看命令

    ldd命令 显示应用程序 二进制程序 所依赖的库文件 root ambari01 ldd lib64 libhandle so 1 linux vdso so 1 gt 0x0000ffff9ea70000 libc so 6 gt lib
  • 天猫精灵是干啥的

    听 听歌 听新闻 听故事 听笑话 听它发癫 查 查天气 查快递 查信息 查购物等等 控 控制智能家居 陪 娃 陪老人 陪自己解闷 看 看视频 看剧 看新闻 看综艺 纯为了摆设 看天猫精灵的颜值 好用的 1 设置早上和晚上的闹钟 可以说 天猫
  • bfs 二叉树 遍历

    bfs 遍历二叉树 之前只知道bfs 的思想以及需要使用队列来进行存储 为了更好的理解bfs 手写了bfs 遍历二叉树的两种方式 方法 一种是采用常用的递归执行 另一种是采用循环执行 使用栈来代替递归 二叉树定义 class Node ge
  • 【计算机毕设选题】计算机毕业设计选题推荐

    大四是整个大学期间最忙碌的时光 很多同学准备考研 考公 或者是需要为自己的毕业设计花费大量的时间 今天是2023年九月5号 大四的同学马上要开始毕业设计 对选题有疑问可以问我哦 详细的联系方式见文末小卡片 一 本人介绍 本人是一名95后全栈
  • 键盘事件keypress 和 keydown、keyup 的用法与区别

    KeyDown 用户摁下摁键时发生 KeyPress 用户摁下摁键 并且产生一个字符时发生 KeyUp 用户释放某一个摁键时触发 定义和用法 完整的 keypress 过程分为两个部分 1 按键被按下 2 按键被松开 当按钮被按下时 发生
  • Nginx 反向代理配置--简单入门级

    Nginx可以作为一个反向代理服务器 需要进行配置 概念 客户端发送请求到服务器 客户端认为是原始服务器 实际上是一台反向服务器 反向代理服务器接收请求并将请求转发给内部网络中的多台集群服务器 并将响应的数据返回给客户端 反向代理一般用于服
  • Ubuntu系统修复、系统安装与系统备份

    一 Ubuntu系统修复 1 正常开机无法进入图形界面 卡logo 无法进入系统图形化界面 但是ctrl alt F1 能够进入tty1命令行界面进行操作 解决办法 通过命令行进入 需要重新配置网卡 ifconfig eth0 192 16