FreeBSD里制作ubuntu22 jammy兼容环境的脚本

参考文档:https://book.bsdcn.org/di-21-zhang-linux-jian-rong-ceng/di-21.3-jie-linux-jian-rong-ceng-ji-yu-ubuntudebian

FreeBSD里制作ubuntu22 jammy兼容环境的脚本

#/bin/shrootdir=/compat/ubuntu22
baseurl="https://mirrors.ustc.edu.cn/ubuntu/"
codename=jammyecho "begin to install ubuntu ..."
echo "check modules ..."# check linux module
if [ "$(sysrc -n linux_enable)" = "NO" ]; thenecho "linux module should be loaded. Continue?(N|y)"read answercase $answer in[Nn][Oo]|[Nn])echo "linux module not loaded"exit 1;;*)sysrc linux_enable=YES;;esac
fi
echo "start linux"
service linux start# check dbus
if ! /usr/bin/which -s dbus-daemon;thenecho "dbus-daemon not found. install it [N|y]"read  answercase $answer in[Nn][Oo]|[Nn])echo "dbus not installed"exit 2;;*)pkg install -y dbus;;esacfiif [ "$(sysrc -n dbus_enable)" != "YES" ]; thenecho "dbus should be enable. Continue?(N|y)"read answercase $answer in[Nn][Oo]|[Nn])echo "dbus not running"exit 2;;*)sysrc dbus_enable=YES;;esac
fi
echo "start dbus"
service dbus startif ! /usr/bin/which -s debootstrap; thenecho "debootstrap not found. install it? (N|y)"read  answercase $answer in[Nn][Oo]|[Nn])echo "debootstap not installed"exit 3;;*)pkg install -y debootstrap;;esacfi
echo "now we will bootstrap ${codename}.press any key."
read  answerdebootstrap ${codename} ${rootdir} ${baseurl}if [ ! "$(sysrc -f /boot/loader.conf -qn nullfs_load)" = "YES" ]; thenecho "nullfs_load should load. continue? (N|y)"read answercase $answer in[Nn][Oo]|[Nn])echo "nullfs not load"exit 4;;*)sysrc -f /boot/loader.conf nullfs_load=yes;;esacfiif ! kldstat -n nullfs >/dev/null 2>&1;thenecho "load nullfs module"kldload -v nullfs
fiecho "mount some fs for linux"
echo "devfs ${rootdir}/dev devfs rw,late 0 0" >> /etc/fstab
echo "tmpfs ${rootdir}/dev/shm tmpfs rw,late,size=1g,mode=1777 0 0" >> /etc/fstab
echo "fdescfs ${rootdir}/dev/fd fdescfs rw,late,linrdlnk 0 0" >> /etc/fstab
echo "linprocfs ${rootdir}/proc linprocfs rw,late 0 0" >> /etc/fstab
echo "linsysfs ${rootdir}/sys linsysfs rw,late 0 0" >> /etc/fstab
echo "/tmp ${rootdir}/tmp nullfs rw,late 0 0" >> /etc/fstab
echo "/home ${rootdir}/home nullfs rw,late 0 0" >> /etc/fstab
mount -alecho "add ustc apt sources"
echo "deb http://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse" > /compat/ubuntu22/etc/apt/sources.list
echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.list
echo "deb-src http://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /compat/ubuntu22/etc/apt/sources.listecho "remove rsyslog and install nano fonts-wqy-microhei  fonts-wqy-zenhei language-pack-zh-hans and wget"
chroot ${rootdir} /bin/bash -c "apt remove rsyslog && apt update && apt upgrade && apt install nano wget fonts-wqy-microhei  fonts-wqy-zenhei language-pack-zh-hans"
echo "Now you can run '#chroot /compat/ubuntu22/ /bin/bash' Into Ubuntu"

后期还需要把ubuntu里的/dev/null设为777

运行x11软件

xhost +x250

xhost后面跟主机名


 

调试:

apt update报错

E: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
Err:4 http://mirrors.ustc.edu.cn/ubuntu jammy-backports InReleasegpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
Reading package lists... Done
W: GPG error: http://mirrors.ustc.edu.cn/ubuntu jammy InRelease: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
E: The repository 'http://mirrors.ustc.edu.cn/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
E: The repository 'http://mirrors.ustc.edu.cn/ubuntu jammy-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
E: The repository 'http://mirrors.ustc.edu.cn/ubuntu jammy-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
E: The repository 'http://mirrors.ustc.edu.cn/ubuntu jammy-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Now you can run '#chroot /compat/ubuntu22/ /bin/bash' Into Ubuntu

 手动测试:

修改source.list文件,用https,然后执行:

chroot /compat/ubuntu22  /bin/bash -c "apt
remove rsyslog && apt update && apt upgrade "

还是报错

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'rsyslog' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0% [Working]
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security Release [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security Release.gpg [833 B]     
0% [Waiting for headers]                                             424 B/s 0s/usr/bin/apt-key: 95: cannot create /dev/null: Permission denied
/usr/bin/apt-key: 95: cannot create /dev/null: Permission denied
/usr/bin/apt-key: 95: cannot create /dev/null: Permission denied
E: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed
Ign:3 http://security.ubuntu.com/ubuntu jammy-security Release.gpg             
0% [Waiting for headers]                                             424 B/s 1s^C
 

删掉,还是走mirror,

改成原始的

deb http://archive.ubuntu.com/ubuntu jammy main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security universe multiverse restri
cted main
deb http://archive.ubuntu.com/ubuntu jammy-backports universe multiverse restric
ted main
deb http://archive.ubuntu.com/ubuntu jammy-updates universe multiverse restricte
d main

 不行,到ubuntu22里,把null设为777

root@x250:/dev# chmod 777 null

再apt update,成功!

结论,就是需要手工将ubuntu里的/dev/null 权限设为777

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

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

相关文章

Redis高阶5-布隆过滤器

Redis布隆过滤器 ​ 由一个初始值都为零的bit数组和多个哈希函数构成,用来快速判断集合中是否存在某个元素 目的减少内存占用方式不保存数据信息,只是在内存中做一个是否存在的标记flag 布隆过滤器(英语:Bloom Filter&#xff0…

vim如何设置自动缩进

:set autoindent 设置自动缩进 :set noautoindent 取消自动缩进 (vim如何使设置自动缩进永久生效:vim如何使相关设置永久生效-CSDN博客)

检测到联想鼠标自动调出运行窗口,鼠标自己作为键盘操作

联想鼠标会自动时不时的调用“运行”窗口 然后鼠标自己作为键盘输入 然后打开这个网页 (不是点击了什么鼠标外加按键,这个鼠标除了左右和中间滚轮,没有其他按键了)

(Halcon)轮廓等分切割(项目分析)

目标:获取绿色圆所在位置(可用于点焊/点胶引导) 实现思路 一,相机标定板标定(如果实战用于点焊/点胶引导需要做图像畸变校正以减小误差) 相机标定 如何做一个C#仿Halcon Calibration插件-CSDN博客 二&…

Java面试题2025-Mysql

1.什么是BufferPool? Buffer Pool基本概念 Buffer Pool:缓冲池,简称BP。其作用是用来缓存表数据与索引数据,减少磁盘IO操作,提升效率。 Buffer Pool由缓存数据页(Page) 和 对缓存数据页进行描述的控制块 组成, 控制…

开始步入达梦中级dba

分析内存使用需要的方法之一 disql /nolog conn sysdba/sysdbaselect value from v$parameter where nameMEMORY_LEAK_CHECK; SP_SET_PARA_VALUE(0,MEMORY_LEAK_CHECK,1); select * from V$MEM_REGINFO; select * from V$MEM_HEAP;

UE求职Demo开发日志#7 强化属性完善

1 实现思路设计 定义一个结构体记录技能树一个单元的信息&#xff0c;命名为FStrengthenCellInfo&#xff0c;一个TArray记录技能树整体信息&#xff0c;需要以下信息&#xff1a; 1.TArray前置技能index 2.FString 描述文本 3.TArray<FMyItemInfo>激活需要的物品ID和…

Qt中QVariant的使用

1.使用QVariant实现不同类型数据的相加 方法&#xff1a;通过type函数返回数值的类型&#xff0c;然后通过setValue来构造一个QVariant类型的返回值。 函数&#xff1a; QVariant mainPage::dataPlus(QVariant a, QVariant b) {QVariant ret;if ((a.type() QVariant::Int) &a…

做Midjourney最好图文教程-提示词公式以及高级参数讲解

先说Midjourney万能公式 填写在绘图提示词框里的内容就是提示词&#xff0c;也叫prompt 用途&#xff1a;让Midjourney生成对应图片&#xff08;符合提示词所描述内容的图片&#xff09;&#xff0c;控制图片生成方向种类&#xff1a;文本提示、图像提示、参数提示&#xff0…

【论文阅读】RAG-Reward: Optimizing RAG with Reward Modeling and RLHF

研究背景 研究问题&#xff1a;这篇文章要解决的问题是如何优化检索增强生成&#xff08;RAG&#xff09;系统&#xff0c;特别是通过奖励建模和人类反馈强化学习&#xff08;RLHF&#xff09;来提高大型语言模型&#xff08;LLMs&#xff09;在RAG任务中的效果。研究难点&…

《Trustzone/TEE/安全从入门到精通-标准版》

CSDN学院课程连接:https://edu.csdn.net/course/detail/39573 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验,擅长 Trustzone/TEE/ 安全的设计与开发,对 ARM 架构的安全领域有着深入的研究和丰富的实践经验,能够将复杂的安全知识和处理器架构知识进行系统整…

Pyecharts之地图图表的强大功能

在数据可视化领域中&#xff0c;地图图表是一种强大的工具&#xff0c;能够直观地展现与地理位置相关的数据信息&#xff0c;帮助我们更好地洞察数据的地域特征和分布规律。Pyecharts 为我们提供了丰富的地图图表功能&#xff0c;让我们可以轻松实现各种地理信息的可视化展示。…

政安晨的AI大模型训练实践三:熟悉一下LF训练模型的WebUI

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 目录 启动WebUI 微调模型 LLaMA-Factory 支持通过 WebUI 零代码微调大语言模型。 启动Web…

【2024年华为OD机试】(A卷,200分)- 创建二叉树 (JavaScriptJava PythonC/C++)

一、问题描述 构建二叉树并返回根节点 题目描述 请按下列描述构建一颗二叉树,并返回该树的根节点: 先创建值为-1的根结点,根节点在第0层;然后根据operations依次添加节点:operations[i] = [height, index] 表示对第 height 层的第 index 个节点 node,添加值为 i 的子节…

有限元分析学习——Anasys Workbanch第一阶段_终篇_齿轮整体强度案例分析

目录 0 序言 1 齿轮整体强度分析案例 1.1 模型简化 1.2 前处理 1&#xff09;分析类型选择 2&#xff09;设置平面参数 3&#xff09;约束、载荷及接触 2 控制网格 a.初次生成网格&#xff0c;对局部网格不做控制 b.第一次调整接触网格&#xff0c;接触面网格控制为…

Final2x--开源AI图片放大工具

Final2x--开源AI图片放大工具 链接&#xff1a;https://pan.xunlei.com/s/VOHSklukQAquUn3GE7eHJXfOA1?pwdr3r3#

【由浅入深认识Maven】第2部分 maven依赖管理与仓库机制

文章目录 第二篇&#xff1a;Maven依赖管理与仓库机制一、前言二、依赖管理基础1.依赖声明2. 依赖范围&#xff08;Scope&#xff09;3. 依赖冲突与排除 三、Maven的仓库机制1. 本地仓库2. 中央仓库3. 远程仓库 四、 版本管理策略1. 固定版本2. 版本范围 五、 总结 第二篇&…

HTML一般标签和自闭合标签介绍

在HTML中&#xff0c;标签用于定义网页内容的结构和样式。标签通常分为两类&#xff1a;一般标签&#xff08;也称为成对标签或开放闭合标签&#xff09;和自闭合标签&#xff08;也称为空标签或自结束标签&#xff09;。 以下是这两类标签的详细说明&#xff1a; 一、一般标…

(5)STM32 USB设备开发-USB键盘

讲解视频&#xff1a;2、USB键盘-下_哔哩哔哩_bilibili 例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为使用使用STM32模拟USB键盘的例程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB键盘。本例子是…

[SUCTF 2018]MultiSQL1

进去题目页面如下 发现可能注入点只有登录和注册,那么我们先注册一个用户&#xff0c;发现跳转到了/user/user.php&#xff0c; 查看用户信息,发现有传参/user/user.php?id1 用?id1 and 11,和?id1 and 12,判断为数字型注入 原本以为是简单的数字型注入&#xff0c;看到大…