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

成都网站建设选择到访率wordpress自定义按钮

成都网站建设选择到访率,wordpress自定义按钮,wordpress响应式图片主题,推广网站广告有哪些前言 Linux Namespace 隔离进程的视图,使每个容器看起来像是独立的系统。常见的命名空间包括进程ID、网络、挂载点、UTS、IPC等。 Linux cgroup 控制和限制容器使用的资源,如CPU、内存、磁盘I/O等,确保容器之间的资源隔离和公平分配。 目前…

前言

Linux Namespace 隔离进程的视图,使每个容器看起来像是独立的系统。常见的命名空间包括进程ID、网络、挂载点、UTS、IPC等。

Linux cgroup 控制和限制容器使用的资源,如CPU、内存、磁盘I/O等,确保容器之间的资源隔离和公平分配。

目前为止,容器还差一个跟宿主机隔离的,独立的文件系统环境,pivot_root 解决了这一问题。

pivot_root 介绍

pivot_root 是 Linux 内核中的一个系统调用,主要用于改变当前进程的根文件系统。它的诞生背景与容器技术和系统引导过程中的需求密切相关。

系统引导:在系统启动过程中,内核需要从一个初始的根文件系统(通常是 initrd 或 initramfs)切换到实际的根文件系统。pivot_root 可以在这个过程中帮助完成根文件系统的切换。

容器技术:随着容器化技术的发展,需要在同一台主机上运行多个隔离的用户空间实例。每个容器需要有自己独立的根文件系统,而 pivot_root 可以帮助实现这种隔离。

pivot_root 使用

pivot_root 使用的基本流程:

  1. 准备一个新的根文件系统(必须包含必要的文件和依赖库)
  2. 挂载到宿主机的某个目录
  3. 执行 pivot_root 切换当前进程的根文件系统
  4. cd / 切换到新的根文件系统
  5. 卸载旧根文件系统

pivot_root 需要 root 权限,且新根文件系统必须是一个挂载点,旧根必须挂载到新根的子目录下。

实操一下!

宿主机的 /container 目录下有两个文件

> ls /container
image.tar  change_rootfs.sh
  • image.tar 基于 BusyBox 构建的 Linux 环境,一个 4M 大小的根文件系统
  • change_rootfs.sh 切换根文件系统的脚本

核心在于 change_rootfs.sh 脚本,主要是解压新根文件系统,然后挂载到宿主机,然后切到新根下。

#!/bin/bash
# 确保新根目录不存在
rm -rf /container/rootfs# 开启新的 mount 命名空间
unshare --mount  --fork -- bash -c '
# 创建新根目录
mkdir -p /container/rootfs
# 挂载
mount -t tmpfs rootfs /container/rootfs
# 解压根文件系统到新根目录,确保新根文件系统有必要的文件
tar -xf /container/image.tar -C /container/rootfs
# 创建旧根目录
mkdir -p /container/rootfs/old_rootfs
# 切换到新根,同时挂载旧根到/container/rootfs/old_rootfs
pivot_root /container/rootfs /container/rootfs/old_rootfs
cd /
exec /bin/sh
'

执行脚本,会发现当前终端的根目录已经切到/container/rootfs 下。根目录下是一个基于 BusyBox 构建的极简 Linux 环境,实现了进程的根文件系统隔离,在这个系统下随意操作,都不会影响宿主机。

> ./change_rootfs.sh
/ # ls /
bin         etc         lib         old_rootfs  root        tmp         var
dev         home        lib64       proc        sys         usr

另外会发现,/old_rootfs 挂载的是旧根,通过它还是可以访问宿主机文件系统,卸载它即可。

新开一个终端,是看不到 rootfs 这个挂载点的,因为它运行在独立的命名空间里。同样地,也看不到 /container/rootfs 下的任何文件。

# 宿主机环境下
> mount | grep rootfs
# 无任何输出
> ls /container/rootfs
# 无任何输出

但是在命名空间内,是可以看到 rootfs 挂载点的

> mount | grep 'rootfs on'
rootfs on / type tmpfs (rw,relatime,inode64)

exit 退出命名空间,会回到宿主机,同时命名空间内的资源会被释放,对于宿主机来说,rootfs 依然是空的。

尾巴

pivot_root 是 Linux 中用于更改当前根文件系统的系统调用,它通常用于容器和虚拟化环境中,以隔离应用程序的文件系统环境。通过使用 pivot_root,可以实现更高效的系统管理和资源隔离。

http://www.yayakq.cn/news/275186/

相关文章:

  • 域名拦截检测网站培训机构好还是学校好
  • 网站建设方案标准模板定西市城乡建设局网站
  • 单页网站制作视频教程郑州百度公司地址
  • 上海阀门网站建设优化电池充电什么意思
  • 网站开发计划企业网站cms系统论文
  • wordpress网站安装插件门户制作
  • 江门制作手机网站百度显示网站名
  • 公司的网站建设一般需要多少费用北京制作页面
  • 顺德网站建设怎么样广州网站搭建费用
  • 淮北市做网站最好的公司网站建站
  • 陕西网站建设公司哪有网站广告下悬浮代码怎么做
  • 制作网站购买主机京鑫建设集团网站
  • 自已建网站手机网站开发者工具
  • 网站建设群标签好写什么wordpress产品图片怎么改
  • 网站开发一个多少钱影视 网站建设 新媒体
  • 合肥网站建设技术托管用ai怎么做网站
  • 简洁好看的网站无名岛wordpress
  • 有没有专业做艺术品的网站怎么做网站优化的
  • 微信公众号的微网站开发重庆石柱网站设计公司
  • 青岛专业做网站优化新零售商城
  • 国外那些网站做展厅比较好网站后台建设
  • 睢宁网站建设xzqjwl提供网站建设公司报价
  • 医院网站站群建设方案域名注册需要多少钱
  • 烟台专业做网站的公司软件开发工程师就是程序员吗
  • 设计做任务的网站天津河西做网站
  • 免费学编程网站杭州网站建设哪家好
  • wordpress新建模板关键词优化公司哪家效果好
  • 公司网站内容更新该怎么做房山石家庄网站建设
  • 大连服务公司 网站wordpress 评论等级
  • 丽水建设部门网站如何获取网站根目录链接