Rpi-imager: 无法在 Ubuntu 18.04 上安装 RPi Imager 1.6.1(及更高版本)

创建于 2021-03-29  ·  31评论  ·  资料来源: raspberrypi/rpi-imager

$ sudo apt install /home/andrew/Downloads/rpi-imager_1.6.1_amd64.deb 
[sudo] password for andrew: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'rpi-imager' instead of '/home/andrew/Downloads/rpi-imager_1.6.1_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 rpi-imager : Depends: libgcc-s1 (>= 3.0) but it is not installable
              Depends: libqt5core5a (>= 5.12.2) but 5.9.5+dfsg-0ubuntu2.5 is to be installed
E: Unable to correct problems, you have held broken packages.

我现有的 RPi Imager 1.6 安装工作正常。

编辑:可以在 Ubuntu 18.04 上运行的最新版本是 RPi Imager 1.6.1 - 您可以在下面我的评论中找到自定义构建。
RPi Imager 1.6.2(或更高版本)不会为 Ubuntu 18.04 构建

最有用的评论

不管 Snap 包有什么问题,我仍然认为可以从https://www.raspberrypi.org/software/下载的imager_1.6.1_amd64.deb应该可以安装在 Ubuntu 18.04 上(直到 2023 年 4 月仍然支持)。
:slightly_frowning_face:

编辑:被#200 阻止

EDIT2:对于仍在使用 Ubuntu 18.04 的其他人,在应用来自 #200 的补丁后,这是 RPi Imager 1.6.1 的构建
使用风险自负: rpi-imager_1.6.1_amd64.zip
(如果您觉得不合适,请随时删除此@maxnet

所有31条评论

恐怕 20.04 LTS 是新的最低要求,因为我升级到了那个。 :-)
不过,应该仍然可以自己从 git 运行“debuild”。

我敢肯定我不能成为唯一仍在运行 Ubuntu 18.04 的人 :wink: 虽然可以运行 debuild,但我敢肯定有很多技术含量较低的用户不能?
你能在虚拟机内构建吗?

我维护了 rpi-imager 的快照,并且刚刚将它构建在 Ubuntu 20.04 上,但它也可以安装在 Ubuntu 18.04(甚至是 14.04 和 16.04)和其他发行版上。

作为“谁还在运行 18.04?”的一个有趣的数据点。 问题,仍然有一个公平的数字。 在 RPI Imager snap 用户中,约 13% 使用 Ubuntu 18.04,约 56% 使用 20.04,甚至约 2.7% 使用 Ubuntu 16.04!

Screenshot_20210331_125839

除非https://github.com/popey/imager-snap/issues/8已解决,否则很遗憾 snap 不支持 Imager 的全套功能。 IIRC,您还需要启用一些额外的权限以防止其他错误。 您是否需要这样做或如何做并不明显。 鉴于成像器旨在简化事情,快照似乎引入了障碍。

理想情况下,在普通的 apt repos 中它会很棒。

除非 popey/imager-snap#8 已经解决

它在 1.6.1 下工作得更好吗?

潜入提交(https://github.com/raspberrypi/rpi-imager/commit/c8409d741939c0af32180c731a86adcdeaba802d)可能会解决它,但没有时间弄清楚如何构建一个快照来测试它。

之前的代码假设一旦 udisks2(我们通过 DBus 与之交谈)告诉我们可移动卷(FAT32 分区)已挂载,我们就可以写入挂载文件夹。
但到那时它可能还没有安装在 snap chroot 中,这似乎落后了。
因此,请检查挂载文件夹是否为挂载点,如果不是,则最多延迟 3 秒。

刚试了一下,不,好像更糟。 一开始说不能挂载分区,所以我启用了相关权限。 同样的错误,所以我启用了所有被禁用的权限(尽管它们的描述似乎不相关) (PEBCAK)。 现在成像仪表现得一切顺利,但 SD 卡最后是空白的。

Qt: Session management error: Could not open network socket
QObject::setParent: Cannot set parent, new parent is in a different thread
Drive: "/org/freedesktop/UDisks2/drives/Generic__USB3_2e0_CRW____SD_201506301013_1"
Device: "/org/freedesktop/UDisks2/block_devices/sdc" belongs to same drive
Device: "/org/freedesktop/UDisks2/block_devices/sdc1" belongs to same drive
Unmounted "/org/freedesktop/UDisks2/block_devices/sdc1" successfully
Repartitioning drive
Telemetry done. cURL status code = 0
Adding partition
New partition: "/org/freedesktop/UDisks2/block_devices/sdc1"
Formatting drive as FAT32
Mounting partition
Mounted new file system at: "/media/shift/F28E-8BF1"
Image URL: "https://github.com/raspberrypi/rpi-eeprom/releases/download/v2020.09.03-138a1-imager/rpi-boot-eeprom-recovery-2020-09-03-vl805-000138a1-usb.zip"
Received header: HTTP/2 302 

Received header: server: GitHub.com
...
Can't create 'README.txt'
Can't create 'pieeprom.bin'
Can't create 'pieeprom.sig'
Can't create 'recovery.bin'
Can't create 'vl805.bin'
Can't create 'vl805.sig'
Hash of compressed multi-file zip: "84b73785a93720621136e23ee766e2e56a516902baaccebe3e055106471029ff"
mountutils: Reading /proc/mounts
mountutils: Mount point /dev/sdc1 belongs to drive /dev/sdc
mountutils: Mount point /dev/sdc1 belongs to drive /dev/sdc
mountutils: Closing /proc/mounts
mountutils: Unmounting /media/shift/F28E-8BF1...
mountutils: Unmount MNT_EXPIRE /media/shift/F28E-8BF1: EAGAIN
mountutils: Unmount MNT_EXPIRE /media/shift/F28E-8BF1 failed: Operation not permitted
mountutils: Unmount MNT_DETACH /media/shift/F28E-8BF1 failed: Operation not permitted
mountutils: Unmount MNT_FORCE /media/shift/F28E-8BF1 failed: Operation not permitted
mountutils: Unmounting /var/lib/snapd/hostfs/media/shift/F28E-8BF1...
mountutils: Unmount MNT_EXPIRE /var/lib/snapd/hostfs/media/shift/F28E-8BF1: EAGAIN
mountutils: Unmount MNT_EXPIRE /var/lib/snapd/hostfs/media/shift/F28E-8BF1 failed: Operation not permitted
mountutils: Unmount MNT_DETACH /var/lib/snapd/hostfs/media/shift/F28E-8BF1 failed: Operation not permitted
mountutils: Unmount MNT_FORCE /var/lib/snapd/hostfs/media/shift/F28E-8BF1 failed: Operation not permitted
Download done in 3 seconds

总体而言,不是您希望任何用户拥有的体验。

无法创建“README.txt”

/var/lib/snapd/hostfs/media/shift/F28E-8BF1 是否不能被用户写入 snap 运行 Imager 为?

不管 Snap 包有什么问题,我仍然认为可以从https://www.raspberrypi.org/software/下载的imager_1.6.1_amd64.deb应该可以安装在 Ubuntu 18.04 上(直到 2023 年 4 月仍然支持)。
:slightly_frowning_face:

编辑:被#200 阻止

EDIT2:对于仍在使用 Ubuntu 18.04 的其他人,在应用来自 #200 的补丁后,这是 RPi Imager 1.6.1 的构建
使用风险自负: rpi-imager_1.6.1_amd64.zip
(如果您觉得不合适,请随时删除此@maxnet

https://www.raspberrypi.org/documentation/installation/installing-images/README.md还说“Ubuntu 18.04”:wink:

因此,如果 RPi Imager 以后肯定不会支持 Ubuntu 18.04,我想我们也应该更新该文档吗? :耸肩:

因此,如果 RPi Imager 以后肯定不会支持 Ubuntu 18.04

不知道官方的支持政策是什么。

请注意,Ubuntu 18 对开发人员的整体实用性正在迅速下降。

  • 不再可用于 Web 开发,因为它附带的 PHP 版本比现代框架接受的要旧。
  • 不适用于低级 C 开发。 例如,如果你想玩 Raspberry Pico,你会发现 CMake 太旧了。
  • Qt 版本不支持一堆较新的方法。 而且,如果您确实在其他平台上使用了较新的 Qt 版本,那么如果您在那里使用较旧的方法,您会看到它会引发大量“不推荐使用”的方法警告。

Ubuntu 20 LTS 已经发布一年了。

你还在用18的原因是什么?

你还在用18的原因是什么?

一年多前我买了一台新的戴尔 XPS 笔记本电脑,它预装了 Ubuntu 18.04,我不愿意尝试将它升级到更新的版本,特别是因为它仍然是一个积极支持的 LTS 版本。 此外,运行较旧但仍受支持的操作系统对于发现这样的边缘情况很有用:wink:
对于 Pico 的东西,我使用https://apt.kitware.com/更新到更新版本的 CMake 并且当我需要使用更新的 GCC 版本时,我只需将我的 local-install-dir 预先添加到 $PATH。 除此之外,还有 VirtualBox。

LTS 版本是“企业级”并且专注于稳定性。 它们适用于那些_不_想要新版本软件的人。 您为 LTS 版本获得的软件更新仅是安全性和错误修复。 支持旧软件不是免费的,它需要付出努力,并且会限制您前进的能力。 期望旧的 LTS 在当前平台发布一年后仍然是受支持的平台是不合理的。

它们适用于那些_不_想要新版本软件的人。

是的,这是一个合理的立场; 我对仅支持 Ubuntu 20.04+ 的 RPi Imager 1.7.x 没有问题,而 Ubuntu 18.04 仅限于较旧的 RPi Imager 1.6.x。 兼容性问题发生在从 1.6.0 到 1.6.1 的更改中,这让我感到很奇怪
此外,鉴于 Raspberry Pi 网站针对的用户级别,我想该网站不太可能为“Ubuntu 20.04+ 用户”和“Ubuntu 18.04 用户”提供不同的下载选项,这就是我建议的原因当/如果决定放弃对 18.04 的支持时,需要在文档中特别提及。

:man_shrugging:

兼容性问题发生在从 1.6.0 到 1.6.1 的更改中,这让我感到很奇怪

我同意在点发布时默默地发生这种情况很奇怪。 至少应该将其添加到 1.6.1 变更日志中。 但是你知道...有一年的宽限期! 如果您有兴趣,我的 XPS (13) 可以完美运行 20.04 :)

不管 Snap 包有什么问题,我仍然认为可以从https://www.raspberrypi.org/software/下载的imager_1.6.1_amd64.deb应该可以安装在 Ubuntu 18.04 上(直到 2023 年 4 月仍然支持)。
微微皱眉脸

〜编辑:被#200阻止〜

EDIT2:对于仍在使用 Ubuntu 18.04 的其他人,在应用来自 #200 的补丁后,这是 RPi Imager 1.6.1 的构建
使用风险自负: rpi-imager_1.6.1_amd64.zip
(如果您觉得不合适,请随时删除此@maxnet

谢谢。 为我工作了 debian buster,而原始下载和 snap 失败

仅供参考,这也是 ChromeOS 上的一个问题。 如果您启用了 Linux 开发人员模式,@lurch 共享的1.6.1可以工作,而从https://www.raspberrypi.org/software/下载的文件则不能。

为了任何关注此问题的人的利益...

我刚刚尝试在 Ubuntu 18.04 上编译v1.6.2 标记,但无法构建:

rpi-imager/main.cpp:250:19: error: ‘class QApplication’ has no member named ‘screenAt’; did you mean ‘screens’?
         if ( !app.screenAt(QPoint(x,y)) || !app.screenAt(QPoint(x+w,y+h)) )
                   ^~~~~~~~
                   screens
rpi-imager/main.cpp:250:49: error: ‘class QApplication’ has no member named ‘screenAt’; did you mean ‘screens’?
         if ( !app.screenAt(QPoint(x,y)) || !app.screenAt(QPoint(x+w,y+h)) )
                                                 ^~~~~~~~
                                                 screens

因为该功能是在 Qt 5.10 中添加的,但 Ubuntu 18.04 仅包含 Qt 5.9.5。
所以看起来我的 v1.6.1版本对于 Ubuntu 18.04 用户来说是“行尾”:wink:

它们适用于那些_不_想要新版本软件的人。

不,我使用 LTS 是因为升级或安装新版本会耗费大量时间。 安装后,必须修改/调整、安装、设置等。这需要很多时间。 LTS 提供了使用系统更长时间的机会。 从我目前的 18.04 开始,我将不再使用 Ubuntu(但那是另一回事了)。

我使用了几个 PPA + 一些 appimages。 对于 PHP 之类的东西,我自己安装。

恐怕 20.04 LTS 是新的最低要求,因为我升级到了那个。 :-)

我相信整个“18.04 太旧”的讨论都遗漏了该项目的一个巨大、更深层次的问题:为什么构建过程与您的特定版本相关联? 您是_自己_编译和发布它吗? rpi-imager没有 CI、PPA、Github 操作或任何此类用于云构建工作流程的工具吗?

只要 _that_ 工具支持 18.04(并且源兼容), @maxnet的个人操作系统应该是无关紧要的。 PPA 可以为_所有_当前的 Ubuntu 版本构建。 Travis-CI 和 Github 可以为许多平台构建。 您甚至可以使用 Windows 进行开发,让云为 Fedora、Mac、BSD、ARM 构建,无论该平台多么古老或多么前沿。

那就是说...

只要该工具支持 18.04(并且源兼容)

1) 如果没有#ifdef 魔法,源将在未来不兼容。
较新的方法在古老的 Qt 版本中不存在。
使用较旧的方法会在较新的 Qt 5 版本上给出一堆已弃用的警告,并将在 Qt 6 中消失

2) 这是一个至少需要在 Windows 和 Mac OS X 上进行代码签名的应用程序,我不喜欢与云提供商共享代码签名密钥。

3) 仍然需要安装每个操作系统才能测试结果是否正常工作。
这种类型的软件(与系统服务和物理硬件如 SD 卡读卡器交互)不太适合自动化测试框架......

Ubuntu 20 LTS 已经发布一年了。

并且 Ubuntu 18 仍然支持整整两年。 你的观点?

请注意,Ubuntu 18 对开发人员的整体实用性正在迅速下降。
...
你还在用18的原因是什么?

那是......不是如何处理这个问题。 @lurch使用 18 的特殊原因应该无关紧要。 有许多。 正如你有你的切换到 20.04,而有些已经跳到 21.10。

期望旧的 LTS 在当前平台发布一年后仍然是受支持的平台是不合理的。

它是。 它被称为LTS是有原因的! _长期_支持

有一年的宽限期!

错误的。 “年度宽限期”只会在2022年 4 月_开始_,我们将在 _2023_ 之前_有整整一年时间迁移到 Ubuntu 22.04,完全跳过 20.04,同时仍然使用完全支持的系统。 我_真的_不希望每 2 年升级整个操作系统的麻烦

来吧伙计们...... Ubuntu 刚刚完全接受了 Raspberry,不仅发布了服务器版本,还发布了桌面、核心,以及整个家庭。 他们将所有特定于 Raspberry 的软件包添加到他们的存储库中,不再需要rpi-eepromvcgencmd的 PPA。

也请全力支持,祝婚姻长久幸福:1st_place_medal:

并且 Ubuntu 18 仍然支持整整两年。 你的观点?

“支持”并不意味着您可以获得更新版本的软件。
Ubuntu 18 系统上的所有内容都是 2018 版本的软件,只是后来添加了稳定性和安全性修复作为向后移植。
您仍然可以在其上运行旧版本的 Imager,以匹配系统的其余部分。

  1. 这是一个至少需要在 Windows 和 Mac OS X 上进行代码签名的应用程序,我不喜欢与云提供商共享代码签名密钥。

Raspberry(公司/组织)不会为您提供_any_ 基础设施或指导吗? 我的意思是...恕我直言rpi_imager是 Raspi 生态系统的关键组成部分。 这是使用它的非常_入口点_。 它在 _both_ Raspberry 和 Ubuntu 的官方网站上作为认可的成像器展示。

不知道官方的支持政策是什么。

鉴于这个项目的高知名度,我真的很惊讶没有官方政策。

“支持”并不意味着您可以获得更新版本的软件。 Ubuntu 18 系统上的所有内容都是 2018 版本的软件,只是后来添加了稳定性和安全性修复作为向后移植。

公平点,我同意。 我不介意使用过时的版本,只要我的 _current_ 版本继续工作。 这不是这里发生的事情。

rpi-imager ,从snap安装,昨天突然_broke_。 它停止工作,与@lurch报告的AppArmor配置文件和空白驱动器相同的dmesg错误导致我来到这里。 为什么18.04频道上传了不兼容的版本?

公平点,我同意。 我不介意使用过时的版本

然后您可以尝试较旧的 1.6.0: https ://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb

rpi-imager,从 snap 安装,刚刚突然出现

快照问题可以在这里报告: https ://github.com/popey/imager-snap/issues
我们不参与该版本。

一些可能相关的说明:

rpi-imager ,从snap安装,昨天突然_broke_。

也许它更早坏了。 我经常将它用于飞蛾,但总是使用相同的(缓存的)图像。 昨天我尝试了一些新的,所以也许这就是为什么现在才出现问题的原因。 安装的版本是 1.6.2,而 IIRC 至少已经有几个星期了。

我不介意使用过时的版本

不是我不在乎。 我做。 但我知道我没有任何权利。 我只是希望一些项目在采用可能会破坏旧版本(但仍然不是 EOL 版本)的新 API 时采取更保守的方法。

例如,我做了很多 Python 开发,并经常面临同样的困境:如果 Python 3.9 中有一个新的、华丽的特性,即使我已经在 Python 3.11,我也不会使用它,因为较旧的发行版喜欢CentoOS 仍然附带古老的3.6 。 至少他们有 3.8 _available_,所以我可以将我的最低源版本提高到那个。 这里可以采取类似的方法吗?

深入挖掘日志,我相信我们正在处理 2 个不同的独立问题:

  • 不知何故,我(并且一直)能够从 snap 安装和启动 1.6.1 和 1.6.2。 所以无论@popey为 18.04 编译它所做的一切工作,恭喜! 这表明我在编写图像时关于 AppArmor 的错误与构建.deb时的包依赖或 QT 编译问题无关(这 _this_ 问题似乎是关于),尽管两者都在 18.04 中体现

  • 我的问题,似乎也是@XECDesign的问题,是关于_permissions_,看起来这是一个仅限快照的问题。 所以我会按照指示搬到那里。

对于遇到诸如_“AppArmor 策略阻止此发件人发送此消息...”_、_“无法打开网络套接字”_ 或 _“不允许操作”_ 等问题的任何人,请转到此问题,不在这里。 只是标题中的 18.04 存在很多问题 :-)

不仅可以安装和启动 1.6.1,还可以从 snap 启动 1.6.2。 所以无论@popey为 18.04 编译它所做的一切工作,恭喜!

我认为 snap 是一种“自包含”的包装格式? 所以它可能能够包含比 Ubuntu 18.04 包含的更新版本的 Qt 库? ( .deb版本的 RPi Imager 需要使用)

快照问题可以在这里报告: https ://github.com/popey/imager-snap/issues
我们不参与该版本。

@maxnet我们似乎收到了很多关于 RPi Imager 快照版本的问题报告(可能是因为那是 Ubuntu 的“软件商店”安装的版本),我们显然对此无能为力。 也许值得利用 GitHub 的 issue-template 功能,将 RPi Imager 的 snap 版本有问题的人直接引导到popey的 repo? :耸肩:

旧版本 1.6.0(由 @maxnet 引用)在 Linux Mint 19.3(仿生存储库)上安装良好。 谢谢

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

pauloimon picture pauloimon  ·  8评论

ulfklose picture ulfklose  ·  6评论

DeeJay picture DeeJay  ·  11评论

dubnemo picture dubnemo  ·  22评论

guysoft picture guysoft  ·  16评论