当前位置: 首页 > news >正文

网站建设添加背景命令关键词推广优化排名品牌

网站建设添加背景命令,关键词推广优化排名品牌,廊坊百度推广优化,用一个矿泉水瓶子做手工参考链接 https://wiki.debian.org/Initrd https://blog.csdn.net/zhaominyong/article/details/119546892 initrd.img的作用 用于在启动时临时挂载根文件系统 加载关键驱动 切换到真正的根文件系统 initrd.img所处的位置 ls -lh /boot/initrd.img-* 可以看到有多个ini…

参考链接

  1. https://wiki.debian.org/Initrd

  2. https://blog.csdn.net/zhaominyong/article/details/119546892

initrd.img的作用

  1. 用于在启动时临时挂载根文件系统

  2. 加载关键驱动

  3. 切换到真正的根文件系统

initrd.img所处的位置

ls -lh /boot/initrd.img-*

可以看到有多个initrd.img文件

查看当前内核版本确定使用的initrd.img文件

uname -r

解压initrd.img

1. 查看压缩方式

file /boot/initrd.img-$(uname -r)
  • gzip compressed data → 压缩的CPIO归档

  • ASCII cpio archive → 未压缩的CPIO归档。

  • Linux rev 1.0 ext2 filesystem data → 旧式RAM磁盘映像

压缩方式为未压缩的cpio归档

2. 解压

cd /boot
sudo mkdir temp_initrd
cd temp_initrd
sudo cpio -idmv < /initrd.img-$(uname -r)

此时你会发现这并不是实际的initrd.img文件:(

因为Debian系统使用了另一套方式(initramfs-tools)来管理initrd.img文件

sudo unmkinitramfs /boot/initrd.img-$(uname -r) /boot/temp_initrd

使用这条命令才能正确地解压

之后打开文件夹,目录如下

/tmp/initrd/
├── main/      # 主 initramfs 内容(包含 init 脚本和核心文件)
│   ├── bin
│   ├── dev
│   ├── etc
│   ├── init    # 初始化脚本
│   ├── lib
│   └── ...
└── early/     # 早期加载的微码文件(如 CPU 微码更新)└── kernel/x86/microcode/AuthenticAMD.bin

查看initrd.img内部的执行命令

initrd.img内部执行操作由init脚本决定

使用cat命令打开init脚本后可以看到内部操作

cat /boot/temp_initrd/main/init
#!/bin/sh# Default PATH differs between shells, and is not automatically exported
# by klibc dash.  Make it consistent.
export PATH=/sbin:/usr/sbin:/bin:/usr/bin[ -d /dev ] || mkdir -m 0755 /dev
[ -d /root ] || mkdir -m 0700 /root
[ -d /sys ] || mkdir /sys
[ -d /proc ] || mkdir /proc
[ -d /tmp ] || mkdir /tmp
mkdir -p /var/lock
mount -t sysfs -o nodev,noexec,nosuid sysfs /sys
mount -t proc -o nodev,noexec,nosuid proc /proc# shellcheck disable=SC2013
for x in $(cat /proc/cmdline); docase $x ininitramfs.clear)clear;;quiet)quiet=y;;esac
doneif [ "$quiet" != "y" ]; thenquiet=necho "Loading, please wait..."
fi
export quiet# Note that this only becomes /dev on the real filesystem if udev's scripts
# are used; which they will be, but it's worth pointing out
mount -t devtmpfs -o nosuid,mode=0755 udev /dev# Prepare the /dev directory
[ ! -h /dev/fd ] && ln -s /proc/self/fd /dev/fd
[ ! -h /dev/stdin ] && ln -s /proc/self/fd/0 /dev/stdin
[ ! -h /dev/stdout ] && ln -s /proc/self/fd/1 /dev/stdout
[ ! -h /dev/stderr ] && ln -s /proc/self/fd/2 /dev/stderrmkdir /dev/pts
mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true# Export the dpkg architecture
export DPKG_ARCH=
. /conf/arch.conf# Set modprobe env
export MODPROBE_OPTIONS="-qb"# Export relevant variables
export ROOT=
export ROOTDELAY=
export ROOTFLAGS=
export ROOTFSTYPE=
export IP=
export DEVICE=
export BOOT=
export BOOTIF=
export UBIMTD=
export break=
export init=/sbin/init
export readonly=y
export rootmnt=/root
export debug=
export panic=
export blacklist=
export resume=
export resume_offset=
export noresume=
export drop_caps=
export fastboot=n
export forcefsck=n
export fsckfix=# Bring in the main config
. /conf/initramfs.conf
for conf in conf/conf.d/*; do[ -f "${conf}" ] && . "${conf}"
done
. /scripts/functions# Parse command line options
# shellcheck disable=SC2013
for x in $(cat /proc/cmdline); docase $x ininit=*)init=${x#init=};;root=*)ROOT=${x#root=}if [ -z "${BOOT}" ] && [ "$ROOT" = "/dev/nfs" ]; thenBOOT=nfsfi;;rootflags=*)ROOTFLAGS="-o ${x#rootflags=}";;rootfstype=*)ROOTFSTYPE="${x#rootfstype=}";;rootdelay=*)ROOTDELAY="${x#rootdelay=}"case ${ROOTDELAY} in*[![:digit:].]*)ROOTDELAY=;;esac;;nfsroot=*)# shellcheck disable=SC2034NFSROOT="${x#nfsroot=}";;initramfs.runsize=*)RUNSIZE="${x#initramfs.runsize=}";;ip=*)IP="${x#ip=}";;boot=*)BOOT=${x#boot=};;ubi.mtd=*)UBIMTD=${x#ubi.mtd=};;resume=*)RESUME="${x#resume=}";;resume_offset=*)resume_offset="${x#resume_offset=}";;noresume)noresume=y;;drop_capabilities=*)drop_caps="-d ${x#drop_capabilities=}";;panic=*)panic="${x#panic=}";;ro)readonly=y;;rw)readonly=n;;debug)debug=yquiet=nif [ -n "${netconsole}" ]; thenlog_output=/dev/kmsgelselog_output=/run/initramfs/initramfs.debugfiset -x;;debug=*)debug=yquiet=nset -x;;break=*)break=${x#break=};;break)break=premount;;blacklist=*)blacklist=${x#blacklist=};;netconsole=*)netconsole=${x#netconsole=}[ "$debug" = "y" ] && log_output=/dev/kmsg;;BOOTIF=*)BOOTIF=${x#BOOTIF=};;fastboot|fsck.mode=skip)fastboot=y;;forcefsck|fsck.mode=force)forcefsck=y;;fsckfix|fsck.repair=yes)fsckfix=y;;fsck.repair=no)fsckfix=n;;esac
done# Default to BOOT=local if no boot script defined.
if [ -z "${BOOT}" ]; thenBOOT=local
fiif [ -n "${noresume}" ] || [ "$RESUME" = none ]; thennoresume=y
elseresume=${RESUME:-}
fimount -t tmpfs -o "nodev,noexec,nosuid,size=${RUNSIZE:-10%},mode=0755" tmpfs /run
mkdir -m 0700 /run/initramfsif [ -n "$log_output" ]; thenexec >"$log_output" 2>&1unset log_output
fimaybe_break top# Don't do log messages here to avoid confusing graphical boots
run_scripts /scripts/init-topmaybe_break modules
[ "$quiet" != "y" ] && log_begin_msg "Loading essential drivers"
[ -n "${netconsole}" ] && /sbin/modprobe netconsole netconsole="${netconsole}"
load_modules
[ "$quiet" != "y" ] && log_end_msgstarttime="$(_uptime)"
starttime=$((starttime + 1)) # round up
export starttimeif [ "$ROOTDELAY" ]; thensleep "$ROOTDELAY"
fimaybe_break premount
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-premount"
run_scripts /scripts/init-premount
[ "$quiet" != "y" ] && log_end_msgmaybe_break mount
log_begin_msg "Mounting root file system"
# Always load local and nfs (since these might be needed for /etc or
# /usr, irrespective of the boot script used to mount the rootfs).
. /scripts/local
. /scripts/nfs
. "/scripts/${BOOT}"
parse_numeric "${ROOT}"
maybe_break mountroot
mount_top
mount_premount
mountroot
log_end_msgif read_fstab_entry /usr; thenlog_begin_msg "Mounting /usr file system"mountfs /usrlog_end_msg
fi# Mount cleanup
mount_bottom
nfs_bottom
local_bottommaybe_break bottom
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-bottom"
# We expect udev's init-bottom script to move /dev to ${rootmnt}/dev
run_scripts /scripts/init-bottom
[ "$quiet" != "y" ] && log_end_msg# Move /run to the root
mount -n -o move /run ${rootmnt}/runvalidate_init() {run-init -n "${rootmnt}" "${1}"
}# Check init is really there
if ! validate_init "$init"; thenecho "Target filesystem doesn't have requested ${init}."init=for inittest in /sbin/init /etc/init /bin/init /bin/sh; doif validate_init "${inittest}"; theninit="$inittest"breakfidone
fi# No init on rootmount
if ! validate_init "${init}" ; thenpanic "No init found. Try passing init= bootarg."
fimaybe_break init# don't leak too much of env - some init(8) don't clear it
# (keep init, rootmnt, drop_caps)
unset debug
unset MODPROBE_OPTIONS
unset DPKG_ARCH
unset ROOTFLAGS
unset ROOTFSTYPE
unset ROOTDELAY
unset ROOT
unset IP
unset BOOT
unset BOOTIF
unset DEVICE
unset UBIMTD
unset blacklist
unset break
unset noresume
unset panic
unset quiet
unset readonly
unset resume
unset resume_offset
unset noresume
unset fastboot
unset forcefsck
unset fsckfix
unset starttime# Move virtual filesystems over to the real filesystem
mount -n -o move /sys ${rootmnt}/sys
mount -n -o move /proc ${rootmnt}/proc# Chain to real filesystem
# shellcheck disable=SC2086,SC2094
exec run-init ${drop_caps} "${rootmnt}" "${init}" "$@" <"${rootmnt}/dev/console" >"${rootmnt}/dev/console" 2>&1
echo "Something went badly wrong in the initramfs."
panic "Please file a bug on initramfs-tools."

http://www.dtcms.com/a/441572.html

相关文章:

  • 网站谁家做得好wordpress 下划线
  • 营销型网站建设找哪家汉中今天确诊名单
  • asp学习网站宝山网站建设服务
  • 网站制作 常州东莞专业网络营销公司
  • 招商网站的建设意义会展中心网站建设
  • 北京市建设工程造价管理处网站建个企业网站多少钱
  • 展示营销类网站wordpress永久链接
  • 临沂网站制作软件做网站将文字放在图片上
  • 仿牌网站安全湛江外包做网站
  • 建立内部网站网站建设的步骤教程下载
  • 做个个人网站多少钱wordpress自定义字段框架
  • 北京好的网站设计机构网站建设培训内容
  • 上海高端网站定文字图片一键生成器
  • 多人一起做视频网站网络公司关键词排名
  • 自适应网站建设价格做一件代发的网站
  • 济南做网站哪好深圳市建设工程交易服务中心宝安分中心
  • 网站建设及推广人员海口网站关键词优化
  • 泸州百度做网站联系深圳手机移动网站开发
  • 北京企业网站建设pc优化工具
  • 网站中的知识 视频从哪里来的手机搜索引擎排行榜
  • 临邑网站开发自己做平台网站
  • 环保局网站如何做备案证明wordpress 浮动广告
  • 营销型网站建设的流程网络营销中的seo与sem
  • 广州购物网站建设报价网络营销公司排名榜
  • 新手如何自己做网站app网站建设有掏钱么
  • 网站建设的目的与意义网站建设费用英文
  • 自己建网站需要多少钱协会建设网站的目的
  • 做金融的网站vs2012网站开发课程设计
  • 河南建设银行处理违章网站企业网站导航设计
  • 公司网站微信平台建设的好处天天seo站长工具