加入收藏 | 设为首页 | 会员中心 | 我要投稿 吕梁站长网 (https://www.0358zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 空间 > 正文

Linux 竟然如此强大!能当主力,能入虚拟机,还能随时打包带走。。。

发布时间:2018-09-07 18:24:12 所属栏目:空间 来源:佚名
导读:9月15日技术沙龙 | 如何将智能化和运维工作相结合,实现智能运维! 这里介绍一下自己管理自己的Linux桌面的一点经验吧,我觉得还是有不少可取之处的。先来说一下大多数人管理Linux桌面的方法有哪些不方便的地方吧: 买新电脑了,又得在新电脑上安装Linux,

Archlinux的手动安装主要还是看官方教程。分区的时候注意按照上文介绍的方法。非常关键的pacstrap那一步注意使用如下命令安装到子卷里,而不是整个btrfs分区中:

  1. pacstrap -d /mnt/archlinux base 

至于fstab,就不要使用教程中的方法来生成了,我们的管理方式比较非常规,还是自己写fstab比较好。bootloader也要按照本文下文说的方式来安装跟配置。至于其他的设置键盘、设置网络、设置时区等操作,照着教程来就行。

deb系的手动安装

deb系的系统网上找到的教程都是使用发行版自带的安装程序的教程,并没有像Archlinux那么详细的手动安装教程。因为我们想要手动安装,所以我们就不参照网上的deb系的安装教程了。但是我们还是有教程可以参照的,那就是Archlinux的wiki里面关于systemd-nspawn的教程,这个教程里面有一节介绍如何使用debootstrap安装Debian或者Ubuntu。具体安装过程请参照上述教程,其中关键命令如下:

  1. debootstrap --arch amd64 zesty /mnt/ubuntu http://archive.ubuntu.com/ubuntu/ 

值得一提的是,我们安装deb系的发行版并不一定要使用deb系的livecd,任何能够安装debootstrap程序的livecd都是可以的。比如说我们完全可以使用Archlinux的livecd来启动,然后安装debootstrap并通过debootstrap来安装Ubuntu。

注意的是,debootstrap并不会像官方安装程序那样安装一个完整齐全开袋即食的操作系统,而只是安装最基本的软件包,读者需要根据自己的情况单独安装桌面环境等的软件包。同时fstab跟bootloader也要根据本文的方法自己配置。

现有系统迁移

Linux系统的迁移其实非常简单,无非就是把rootfs的文件全都拷贝到目的地即可。不过这个过程虽然看似简单,但是还是有一些需要注意的东西的。比如说对于符号链接,如果处理不当,则会不小心把符号链接搞成实体文件,这就不好了。再比如说,文件的权限等元数据的问题,如果处理不当,可能会导致拷贝过程中元数据的丢失。这两种问题,都有可能会导致系统不能正常运行。还有一个需要注意的地方就是,正常运行的操作系统里,会有/proc、/dev等目录,这些目录都是单独的虚拟文件系统,是不需要拷贝的,也是无法拷贝的。

我们现在假设用户想要把位于A的Ubuntu系统迁移到目标子卷/mnt/ubuntu去。其中,A可能位于虚拟机中,可能位于另一台电脑上,也可能位于本地磁盘。对系统进行迁移,大方向上来讲,需要做的有两步:

  1. 挂载相应分区,设置ssh,保证我们能够访问到A。
  2. 使用rsync或者btrfs send命令来把数据从A发送到目标子卷中去。

第一步具体怎么做就不说了,分三种情况简单几句话概括一下怎么做:

  • 如果只是一个分区的话,mount就可以了
  • 如果是另一台机器,把那台机器配置好ssh,保证root用户可以用ssh访问
  • 如果是虚拟机,有两种选择,一种是想办法挂载虚拟机的磁盘镜像,然后像情况1那样处理;另一种则是配置好网络跟ssh,像情况2那样处理。具体采取哪种措施请读者根据自己的情况来自行决定。

第二步我们来分别介绍rsync跟btrfs send两种方法。

我们现在假设A的ip地址为192.168.88.3。则只需执行如下命令即可:

  1. rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} root@192.168.88.3:/ /mnt/ubuntu 

这里提醒读者注意自己系统上是否还有其他不想要同步的文件,记得一并排除掉。

btrfs send只在A的rootfs也是btrfs的情况下才能使用。这个方法的教程参见这里。首先需要做的是在A机器上给rootfs创建一个只读快照(注意下面命令是在A机器上执行的):

  1. btrfs subvolume snapshot -r / /ubuntu 

注意上面命令中快照的名字要和目标子卷的名字相同,这样可以省去将来改名的麻烦。然后就可以使用btrfs send命令来把快照/ubuntu中的内容发送到目的地了,在这之前我们需要暂时删除我们分区的时候创建的ubuntu子卷,这个子卷会在接收过程中自动重新创建:

  1. btrfs subvolume delete /mnt/ubuntu 
  2. ssh root@192.168.88.3 btrfs send /ubuntu | btrfs receive /mnt 

最后在A机器上把刚刚创建的快照删除就可以了

  1. btrfs subvolume delete /ubuntu  

BootLoader与fstab

系统装好了,我们的fstab还没设置,启动管理器也还没安装配置。下面来讲讲怎么配置这两样东西。我们之前说过一定要给分区取一个Label,玄机在这里。如何在虚拟机中直接运行本地磁盘上安装的Linux,以及如何能把一个系统直接进行打包带走而不需要更改太多配置,关键也在这里。

fstab

(编辑:吕梁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读