首页 > 系统相关 >LFS - Linux From Scratch 从零开始全记录 - 1 准备篇

LFS - Linux From Scratch 从零开始全记录 - 1 准备篇

时间:2023-05-12 20:11:21浏览次数:56  
标签:Scratch 虚拟机 sudo dev 挂载 全记录 sdb Linux home

上次折腾 LFS 已经是好几年前了,只记得最后用 VMware 引导成功了,好多技术细节已经不记得了。趁着最近有空,再来折腾一次。这一次用的一台新的 Win10 PC,目标是在一个 U 盘上构建 LFS,然后用 U 盘引导物理机,顺便记录一下整个过程。

准备阶段

下载虚拟机、Ubuntu 镜像

  1. 下载安装 Microsoft Visual C++ Redistributable 2019,VirtualBox 依赖于该组件,如果安装其他程序的时候已安装过这个包,则可跳过
  2. 下载安装 VirtualBox
  3. 下载 Ubuntu 22.04.2 LTS 镜像 ubuntu-22.04.2-desktop-amd64.iso 考虑到网速,我从清华镜像站下载的

虚拟机设置

按照我的个人习惯,创建两个磁盘文件

  • /dev/sda 用于系统:BIOS boot、EFI System(/boot)、RootFS(/)
  • /dev/sdb 用于主目录(/home)。万一今后系统挂掉了,我们平时保存资料的 /home 里面的东西都还在,重新搞个虚拟机,再挂载上去就可以了。当然,也可以方便地把这个 vdi 虚拟磁盘文件挂载到其他 Linux 系统

创建虚拟机、挂载上述两个 vdi 文件,挂载光盘镜像,启动,安卓 Ubuntu,按照提示一路下一步即可,安装完成后,弹出 Ubuntu 光盘镜像。

安装后的 Linux 配置

按照个人习惯的可选配置

# 安装 gcc、vim 等工具
sudo apt install vim gcc

# 安装 sshd,这样就可以在 Windows Terminal 中通过 SSH 访问,不再需要 VirtualBox 的图形界面了
sudo apt install openssh-server

# 把 Windows 的公钥 id_rsa.pub 拷到 ~/.ssh/authorized_keys 中,之后可以免密登录。Windows 公钥可以在 PowerShell 通过 ssh-keygen.exe 命令生成,一路回车即可,默认保存在 C:\Users\<username>/.ssh/id_rsa.pub 中
vi ~/.ssh/authorized_keys

# 按照个人习惯设置提示符、命令别名等
vi ~/.bashrc
# 修改 PS1='\w '
# 增加以下别名
# alias l='ls -lh'
# alias sl='ls'
# alias mkae='make'

分区、格式化

# 分区,把 sdb 只分了一个 gpt 分区
sudo cfdisk /dev/sdb # 顺便记下 sdb1 的 Filesystem UUID: 3d7d0be8-02de-420c-9af3-ec0a6c4cca16,后面自动挂载分区要用

# 格式化为 ext4 格式
sudo mkfs -t ext4 -F /dev/sdb1

自动挂载 /dev/sdb

修改 /etc/fstab 自动挂载 /home

sudo vi /etc/fstab

增加下面一行,其中 UUID 来自上面分区的步骤

UUID=3d7d0be8-02de-420c-9af3-ec0a6c4cca16 /home ext4 errors=remount-ro 0 1

转移 /home 到 /dev/sdb

# 备份整个 ~ 目录到 /tmp,其中 -a 可以复制其中的隐藏文件、保留链接、文件属性等
cp -a /home/zijian/ /tmp
sudo rm -rf /home/*

# 挂载
sudo mount /dev/sdb1 /home # 顺便提一句,卸载是 sudo umount /home,并且当前不能在 /home 目录里执行 umount 命令

# 把主目录拷贝到 /dev/sdb 中
sudo cp -a /tmp/zijian /home

新的虚拟机差不多就这样,下一篇开始按照 LFS 教程开始操作!

标签:Scratch,虚拟机,sudo,dev,挂载,全记录,sdb,Linux,home
From: https://www.cnblogs.com/tengzijian/p/17396201.html

相关文章

  • linux安装ftp服务器
    ftp的安装一般用yum直接在线安装;yuminstall-yvsftpd不行就updateyumupdate1.查看ftp状态systemctlstatusvsftpd.service#启动ftpsystemctlstartvsftpd.service#查看下ftp的默认端口21,发现能正常启动ss-anp|grep21#因为还没配置好,先关闭ftpsyste......
  • linux 系统安全和应用
    目录一、系统安全原因:1.系统数据想要保护,否则会造成数据丢失2.系统安全是产品上线的必要要求3.系统安全可以保护系统,避免受到攻击4.系统安全可以保护数据隐私,避免形象受损 二、账号安全1.锁定锁定文件chattr+i文件(可以多个......
  • linux 中 awk命令如何输出双引号和单引号
     001、双引号[root@PC1test]#lsa.txt[root@PC1test]#cata.txt12345[root@PC1test]#awk'{print$0,"\""}'a.txt##输出双引号1"2"3"4"5" 002、单引号[root@PC1test]#lsa.txt[root@PC1tes......
  • linux 中 创建环境变量若干方法
     001、直接修改PATH环境变量[root@PC1plink]#ls##软件目录LICENSEplinkplink_linux_x86_64_20230116.zipprettifytoy.maptoy.ped[root@PC1plink]#pwd##路径/home/software/plink[root@PC1plink]#echo"exportP......
  • Linux 服务器下Mysql自动备份 30天滚动存储 每天凌晨2点准时备份
    一、创建备份目录执行命令:在指定路径下创建备份目录cd/mnt/filemkdirdata_backup二、编写shell脚本放在/mnt/file/data_backup里创建.shshell脚本:touchbkmysql.sh打开脚本文件:vim bkmysql.sh脚本文件内容如下所示:login_user表示数据库用户名......
  • Linux系列---【赋权限的常用命令】
    一、新建用户groupaddafpgroupuseradd-gafpgroupafpecho"afp:woshimima@1234"|chpasswd二、新建目录mkdir-p/opt/app/middlesmkdir-p/opt/app/softwaremkdir-p/opt/data/mkdir-p/opt/log/mkdir-p/opt/backup/三、创建表空间CREATETABLESPACESDMD......
  • 如何在虚拟机Linux系统下(Ubuntu)安装apache2?如何更改Apache2的默认欢迎界面(无障碍)
    一、apache2的安装:1、在图形界面下,先ctrl+alt+T打开终端2、登陆root账号:输入su输入之前设置的密码待$符号变成#时候,即获得root权限3、安装apache2:输入apt-getinstallapache24、启动apache2:输入serviceapache2start5、打开虚拟机的浏览器,输入网址localhost(或者是12......
  • Windows跟Linux的不同处理
    1.时区1.1北京时间Windows:TimeZoneInfo.FindSystemTimeZoneById("ChinaStandardTime");Linux:TimeZoneInfotzBeijing=TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai");1.2美东时间Window: TimeZoneInfo.FindSystemTimeZoneByI......
  • Linux下搭建FTP
    安装vsftpdyuminstall-yvsftpd开机自启动systemctlenablevsftpd.servicesystemctlstartvsftpd.servicenetstat-antup|grepftp配置vsftpdvsftpd(verysecureFTPdaemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种......
  • NetCore项目部署到Linux之后,登录界面验证码不显示问题
    NetCore项目部署到Linux之后,登录界面验证码不显示问题1.在centos下安装libgdiplus-devel; 命令: yuminstalllibgdiplus-devel2.重启.netcore服务(supervisorctlrestart服务名称)我是用的supervisor做的守护进程或者supervisorctlreload......