admin管理员组

文章数量:1530842

一、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/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/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/shapsnail/article/details/49405057

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

2.物理机安装Ubuntu
(1)制作U盘系统盘

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

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

(2)分区表

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

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

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

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

具体的分区表

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

详细介绍参考这篇博客吧
分区操作流程参考:
安装Ubuntu16.04系统步骤详细加分区 - 简书 https://www.jianshu/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即可。大前提是你的系统还能进入命令行界面进行操作。

本文标签: 系统安装系统备份系统Ubuntu