生成Linux系统下的一些文件

生成Linux系统下的一些文件

文章目录

  • 生成Linux系统下的一些文件
    • 1. Initrd
      • 1.1 dracut命令
      • 1.2 mkinitramfs命令
    • 2. GRUB
      • 2.1 Grub
      • 2.2 grub.cfg
      • 2.3 grub.efi
    • 3. fstab
      • 3.1 自动更新
      • 3.2 手动更新
    • 4. 生成用户

1. Initrd

通常, lib/modules/下的文件夹名称和内核的版本名是一致的, 所以可以通过下列命令生成Initrd:

1.1 dracut命令

ls lib/modules/* | xargs -I N dracut --kver N --force

1.2 mkinitramfs命令

ls lib/modules/* | xargs -I N mkinitramfs /lib/modules/N -o /boot/initrd.img-N 

2. GRUB

2.1 Grub

通常, Grub安装在当前启动系统所在的磁盘上, 如下命令可以找到当前磁盘. (希望将Grub安装在其他盘的同学, 看明白自己想要的效果)

[root@mxd ~]# lsblk -P | grep "$(lsblk -P | grep -w 'MOUNTPOINTS="/"' | sed 's/.*MAJ:MIN="\([^:]*\).*/\1/g'):0" | awk -F '"' '{print "/dev/" $2}'
/dev/nvme0n1

再通过grub-install或者grub2-install命令安装进磁盘:

grub-install /dev/nvme0n1

2.2 grub.cfg

grub-mkconfig -o /boot/grub/grub.cfg

2.3 grub.efi

grub-mkimage -c /boot/grub/grub.cfg -o /boot/efi/EFI/BOOT/BOOTLOONGARCH64.EFI -O loongarch64-efi

2.1节中生成grub可以让bios找到启动设备, 自动启动.

假如没有执行2.1中的内容, 用户可以在UEFI下通过手动执行此节命令中生成的BOOTLOONGARCH64.EFI加载grub程序.

3. fstab

系统启动后, 启动参数中的root=后面的内容将被挂载为根文件系统, 也就是Linux目录中的/分区, 而其他的目录的挂载依赖/etc/fstab中的描述, 倘若重新分区, 通常需要更新/etc/fstab中的内容. 里面的内容具体含义详情https://www.bing.com/

3.1 自动更新

自动更新的前提是对应目录已经按照预设想法挂载, 比如:

[root@mxd ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   300M  0 part /boot/efi
├─sda2   8:2    0   300M  0 part /boot
├─sda3   8:3    0  41.3G  0 part /
├─sda4   8:4    0  41.3G  0 part
├─sda5   8:5    0 146.5G  0 part /root
│                                /opt
│                                /home
│                                /var
│                                /data
└─sda6   8:6    0   8.8G  0 part [SWAP]

然后使用github上开源的genfstab工具生成:

[root@mxd ~]# git clone https://github.com/glacion/genfstab.git
正克隆到 'genfstab'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 14 (delta 0), reused 1 (delta 0), pack-reused 11
接收对象中: 100% (14/14), 29.18 KiB | 281.00 KiB/s, 完成.
处理 delta 中: 100% (2/2), 完成.
[root@mxd ~]# cd genfstab/
[root@mxd ~ genfstab]# ./genfstab -U > /etc/fstab

同样, 假如在制作非当前启动系统的fstab文件, 例如:

[root@mxd ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   300M  0 part /mnt/boot/efi
├─sda2   8:2    0   300M  0 part /mnt/boot
├─sda3   8:3    0  82.6G  0 part /mnt
├─sda4   8:5    0 146.5G  0 part /mnt/home
└─sda5   8:6    0   8.8G  0 part [SWAP]

也同样可以使用:

[root@mxd ~ genfstab]# ./genfstab -U > /mnt/etc/fstab

3.2 手动更新

同样, 假如在制作非当前启动系统的fstab文件, 例如:

[root@mxd ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   300M  0 part /mnt/boot/efi
├─sda2   8:2    0   300M  0 part /mnt/boot
├─sda3   8:3    0  82.6G  0 part /mnt
├─sda4   8:5    0 146.5G  0 part /mnt/home
└─sda5   8:6    0   8.8G  0 part [SWAP]
[root@mxd ~]# blkid
/dev/sda2: LABEL="bootfs" UUID="6a68fa6e-4fa3-4036-91a3-6f0b2e6ff1b4" BLOCK_SIZE="1024" TYPE="ext3" PARTUUID="2215dfd8"
/dev/sda4: LABEL="datafs" UUID="b4e5345f-171e-447c-8b89-52459b29a380" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="0ba0e5ea-a"
/dev/sda3: LABEL="rootfs" UUID="103a31fa-631b-4ec5-8295-0817394b36d6" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="687bdb73-3"
/dev/sda1: UUID="768C-0E8F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="bbb4bdad-36d3-4300-872c-1c00b15588c2"
/dev/sda5: UUID="e7429117-dba5-4318-8d48-ab34b7919f6d" TYPE="swap" PARTUUID="5bb18f47-7756-4be9-b5c0-59d1f1d36fed"

只需要将对应分区的UUID填写到/mnt/etc/fstab中去.

第一列是UUID, 或者理解是挂载的来源

第二列是挂载的目标位置

第三列是挂载的类型

第四列是挂载的参数

[root@mxd ~]# cat /mnt/etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=768C-0E8F                            /boot/efi      vfat    defaults,noatime 0 2
UUID=6a68fa6e-4fa3-4036-91a3-6f0b2e6ff1b4 /boot          ext3    defaults,noatime 0 2
UUID=103a31fa-631b-4ec5-8295-0817394b36d6 /              xfs     defaults,noatime,discard 0 1
UUID=b4e5345f-171e-447c-8b89-52459b29a380 /home          xfs     defaults,noatime,discard 0 2
UUID=e7429117-dba5-4318-8d48-ab34b7919f6d swap           swap    defaults,noatime 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

其中第四列挂载的参数可以参考mount -v的输出, 不清楚的抄一抄上述内容, 基本是可用的.

4. 生成用户

其实是创建用户, 任何系统都需要一个可登录的用户来操作, 那么则必须配置一个用户作为登录选项.

开发中常用root帐号通常是自带的, 但是我们需要对其设定密码, 通过passwd root命令.

如果我们需要普通用户, 则需要通过useradd命令创建:

[root@mxd ~]# useradd -m -s /bin/bash username
[root@mxd ~]# passwd username
新的密码:
重新输入新的密码:
passwd:已成功更新密码

通常, 上述内容是制作一个操作系统最基本的内容(个人理解, 非专业说明).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过在Z平面放置零极点的来设计数字滤波器

文章来源地址&#xff1a;https://www.yii666.com/blog/393376.html 通过在Z平面放置零极点的来设计数字滤波器 要求&#xff1a;设计一款高通滤波器&#xff0c;用在音频信号处理过程中&#xff0c;滤掉100Hz以下的信号。 实现方法&#xff1a;通过在Z平面放置零极点的来设…

数据结构与算法【02】—线性表

CSDN系列专栏&#xff1a;数据结构与算法专栏 针对以前写的数据结构与算法系列重写(针对文字描述、图片、错误修复)&#xff0c;改动会比较大&#xff0c;一直到更新完为止 前言 通过前面数据结构与算法基础知识我们知道了数据结构的一些概念和重要性&#xff0c;那么本章总结…

华为政企光传输网络产品集

产品类型产品型号产品说明 maintainProductEA5800-X15 典型配置 上行160G 下行64口GPON 16口XGS PONEA5800系列多业务接入设备定位为面向NG-PON的下一代OLT&#xff0c;基于分布式架构&#xff0c;运用虚拟接入技术&#xff0c;为用户提供宽带、无线、视频回传等多业务统一承…

15、Nuxt.js代理转发解决跨域问题

nuxt.config.js export default {...// Modules: https://go.nuxtjs.dev/config-modulesmodules: ["nuxtjs/axios"],axios: {proxy: true, // 开启代理转发prefix: "/api"},// 代理转发proxy: {/api: {target: "https://mock.mengxuegu.com/mock/654…

【UE 材质】简单的闪闪发光材质

效果 节点 参考视频&#xff1a; https://www.bilibili.com/video/BV1uK411y737/?vd_source36a3e35639c44bb339f59760641390a8

MySQL(8):聚合函数

聚合函数介绍 聚合函数&#xff1a; 对一组数据进行汇总的函数&#xff0c;输入的是一组数据的集合&#xff0c;输出的是单个值。 聚合函数类型&#xff1a;AVG(),SUM(),MAX(),MIN(),COUNT() AVG / SUM 只适用于数值类型的字段&#xff08;或变量&#xff09; SELECT AVG(…

【LeetCode】每日一题 2023_11_4 数组中两个数的最大异或值

文章目录 刷题前唠嗑题目&#xff1a;数组中两个数的最大异或值题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 题目&#xff1a;数组中两个数的最大异或值 题目链接&#xff1a;421. 数组中两个数的最大异或值 题目描述 代…

python问题笔记2

70 列表嵌套元组,分别按字母和数字排序 您可以使用Python中的sorted()函数来对列表中的元组进行排序。首先,您需要定义一个自定义的排序函数,以便根据字母或数字进行排序。 以下是一个例子,展示如何按字母和数字分别对嵌套元组进行排序: def sort_by_letter(item):retu…

前端埋点方式

前言&#xff1a; 想要了解用户在系统中所做的操作&#xff0c;从而得出用户在本系统中最常用的模块、在系统中停留的时间。对于了解用户的行为、分析用户的需求有很大的帮助&#xff0c;想实现这种需求可以通过前端埋点的方式。 埋点方式&#xff1a; 1.什么是埋点&#xff1f…

基于Jenkins实现接口自动化持续集成,学完涨薪5k

一、JOB项目配置 1、添加描述 可选选项可填可不填 2、限制项目的运行节点 节点中要有运行环境所需的配置 节点配置教程&#xff1a;https://blog.csdn.net/YZL40514131/article/details/131504280 3、源码管理 需要将脚本推送到远程仓库中 4、构建触发器 可以选择定时构建…

【python】路径管理+路径拼接问题

路径管理 问题相对路径问题绝对路径问题 解决os库pathlib库最终解决 问题 环境&#xff1a;python3.7.16 win10 相对路径问题 因为python的执行特殊性&#xff0c;使用相对路径时&#xff0c;在不同路径下用python指令会有不同的索引效果&#xff08;python的项目根目录根据执…

Temp directory ‘C:\WINDOWS\TEMP‘ does not exist

问题描述 解决方法 管理员权限问题&#xff0c;进入temp文件夹更改访问权限即可。 点击 temp文件夹 属性 -> 安全 -> 高级 -> 更改主体Users权限 给读取和写入权限 参考博客 开发springboot项目时无法启动Temp directory ‘C: \WINDOWS\TEMP‘ does not exist

git本地项目同时推送提交到github和gitee同步

git本地项目同时推送提交到github和gitee同步 同时推送到GitHub和Gitee&#xff08;码云&#xff09;可以通过设置多个远程仓库地址来实现。具体步骤如下&#xff1a; 一、分别推送 # 初始化仓库 git init# 添加远程仓库 git remote add gitee gitgitee.com:bealei/test.git…

C 保留字解释

语句 // 单行注释 /* */ 多行注释 #include 头文件引入声明 #define 预先定义 return 结果返回语句&#xff08;可以带参数&#xff0c;也可不带参数&#xff09; printf(); 输出 if 条件语句 else 条件语句否定分支&#xff08;和 if 连用&a…

5.2 向线程传递参数

pthread_create()允许编程人员向线程的执行方法中传入一个参数&#xff0c;对于需要传递多个参数的情况&#xff0c;可以将这些参数封装到一个结构体中&#xff0c;然后将结构体对象的指针作为参数进行传入。传入的参数必须为(void *)类型。 问题&#xff1a;考虑到线程启动和调…

Python库学习(十二):数据分析Pandas[下篇]

接着上篇《Python库学习(十一):数据分析Pandas[上篇]》,继续学习Pandas 1.数据过滤 在数据处理中&#xff0c;我们经常会对数据进行过滤&#xff0c;为此Pandas中提供mask()和where()两个函数&#xff1b; mask(): 在 满足条件的情况下替换数据&#xff0c;而不满足条件的部分…

leetcode-经典面/笔试题目

1.消失的数字 面试题 17.04. 消失的数字 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/missing-number-lcci/ 这个题目当然有好几种解法&#xff0c;这里我推荐一种比较优秀的思路&#xff0c;也就是单身狗思路&#xff1a;异或。 异或的特点是相异…

账户权限控制

1.首先配置一个单群组4节点的链 1.1创建操作目录 cd ~ && mkdir -p fisco && cd fisco 1.2下载国内脚本 curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod ux bu…

【KVM】软件虚拟化和硬件虚拟化类型

前言 大家好&#xff0c;我是秋意零。 今天介绍的内容是虚拟化技术以及软件虚拟化和硬件虚拟化。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平台同名&#xff0c; 秋意零 账号创作者、 云社区 创建者&#x1f9d1; 个…

Linux 之搭建 arm 的 qemu 模拟器

目录 1. Linux 之搭建 arm 的 qemu 模拟器 1. Linux 之搭建 arm 的 qemu 模拟器 OS: kali 1. 安装交叉编译工具、GDB 和 QEMU # sudo apt-get install qemu debootstrap qemu-user-static # sudo apt-get install qemu-system-arm # sudo apt-get install gdb-multiarch //支持…