![在没有互联网访问(但有 USB 记忆棒)的 Ubuntu 18.04 机器上安装 make、build-essential 和以太网驱动程序](https://linux22.com/image/1176601/%E5%9C%A8%E6%B2%A1%E6%9C%89%E4%BA%92%E8%81%94%E7%BD%91%E8%AE%BF%E9%97%AE%EF%BC%88%E4%BD%86%E6%9C%89%20USB%20%E8%AE%B0%E5%BF%86%E6%A3%92%EF%BC%89%E7%9A%84%20Ubuntu%2018.04%20%E6%9C%BA%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85%20make%E3%80%81build-essential%20%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%BD%91%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
语境:我有一台新安装的 Ubuntu 18 机器。在另一台 Macbook Pro 笔记本电脑上,我创建了一个装有 Ubuntu 18.04.4 的可启动 USB 棒,方法是按照此处的说明进行操作适用于 Mac OS。安装似乎成功了,但我没有互联网。我有一根以太网电缆直接插入机器,我一直在用这个相同的在过去四个月里,我在另一台机器上使用以太网电缆,有线连接工作正常。我使用的网络与我在 Macbook Pro 笔记本电脑(我用它来写这篇文章)上使用的网络相同,因此互联网可以正常工作。
首先,在全新安装 Ubuntu 18 后,我发现有线连接不起作用。(而且,我也无法使用 WiFi 连接。)以下是我看到的情况:
$ sudo lshw -C network
*-network
description: Wireless interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 14.3
bus info: pci@0000:00:14.3
logical name: wlo1
version: 00
serial: ac:67:5d:f6:f7:a7
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=5.3.0-28-generic firmware=48.13675109.0 latency=0 link=no multicast=yes wireless=IEEE 802.11
resources: irq:16 memory:51214000-51217fff
*-network UNCLAIMED
description: Ethernet controller
product: Realtek Semiconductor Co., Ltd.
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:04:00.0
version: 05
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list
configuration: latency=0
resources: ioport:3000(size=256) memory:51100000-5110ffff memory:51110000-51113fff
$ uname -r
5.3.0-28-generic
从以下问题来看,这似乎是司机的问题:
- 问题. 最佳答案(一票)建议“适配器将由内核树内模块管理”,但我不知道这是什么意思,而且我无法卸载 r8168-dkms,因为它不在机器上。
- 问题。最佳答案建议使用名为 的东西
dkms
。输入 时我收到未找到命令的消息dkms
。 - 问题。这似乎相关,但谈论的是无线上网我正在努力让我的有线连接工作,我希望这就像将以太网电缆插入机器一样简单。
我尝试按照第一个问题的指定答案(这个答案特别)。 我下载了最新版本的驱动程序在这里在我的 Macbook 上,将它放在我的 USB 记忆棒上,然后将其传输到我的 Ubuntu 机器上。然后我运行它:
$ tar xfvz r8168-8.048.03.tar.gz
r8168-8.048.03/
r8168-8.048.03/Makefile
r8168-8.048.03/README
r8168-8.048.03/autorun.sh
r8168-8.048.03/src/
r8168-8.048.03/src/Makefile
r8168-8.048.03/src/Makefile_linux24x
r8168-8.048.03/src/r8168.h
r8168-8.048.03/src/r8168_asf.c
r8168-8.048.03/src/r8168_asf.h
r8168-8.048.03/src/r8168_dash.h
r8168-8.048.03/src/r8168_fiber.h
r8168-8.048.03/src/r8168_n.c
r8168-8.048.03/src/r8168_realwow.h
r8168-8.048.03/src/rtl_eeprom.c
r8168-8.048.03/src/rtl_eeprom.h
r8168-8.048.03/src/rtltool.c
r8168-8.048.03/src/rtltool.h
$ cd r8168-8.048.03/
$ sudo ./autorun.sh
Check old driver and unload it.
Build the module and install
./autorun.sh: 30: ./autorun.sh: make: not found
不幸的是,这不起作用,因为我的机器没有make
或build-essentials
。
$ sudo apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package build-essential is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'build-essential' has no installation candidate
$ sudo apt-get update
Err:1 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Could not resolve 'us.archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Could not resolve 'security.ubuntu.com'
Err:3 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Could not resolve 'us.archive.ubuntu.com'
Err:4 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Could not resolve 'us.archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/bionic/InRelease Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease Could not resolve 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
所以我很好奇如何在没有互联网的机器上安装所有这些( build-essential
,,make
以及类似的命令,也许)?搜索结果如下:dkms
问题。这个说要执行 sudo apt install 命令,但是如上所示,这不起作用。
问题。这个问题没有引起太多关注,答题者只有几个不完善的解决方案。
问题。回答者建议运行另一个 sudo apt 命令。它如下:
$ sudo apt-get -qq --print-uris install build-essential linux-headers-$(uname -r) | cut -d\' -f 2 > urls.txt E: Package 'build-essential' has no installation candidate
如图所示,我遇到了错误,因为缺少 build-essential。
问题。这个老问题和这里的讨论似乎建议使用 apt-offline。但是,它
sudo apt install apt-offline
首先需要安装。:)
需要明确的是,当人们组装新机器,然后使用可启动 USB 安装 Ubuntu 18 时,互联网究竟是如何在机器上“启用”的?在这个过程中我是否遗漏了某个步骤?我以为我只需要插入以太网,所以我一定是误解了什么。
TL;DR:我正在寻找在新构建的 Ubuntu 18.04 机器上获取有线互联网连接(以及构建必需的,因为这似乎密切相关)的最简单方法,也许可以通过在我的 Macbook Pro 上的 USB 上下载一些东西,但我会采取任何可行的解决方案。谢谢!
更新 1:具体来说,我下载了桌面版本到我的 USB 记忆棒上。我下载了这里突出显示的 .iso 版本,即 2.0G 版本:
你会发现列表在这里。
更新 2:以下是一些可能相关的命令:
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
$ cat /etc/netplan/*.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
更新 3:以下是一些相关的机器规格:
- 英特尔 i7-10700k CPU
- 技嘉 Z490 Aorus Elite 主板 (这是我点的)
更新 4:我最终买了这个便宜的 USB WiFi 适配器,我只需将其插入计算机即可获得 WiFi。无需其他操作。呼...现在我只需要弄清楚如何让以太网工作...
更新 5: 我试过按照这些说明运行sudo apt-get install r8168-dkms
并重新启动,但有线以太网仍然不工作。
更新 6:已解决。:) 我买了一个 USB 转千兆以太网适配器,这使得有线连接立即可以工作。这是我得到的,因为我看到它与Linux兼容。我没有升级BIOS。
答案1
你需要的不仅仅是下载构建必需品和制作,这些包依赖于许多其他包,并且您需要所有这些包。
另外,为了为您的机器构建网卡驱动程序,您可能需要一些其他库。
如果您可以访问另一台 Ubuntu 机器(或 VM),则可以使用以下命令下载工作目录中的任何包:
apt-get download <packages name here>
像这样:
apt-get download build-essential make libc6-dev g++ gcc dpkg-dev libc
然后使用 USB 磁盘复制软件包并使用dpkg
或将其安装到目标机器上apt
。
sudo dpkg -i <path to .deb file here>
或者
sudo apt-get install <path to .deb file here>
如果你需要查找包的依赖项,你可以在Ubuntu 软件包
答案2
BIOS
技嘉 Z490 Aorus Elite
您的 BIOS 版本为 F2。
自 2020 年 7 月 9 日起,有更新的 BIOS 版本 F5d 可供下载这里。
注意:确认我拥有您主板的正确网页。
注意:更新 BIOS 之前请做好备份。