首页 > 系统相关 >构建Ubuntu22.04根文件系统

构建Ubuntu22.04根文件系统

时间:2024-07-25 11:08:05浏览次数:17  
标签:get Ubuntu22.04 sudo 文件系统 apt echo 构建 install mount

一、官网下载ubuntu-base
http://cdimage.ubuntu.com/ubuntu-base/releases/
本文章使用的是:buntu-base-22.04.5-base-arm64.tar.gz
解压:

mkdir ubuntu_rootfs
sudo tar -zxvf ubuntu-base-22.04.5-base-arm64.tar.gz -C ubuntu22.04

sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static ubuntu20.04/usr/bin/ 
sudo cp /etc/resolv.conf  ubuntu22.04/etc/resolv.conf
chmod 777 ubuntu22.04/tmp
sudo  ./mount_rootfs.sh -m ubuntu22.04

ubuntu-ports | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirroryy

#!/bin/bash

# mount   : sudo  ./mount_rootfs.sh -m debian11_serve/
# unmount : sudo  ./mount_rootfs.sh -u debian11_serve/

function mnt() {
    echo "MOUNTING"
    sudo mount -t proc /proc ${2}proc
    sudo mount -t sysfs /sys ${2}sys
    sudo mount -o bind /dev ${2}dev
    sudo mount -o bind /dev/pts ${2}dev/pts
    sudo chroot ${2}
}
function umnt(){
    echo "UNMOUNTING"
    sudo umount ${2}proc
    sudo umount ${2}sys
    sudo umount ${2}dev/pts
    sudo umount ${2}dev
}
if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
    mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
    umnt $1 $2
else
    echo ""
    echo "Either 1'st, 2'nd or bothparameters were missing"
    echo ""
    echo "1'st parameter can be one ofthese: -m(mount) OR -u(umount)"
    echo "2'nd parameter is the full pathof rootfs directory(with trailing '/')"
    echo ""
    echo "For example: ch-mount -m/media/sdcard/"
    echo ""
    echo 1st parameter : ${1}
    echo 2nd parameter : ${2}
fi

安装必备软件

apt-get update #首先更新源
apt-get upgrade #升级软件
apt-get install sudo -y
apt-get install openssh-server -y
apt-get install network-manager -y
apt-get install vim -y
apt-get install net-tools -y
apt-get install iproute2 -y
apt-get install udhcpc -y
apt install systemctl -y
apt install gcc -y
apt install make -y
apt install adb -y
apt install ethtool -y
apt install ifupdown -y
apt install htop -y
apt install iputils-ping -y
apt install -y bash-completion
apt install sudo vim udev net-tools ethtool udhcpc netplan.io language-pack-en-base language-pack-zh-han* iputils-ping openssh-sftp-server  ntp usbutils alsa-utils libmtp9

新建普通用户无法sudo

问题描述:无法用sudo
sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
解决方法:
最终目的只有一个,想办法执行

$ chmod 4755 /usr/bin/sudo
$ chmod 755 /usr


解决:perl: warning: Please check that your locale settings
问题:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "zh_CN.UTF-8",
    LC_TERMINAL_VERSION = "3.3.3beta2",
    LC_TERMINAL = "iTerm2",
    LANG = "en_US.utf8"
    are supported and installed on your system.

方法
`sudo apt-get install language-pack-en-base language-pack-zh-han*`
在.bashrc的最后加上

export LC_ALL=C
source /root/.bashrc


或者/etc/profile

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"


开启 root 账号登录的方法
不建议开启,以下步骤仅供参考。

Debian 默认禁用 root SSH 密码登录(Pubkey 认证不受此限,默认启用),安装时候创建特定用户作为管理员帐号(通过 sudo 执行特权命令),启用 root 用户步骤如下:
- 修改 root 密码(设置密码后可以通过控制台登录)
sudo passwd root
- 修改配置文件(启用 SSH 密码登录)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.baksudo vi /etc/ssh/sshd_config
找到下面相关配置:
# Authentication:#LoginGraceTime 2m#PermitRootLogin prohibit-password#StrictModes yes#MaxAuthTries 6#MaxSessions 10#PubkeyAuthentication yes# Expect .ssh/authorized_keys2 to be disregarded by default in future.#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2
修改如下:
补充:
PermitRootLogin prohibit-password  #允许 root 登录,但禁止使用密码认证可以配合使用 Pubkey 认证,默认 `PubkeyAuthentication yes`
- 或者直接快速配置
sudo sed -i.bak "/^#PermitRootLogin/c"PermitRootLogin""yes"" /etc/ssh/sshd_config# 或者sudo sed -i.bak '/^#PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config
- 重启服务生效
sudo systemctl restart ssh

最近在Linux新增加用户时,发现新用户登录,终端只显示$,输入时tab键没有补全功能

 usermod -s /bin/bash cwt

标签:get,Ubuntu22.04,sudo,文件系统,apt,echo,构建,install,mount
From: https://www.cnblogs.com/Wynterwei/p/18322564

相关文章

  • 警告:tensorflow:模型是用形状构建的(无、66、200、3)
    我有以下代码生成有关形状的错误:fromkeras.layersimportDense,ActivationfromkerasimportSequentialfromkeras.modelsimportload_modelfromtensorflow.keras.optimizersimportAdamimporttensorflowimportkerasfromtensorflow.python.keras.layersimpor......
  • 使用Micronaut构建高性能微服务
    使用Micronaut构建高性能微服务大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Micronaut是一个现代化的Java框架,用于构建高性能、易于维护的微服务。它在设计时考虑了低内存消耗和快速启动时间,非常适合构建高效的微服务架构。本文将介绍如何使用Micronaut......
  • PHP现代化构建工具: 无需修改任何代码和扩展将你的ThinkPHP项目性能提高20倍
    我要分享一个令人激动的黑科技:PRipple使用这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的Laravel项目性能提高20倍。他仅仅依赖于PHP原生的pcntl/posix/fiber/sockets项目灵感这个项目灵感来源于PHP8.1引入的fiber特性,以及Swoole和Workerman的......
  • 如何构建超大字符串
    1、使用StringBuilder或StringBuffer:StringBuilder和StringBuffer是Java中用于构建字符串的可变类。它们允许你在一个字符序列上追加和插入字符,而不需要创建新的对象。StringBuilder是线程不安全的,但在单线程环境下性能更好;而StringBuffer是线程安全的,但性能稍差。示例:St......
  • 构建超大字符串的示例
    publicclassLargeStringBuilderExample{publicstaticvoidmain(String[]args){//预估的字符串大小(仅作为示例,实际情况可能更大)intestimatedSize=10_000_000;//假设为1000万个字符//创建一个StringBuilder对象,并预估容量......
  • cpu proc sys文件系统下的含义
    proc文件系统(/proc/sys/kernel/)sched_child_runs_first/proc/sys/kernel/sched_child_runs_first是Linux内核中的一个配置文件,它用于控制调度器如何处理新创建的进程(即子进程)与它们的父进程之间的关系。功能说明:sched_child_runs_first:这个文件的值决定了当一个新进程(子进......
  • Ubuntu构建ZLMediaKit流媒体服务框架(含webrtc)
    参照:https://segmentfault.com/a/11900000417378481.获取代码代码从git获取,如果没安装git,需要执行sudoapt-getinstallgitcd/opt#拉取项目代码gitclonehttps://github.com/ZLMediaKit/ZLMediaKit.git#国内用户推荐从同步镜像网站gitee下载gitclone--depth1https:......
  • 0210-模拟发送构建的数据
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0前言说明参考:https://docs.rs/pnet_datalink/0.31.0/pnet_datalink/dummy目标使用pnet_datalink包中的dummy模拟数据链路层发送数据包。网络接口letinterface=dummy::dummy_interface(44);创建通......
  • 文件系统(十):一文看懂 UBI 文件系统
    liwen012024.07.21前言UBI(UnsortedBlockImages)文件系统是一种用于裸flash的文件系统管理层。它是专为管理原始闪存设备而设计,特别适用于嵌入式系统。与YAFFS2和 JFFS2 不同的是,它可以提供整个flash空间的磨损平衡,并且有良好的扩展性,适用于大容量的 nandflash ......
  • 使用Spring Boot构建高性能企业级应用
    使用SpringBoot构建高性能企业级应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何使用SpringBoot构建高性能企业级应用,从框架配置到性能优化,全方位提升你的应用性能。一、SpringBoot概述SpringBoot是基于Spring框架的一个快速......