在 Ubuntu 18.04 上,我使用 networkctl 工具来识别以太网接口连接到的交换机的端口号,如下所示:
networkctl status eno3
<snip>
Connected To: CSW1 on port 515 (ge-0/0/6.0)
这告诉我电缆正在运行到交换机上的端口 6。Ubuntu 14.04 有等效版本吗?
我一直在查看常用的 ethtool、ifconfig、netstat 和 ip 命令……但找不到可以识别网线连接到的外部交换机端口的等效命令。
答案1
步骤 2(不安全方法)运行直接可执行 networkctl- 简单的
在以下链接中根据您的系统架构下载软件包:
https://packages.ubuntu.com/xenial/systemd
并且,使用以下命令提取 deb 包:
dpkg-deb -R systemd_xxxx.deb some_directory_to_extract
现在在 nautilus(文件管理器)中,导航到提取的目录文件,并搜索“networkctl”(不带引号)。
将其可执行文件复制到您想要运行的任何位置,然后授予正确的执行权限,使用此命令“chmod 0755 /yourselected_some_path/networkctl”(不带引号)
现在使用命令“cd yourselected_some_path”,然后运行networkctl,输入此命令“./networkctl”(不带引号)。
答案2
我很感激你,这就是为什么我现在想帮助你!
好的,回答你的问题你必须知道 5 件事...
Ubuntu 的新软件包可以在旧版本的 Ubuntu 中安装。
Ubuntu 旧软件包可以在新版本的 Ubuntu 中安装。
但您可能必须纠正依赖关系。
使用相同的发行版没有必要具有等效性。
networkctl 是 systemd 包的一个内部功能
了解了这些,现在我将向你解释如何在 ubuntu 14.04 中安装 networkctl
步骤 1(安全方法)构建依赖项
- 下载与您安装的 ubuntu 体系结构和版本相对应的 ubuntu livecd,注意:必须是确切的版本,没有变体,例如:如果您安装的版本是 14.04.2 i386,则必须下载版本 14.04.2 i386 live cd,为了构建包含 networkctl 的包的依赖项而不影响您安装的 UBUNTU,您可以在此处找到所有 ubuntu 版本:
- 运行 live cd,当您在桌面时,就可以连接互联网,然后在浏览器中转到此页面:
在下面的部分中,单击与您的 livecd 体系结构相匹配的体系结构,例如 i386 或 amd64。
在下一部分中,找到“您可以从 pool/main/s/systemd/ 子目录中下载请求的文件:”然后单击链接“security.ubuntu.com/ubuntu”
将下载一个 .deb 包,类似于 systemd_x-x_x.deb
现在是构建依赖项(而不是编译)的时候了,只需获取或下载,为此您将需要软件包 gdebi-core,为此输入此命令(不带引号)“gedit /etc/apt/sources.list”,现在复制任何文件中的所有行以备份您的 sources.list,现在删除所有行并粘贴此文本(不带引号)“debhttp://cz.archive.ubuntu.com/ubuntu值得信赖的主要”
现在保存文件 sources.list,现在是时候安装 gdebi-core 了,使用以下命令:
sudo apt-get 更新 sudo apt-get 安装 gdebi-core
一切安装成功后,就开始查找或获取 systemd 软件包的依赖项,为此请使用不带引号的命令“gdebi /path_of_the_downloaded_systemd_deb_file/yoursystemd_downloaded.deb”,之后,gdebi-core 将检查软件包的依赖项,如果某些依赖项不满足要求,则会进行安装,但不会进行配置。
现在如果你看到依赖项无法满足:Some_Dependience,那么是时候找到它的依赖项了,你可以在谷歌中搜索依赖项名称,例如:“some_ddependecy-someversion”,并在末尾添加一个空格 launchpad.net,如下所示:“some_depend-some_version launchpad.net”,你会找到依赖项,如果版本和名称匹配,是时候从 launchpad 或其他你知道可以配置的来源下载它,并安装它,你也需要对 systemd 包依赖项的子依赖项执行此操作,以图形方式解释为一棵树:
systemd: --somedepend1 ----subdepend1 of somedepend1 ----subdepend2 of somedepend1 --somedepend2 ----subdepend1 of somedepend2 ----subdepend2 of somedepend2
并且您需要对依赖和子依赖使用相同的命令,例如“gdebi somedepend”和“gdebi subdepend_of_somedepend”
安装完所有依赖项后,是时候重新安装软件包 systemd 了,为了恢复配置,你会看到一条消息,显示软件包的信息,然后 gdebi 会要求你继续 Y/N,让我们输入“y”字母(不带引号),然后软件包就会正确安装。
完成了!是时候复制所有你已经下载的 deb 包(systemd,以及所有依赖的 deb 文件),并将其粘贴到你安装 ubuntu 的本地磁盘中,例如:“/home/ubuntu/Downloads/your_custom_name_for_the_dir_package”,之后,是时候重新启动并弹出 livecd 了,现在安装你 ubuntu 安装中的所有包,使用以下命令进行安装:
dpkg -R -i /home/ubuntu/Downloads/你的目录包的自定义名称
注意:这里有各种各样的存储库站点,您可以在其中找到软件包的依赖项,或者无需更新即可信任的确切 systemd 软件包。
http://pkgs.org http://packages.ubuntu.com http://launchpad.net https://packages.debian.org
注意2:如果某个包或依赖项损坏(存在兼容性问题),您可以使用以下命令解决:
dpkg-deb -R somedepend.deb /home/youruser/some_path_to_extract
并修改位于解压包内的 debian 目录中的控制文件,并修改依赖项以修复问题,例如版本或名称(如果您从不同的发行版(如 debian、fedora)等获取依赖项)。
并使用以下命令重建包:
dpkg-deb -b /home/youruser/some_path_to_extract somedepend.deb
并重新安装修复的依赖项!
结束!!
我建议不要安装高版本软件包,例如:Trusty 和 Cosmic,因为这样会困难得多,我建议安装下一个版本的任何软件包...在本例中,Xenial 是 Trusty 的下一个版本。
也许这种方法太繁琐了,但不幸的是,在对 ubuntu trusty 的支持结束后,这些软件包只能手动获取,而根本无法从官方来源获取。祝你好运
答案3
我正在调查,显然,ubuntu trusty 中的 networkctl 是一个默认包含的功能。
在使用该命令之前,您是否尝试过使用此命令行检查服务是否正在运行?
sudo systemctl status systemd-networkd
如果你得到如下输出:
● systemd-networkd.service - Network Service Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled) Active: inactive (dead) Docs: man:systemd-networkd.service(8)
然后您需要输入这些命令来启用它:
sudo systemctl start systemd-networkd
sudo systemctlenable systemd-networkd
此后,networkctl 必须正常工作......
更准确地说,回答你的问题的另一种方式是:从 Systemd-Networkd 切换到 Networkmanager?,Networkmanager 是 systemd-networkd 的替代品。
按照以下命令进行切换:
sudo systemctl disable systemd-networkd
sudo systemctl enable NetworkManager
对于 DNS 服务器:
sudo systemctl start NetworkManager
这里是文档来源:
http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html
我找不到其他任何东西!