AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1297523
Accepted
LuxZg
LuxZg
Asked: 2020-12-05 10:05:58 +0800 CST2020-12-05 10:05:58 +0800 CST 2020-12-05 10:05:58 +0800 CST

在 20.10 / 20.04 (Base) 上启用网络的最低​​要求是什么

  • 772

我一直在用 Ubuntu Base、新的 subiquity 安装程序、PXE 等进行各种玩弄和学习。但有一件事一直困扰着我——网络。

我可以让我的安装工作,但是安装会netplan.io拉动这么多必需的包,并且需要更多的包才能真正工作。

没有它有什么“合法”的方式吗?我确实尝试过 justiproute2并手动进行,但我失败了,我将非常感谢任何想法:

  • 联网工作
  • dhcp 或静态,都可以接受(越少越好)
  • 决心工作

只有在配置apt-get update工作后才能真正通过测试。然后我可以称它为“功能齐全”。

不幸的是,根据我目前的经验,如果您没有可用的网络,调用 Ubuntu Base 功能最低限度,您可以从中安装所有其他软件包并按照您的意愿构建系统是不正确的。

作为更多信息,我当前的裸设置(没有网络)是:

  • ubuntu-base-20.10-base-amd64.tar.gz
  • linux-image-5.8.0-28-generic
  • syslinux 作为引导加载程序
  • 删除了人/文档
  • 删除了 apt 缓存(尝试与 20.04.1 类似)

这启动到 sh,我可以启动 bash 并做一些基础知识。apt 在那里但无法连接(显然),所以我坚持添加更多包。

我知道我可以向它扔一堆包,最终它会起作用。但我想有一个最低限度。目前我有370MB。即使只安装了 netplan.io+dependencies,它也会达到 470+(增加约 30%),但仍然无法正常工作。要去ubuntu-minimal工作,但那是800MB+

我并不完全是新手,但我一直在为所有 netplan/iproute2 更改而苦苦挣扎,我真的很想让它按照 20.10 和 20.04 中设想的“正确”方式工作

谢谢!

编辑#1:正如我刚刚在评论中写的作为答案(对现在已经消失的评论),我通过在部署期间安装一些额外的包来让它工作:

apt-get install -y netplan.io dbus init iputils-ping isc-dhcp-client nano netbase ubuntu-advantage-tools sudo

我知道的一些是可选的,但我需要它们,直到我完成消除休息。我仍在尝试从此列表中找到真正需要哪些包(包括它们的依赖项):

netplan.io init

似乎安装netplan.io, dbus(推荐的依赖项netplan)并且init可以工作,然后我可以创建正常的 netplan .yaml 等,但这只是为了建立网络有点矫枉过正,因为我从 370MB 到 480MB 只是为了得到这些。

编辑#2:当前状态:我可以使用dhclient已安装的工具和一些最少的其他工具。已安装软件包的完整列表(除了 Ubuntu Base rootfs):

chroot /mnt/root sh -c "apt-get install dbus init initramfs-tools iproute2 linux-image-5.8.0-28-generic sudo isc-dhcp-client --no-install-recommends"

所以 -netplan不需要。但是我仍然不明白为什么我不能只用iproute工具让它运行,因为如果我不安装isc-dhcp-client我的手动ip命令就不起作用。

不工作:

ip addr add 10.10.2.101/24 brd + dev enp0s10f0
ip link set enp0s10f0 up
ip route add default via 10.10.2.99

是否有效:

dhclient -v -w

编辑 #3:没关系,systemd-resolved现在已安装,它覆盖了我的resolv.conf. 我现在可以让它在没有 DHCP 的情况下工作。现在需要尝试删除 DHCP 包,看看它是否仍然有效。

networking 20.04 20.10
  • 1 1 个回答
  • 658 Views

1 个回答

  • Voted
  1. Best Answer
    LuxZg
    2020-12-06T15:04:23+08:002020-12-06T15:04:23+08:00

    好的,然后回答我自己的问题...但是,如果有人有更好的方法,请发布您的替代方案!

    无论如何,我必须做这些准备步骤(对于 Ubuntu Base):

    • 准备磁盘和分区
    • 解压ubuntu-base-20.10-base-amd64.tar.gz
    • 打开chroot并在其中运行以下命令
    • apt-get install -y linux-image-5.8.0-28-generic initramfs-tools init dbus iproute2 sudo nano openssh-server --no-install-recommends
    • 虽然仍在chroot添加用户和组成员身份useradd和addgroup
    • 安装并设置syslinux为引导加载程序
    • 复制vmlinuz到initrd.img他们syslinux期望的地方

    然后要在我退出 chroot 并重新启动后进行正确的网络配置,请添加以下内容:

    (echo [Match]; echo Name=enp0s10f0; echo [Network]; echo Address=10.10.2.101/24; echo Gateway=10.10.2.99; echo DNS=8.8.8.8) > /mnt/root/etc/systemd/network/00-wired.network

    和

    systemctl enable systemd-networkd.service

    卸载、清理 ( apt clean) 和reboot.

    这个过程导致安装不到 400MB,大约需要 10 分钟(受限于网络速度和我缓慢的超负荷虚拟化主机)。

    重新启动后,我收到了预期的登录提示,可以使用我选择的用户名和密码登录useradd,可以做sudo,然后可以做apt-get update && apt-get upgrade -y,一切都会顺利进行。

    我确实进一步确认不会有任何意外,并安装了 xserver、openbox 和 chromium(来自 Debian repo),创建了另一个用户,尝试到ssh系统,检查并更改设置ip,然后您可以安装 dhcp-client并更改 conf 文件以让 DHCP 接管等,一切正常。接下来我什至压扁了整个分区,并从中进行了实时启动,一切正常。

    现在这可以称为可用系统。但是这三行粗体字(apt install、00-wired.network 和 enable systemd-networkd)是非常必要的,并且在任何旧指南和 wiki 中都没有提到(难怪,那些日期来自版本 6 和类似版本)。

    确切地说,那些旧指南中缺少的是:

    • 你需要安装:init, dbus, iproute2 and sudo
    • 这些将拉动其他重要(缺失)的硬依赖,例如:systemd, systemd-sysv, udev
    • 您至少需要一个工作配置:/etc/systemd/network/*.network
    • 您需要启用服务:systemd-networkd.service

    同样,我知道指南(严重)过时了,但除非您采取变通方法,否则 Ubuntu 20.10 并不是真正的 Ubuntu 20.10 systemd,没有 Ubuntu 20.10 并且您不能真正使用apt(sudo除非您无视官方root禁用方式或类似方式)。只有添加了这几个元素,您才能真正感觉到您处于最小且功能强大的(以及,嗯,当前)Ubuntu 安装中,具有systemd工作网络,并且apt可以从官方存储库中提取软件包。

    希望有人注意到并更新官方 wiki。

    • 0

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve