惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
Recent Announcements
Recent Announcements
Jina AI
Jina AI
G
Google Developers Blog
腾讯CDC
博客园_首页
博客园 - 【当耐特】

陈陈菌博客

如何在 podman 容器内使用 systemd 在 podman 运行 GUI 应用的经验总结 管理 podman 容器与镜像的导入或导出 用 xdg-dbus-proxy 解决容器的文件选择器的问题 解决 VSCodium 或 Code-Server 无法安装 GitHub Copilot 问题 不可变发行版 Fedora Silverblue 的体验记录 解决 apt 或 dnf 无法 tab 补全的问题 对 (MPA) 多页面切换实现丝滑动画的探索 让服务在非 Root 权限下使用 80 或 443 端口 AppImage 应用打包快速上手 Flatpak 使用和应用打包快速上手 如何用 webSocket 实现一个实时聊天应用 Linux 内核编译 | 快速上手 | deb 使用 debootstrap 构建 Debian 系根文件系统 高度可定制的 KDE 窗口装饰器 klassy 有关 docker、podman、nspawn、bwrap 的 Linux 容器图形性能测试 创建任意 Linux 容器并支持 GUI 程序 (Docker) 创建任意 Linux 容器并支持 GUI 程序 (nspawn) 文件同步工具 rsync 的使用 玲珑 (Linyaps) 应用打包 RPM 打包指南 | 精简版 PBR 材质的各种贴图类型入门 APU | Stable-Diffusion 使用记录 如何在 Electron 上启用 WebGPU Grub 主题安装与配置 Fcitx5 主题安装与自定义 不使用 Nginx 的网站开发指南 如何自制一个简易的资源监控程序 SQL 常用 CRUD 语法记录 Debian 打包入门,与需要注意的问题
在 fedora 建立一个 Arch 容器 (bwrap)
GlumiStudio@ · 2024-10-03 · via 陈陈菌博客

2024-10-03 23:20:33

分类: Linux 标签: 容器,Fedora,Arch


在尝试 上一篇文章 (建立一个 Debian 隔离容器)可行之后,有天需要用到 Arch 的一些环境,决定再次尝试建立一个 Arch 的容器以方便使用。

Arch 官方提供了一种 Bootstrap 镜像(这里是阿里云的下载节点,架构为 x86_64)

下载完成后将它解压,即可得到一个 Arch 的基础 rootfs.

在安装 bwrap (bubblewrap) 的前提下

sudo dnf install bubblewrap 

编写一个启动脚本

#!/bin/bash
CHROOT_DIR="/path/to/arch"
uid="1000"
gid="1000"
bwrap \
  --dev-bind $CHROOT_DIR / \
  --proc /proc \
  --dev /dev \
  --dev-bind-try /dev/snd/midiC3D0 /dev/snd/midiC3D0 \
  --dev-bind /dev/snd /dev/snd \
  --dev-bind-try /dev/shm /dev/shm \
  --dev-bind-try /etc/resolv.conf /etc/resolv.conf \
  --dev-bind-try /dev/dri /dev/dri \
  --dev-bind /tmp /tmp \
  --dev-bind-try /run/user/$uid/pulse /run/user/$uid/pulse \
  --setenv DISPLAY :0 \
  --dev-bind-try /media /media \
  --dev-bind /run /run \
  --dev-bind /sys /sys \
  --dev-bind /tmp/.X11-unix /tmp/.X11-unix \
  --chdir / \
  --hostname ArchBox \
  --cap-add CAP_SYS_ADMIN \
  --unshare-uts \
  -- /bin/bash

这里 /path/to/arch 为 arch rootfs 的路径。其他的参数具体作用可了解上一篇文章。点击前往 最后用同样的方法,在 sudo [shell文件路径] 提权执行后即可进入该容器。它的作用就和使用 arch-chroot 差不多。

首先进去后先编辑 /etc/pacman.d/mirrorlist 设置一下 pacman 软件源节点。只需要挑选其中并去掉 # 注释保存即可。

然后我们运行一下以下代码,以初始化 pacman 的 keyring

pacman-key --init
pacman-key --populate archlinux

接下来就能愉快的在 fedora 使用 Arch 环境啦。

贴一张预览图:

更多相关推荐阅读:https://wiki.archlinuxcn.org/wiki/Bubblewrap