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 / 问题 / 1543575
Accepted
Budianto IP
Budianto IP
Asked: 2025-03-13 12:36:33 +0800 CST2025-03-13 12:36:33 +0800 CST 2025-03-13 12:36:33 +0800 CST

如何从源代码库构建 netplan 包?

  • 772

我正在尝试从 Ubuntu 22.04 上的 repo 构建 netplan 包,但目前还没有成功。

由于我在互联网上找不到相关来源,因此我使用 chatGPT 来指导我完成构建过程。

这是我尝试过的:

# Install Dependencies
sudo apt update
sudo apt install -y git meson python3-pip python3-yaml python3-jsonschema python3-setuptools pkg-config libglib2.0-dev cmake ninja-build libyaml-dev libsystemd-dev python3-pyflakes python3-pycodestyle pycodestyle python3-pytest python3-coverage python3-cffi libcmocka-dev pandoc 

# Specify PYTHONPATH (used by netplan)
echo 'export PYTHONPATH=/usr/lib/python3.10/dist-packages:$PYTHONPATH' >> ~/.bashrc
source ~/.bashrc

# Clone from repo
cd ~ && git clone https://github.com/canonical/netplan.git
cd netplan

# Build the package
meson setup build
cd build
ninja
sudo ninja install

但是,当我尝试获取构建的 netplan 版本时,出现了以下问题:

> netplan --version
Traceback (most recent call last):
  File "/usr/local/sbin/netplan", line 20, in <module>
    from netplan_cli import Netplan
  File "/usr/local/share/netplan/netplan_cli/__init__.py", line 18, in <module>
    from .cli.core import Netplan
  File "/usr/local/share/netplan/netplan_cli/cli/core.py", line 24, in <module>
    from . import utils
  File "/usr/local/share/netplan/netplan_cli/cli/utils.py", line 28, in <module>
    from ..configmanager import ConfigurationError
  File "/usr/local/share/netplan/netplan_cli/configmanager.py", line 21, in <module>
    import netplan
ModuleNotFoundError: No module named 'netplan'

PS:我尝试构建 netplan 的原因是为了获取虚拟设备。有关更多信息,请查看此内容。

22.04
  • 1 1 个回答
  • 87 Views

1 个回答

  • Voted
  1. Best Answer
    Thomas Ward
    2025-03-13T12:54:02+08:002025-03-13T12:54:02+08:00

    在 netplan 0.107 中添加了虚拟设备。这是为 Ubuntu 准备的,但未被纳入jammy其更新包中。相反,这个包位于jammy-proposedUbuntu 22.04 的队列中,自 2024 年 10 月以来一直没有移动过。

    但是,我们仍然可以在系统中启用建议的软件包,并在需要时有选择地从中安装(例如 Netplan 的情况)。这还可以节省您手动编译软件包及其源代码的时间。

    1. 首先,在您的系统中启用建议的存储库。将其添加到文件中/etc/apt/sources.list.d/ubuntu-proposed.list:

      cat <<EOF | sudo tee -a /etc/apt/sources.list.d/ubuntu-$(lsb_release -cs)-proposed.list
      # Enable Ubuntu proposed archive
      deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs)-proposed restricted main multiverse universe
      EOF
      
    2. 接下来,特别设置限制,除非您指定,否则不会自动使用建议的软件包。这样,您就不会因为建议的、未经测试的、未发布的更新而破坏您的系统。

      cat <<EOF | sudo tee -a /etc/apt/preferences.d/proposed-updates
      # Configure apt to allow selective installs of packages from proposed
      Package: *
      Pin: release a=$(lsb_release -cs)-proposed
      # Use lower priority than locally-installed 'default' package priorities
      Pin-Priority: 50
      EOF
      
    3. 运行标准更新过程来刷新您的存储库列表,这也将提取“建议”中可用的软件包列表。

      sudo apt update
      
    4. 在您的系统中安装建议的版本netplan.io以及它想要从建议的版本中提取的任何依赖项。

      sudo apt -t $(lsb_release -cs)-proposed install netplan.io
      
    5. 重新启动系统。

    6. dummy-devices现在尝试使用定义。

    免责声明:我尚未测试建议的软件包,并且建议的软件包似乎尚未通过作为 Jammy 中的官方软件包升级发布所需的标准测试流程。为此,如果您对这个较新版本的 Netplan 有疑问,则需要降级回正常使用的版本jammy-security,jammy-updates然后放弃使用虚拟设备。

    • 3

相关问题

  • Ubuntu 22.04 Beta 中的慢速互联网连接 [关闭]

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