那么 11.10 的 multiarch 功能是否意味着 64 位用户将能够安装 32 位“.debs”而无需求助于“force--architecture”命令?
我安装了 Ubuntu 11.10 64 位,我必须在其上安装 32 位 deb 包。它取决于其他 32 位库。我用 getlibs 克服了这个问题:
sudo getlibs -i ./hp-netconnect_1.2-12_i386.deb
Run Code Online (Sandbox Code Playgroud)
包已成功安装,我可以使用它,但现在我无法使用 apt-get 安装任何东西:
ytaras@bueno:~/Downloads$ sudo apt-get install bison-doc
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
hp-netconnect:i386 : Depends: openssl:i386 but it is not going to be installed
Depends: procps:i386 but it is not going to be installed
Depends: zenity:i386 but it is …Run Code Online (Sandbox Code Playgroud) 我在熊猫板上使用 Ubuntu 12.10 (ARMHF) 发行版。我想运行为 ARMEL 编译的应用程序。由于动态加载器位置发生变化,这是不可能的(https://wiki.linaro.org/OfficeofCTO/HardFloat/LinkerPathCallApr2012)
我成功地创建了以下符号链接 /lib/ld-linux.so.3 -> /lib/ld-linuxarmhf.so.3
有没有办法安装便携包?是否有理由不通过发行版完成此操作?
提前致谢
我一直在按照本指南来设置我的环境,以便在我的 amd64 机器上安装适用于 arm64 架构的软件包,但我一直无法这样做。
我已将“arm64”添加到我的 dpkg 外国架构列表中。
ubuntu:~$ dpkg --print-foreign-architectures
arm64
Run Code Online (Sandbox Code Playgroud)
我已经添加了符合 arch-qualified 的 apt-source,所以我的来源现在如下:
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb [arch=amd64,arm64] http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb [arch=amd64,arm64] http://security.ubuntu.com/ubuntu xenial-security main restricted
deb [arch=amd64,arm64] http://security.ubuntu.com/ubuntu xenial-security universe
deb [arch=amd64,arm64] http://security.ubuntu.com/ubuntu xenial-security multiverse
Run Code Online (Sandbox Code Playgroud)
当我运行 sudo apt-get update 时,我得到以下信息:
Hit:1 …Run Code Online (Sandbox Code Playgroud) (Ubuntu 20.04)
我的(新手)服务器配置为 32 位和 64 位架构:
dpkg --print-architecture
Run Code Online (Sandbox Code Playgroud)
amd64
dpkg --print-foreign-architectures
Run Code Online (Sandbox Code Playgroud)
i386
但是,我似乎无法同时拥有应用程序所依赖的同一个库的 32 位和 64 位。
apt-get install libodbc1:i386
apt-get install libodbc1
Run Code Online (Sandbox Code Playgroud)
当我安装一个时,另一个被删除。当我安装 32 位版本时,需要 64 位版本的应用程序(Plesk、VS Code)中断,而当我安装 64 位版本时,需要 32 位版本的应用程序(WineHQ)中断。如何安装两者以使所有应用程序都能正常工作?
更新
当我运行以下命令时,我得到以下信息:
sudo apt install libodbc1 libodbc1:i386
The following packages have unmet dependencies:
libodbc1 : Breaks: libodbc1:i386 (!= 2.3.7) but 2.3.6-0.1build1 is to be installed
libodbc1:i386 : Breaks: libodbc1 (!= 2.3.6-0.1build1) but 2.3.7 is to be installed
E: Unable to correct problems, you have held broken …Run Code Online (Sandbox Code Playgroud) 我正在尝试安装 NS3,但被卡在这个包 libc6-dev-i386 安装中。
sudo apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了我可以在谷歌上找到的所有可能的解决方案。
一些细节:
sudo dpkg --print-architectures
i386
Run Code Online (Sandbox Code Playgroud)
我试过直接命令,
sudo apt install libc6-dev-i386
sudo dpkg --add-architecture i386,然后尝试运行更新命令。
但是再次没有运气,我认为这种尝试很愚蠢,因为我的基础架构是 i386,所以我不需要添加它(任何人都可以确认),但我以任何方式尝试过。
sudo apt install -f,虽然我不知道-f代表什么。
我也读过这个包是用 g++ 自动安装的,我有 g++ 6.3.0。
在所有这些尝试之后,我得到了同样的错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libc6-dev-i386
Run Code Online (Sandbox Code Playgroud)
我没有得到,在网站中找到哪里?
编辑
lsb_release -a. 的 o/p,
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty …Run Code Online (Sandbox Code Playgroud) package-management 32-bit multiarch software-installation 17.04
我需要在 Raspberry Pi(armhf端口,ARMv7)上使用 QEMU 运行一些 x86 二进制文件,以使打印机与 Canon\xe2\x80\x99s 蹩脚的二进制 UFRII 驱动程序一起使用。如何仅安装其 x86 依赖项armhf(而不是如何运行它们)?
我可以使用以下命令安装 x86 二进制文件:
\n\nroot@raspberry-pi:~# dpkg --force-architecture -i /tmp/cnrdrvcups-ufr2-uk_5.10-1_i386.deb\nRun Code Online (Sandbox Code Playgroud)\n\n但随后apt不断抱怨其依赖项丢失。我\xe2\x80\x99ll实际上可能需要它们来运行UFRII转换器——所以我\xe2\x80\x99d真的很喜欢通过apt.
我可以添加i386架构,但apt-get update无法下载一些资源,可能是因为armhfx86 软件包驻留在 ports.ubuntu.com 上,而主镜像上。(我\xe2\x80\x99曾经在amd64上成功安装过i386软件包。)
root@raspberry-pi:~# dpkg --add-architecture i386 \nroot@raspberry-pi:~# apt-get update \nHit:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease\nGet:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]\nGet:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [74.6 kB]\nGet:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88.7 kB]\nIgn:5 http://ports.ubuntu.com/ubuntu-ports bionic/main i386 Packages\nIgn:6 http://ports.ubuntu.com/ubuntu-ports bionic/restricted …Run Code Online (Sandbox Code Playgroud) 首先我遵循了这个描述:
我认为它已经过时了,因为它不能正常工作。重建包并尝试安装后
sudo dpkg -i gp6-manipulated.deb
Run Code Online (Sandbox Code Playgroud)
给出以下
Entpacken von guitarpro6:i386 (6.1.9) ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von guitarpro6:i386:
guitarpro6:i386 hängt ab von libasound2.
guitarpro6:i386 hängt ab von libc6 (>= 2.1.3).
guitarpro6:i386 hängt ab von libglu1-mesa.
guitarpro6:i386 hängt ab von libportaudio0.
guitarpro6:i386 hängt ab von libportaudio2.
guitarpro6:i386 hängt ab von libssl0.9.8.
guitarpro6:i386 hängt ab von libstdc++6.
guitarpro6:i386 hängt ab von libxml2.
guitarpro6:i386 hängt ab von libxslt1.1.
guitarpro6:i386 hängt ab von zlib1g.
dpkg: Fehler beim Bearbeiten …Run Code Online (Sandbox Code Playgroud) 64-bit package-management kubuntu multiarch software-installation
Multiarch 在 12.04 中取得了长足的进步。但是,仍然建议下载 32 位版本,并且某些 32 位 deb(例如 Google Chrome)仍然缺乏依赖项。我无法找到任何处理 12.10 多架构的蓝图。是否有计划在工作中改进此功能,或者自 ia32-libs 被替换后它是否被认为有效完成?
我想在 Ubuntu 11.10 上安装 eagle cadsoft 6.2.0,eagle 是 32 位兼容的,所以我需要安装 ia32-libs 但它给出了以下错误:
Package ia32-libs 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 'ia32-libs' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
使用命令后,sudo apt-cache search ia32我得到了这个:
grub-efi - GRand Unified Bootloader, version 2 (dummy package)
grub-efi-ia32 - GRand Unified Bootloader, version 2 (EFI-IA32 version)
grub-efi-ia32-bin - GRand Unified Bootloader, version 2 …Run Code Online (Sandbox Code Playgroud) 在 Ubuntu 12.04 LTS x64 上,我们想删除它附带的 i386 外部架构,但我没有看到dpkg干净地执行此操作的命令。
在使用 apt-get 时 Stuck with foreign-architecture=i386 中,建议用户从 中删除该行/etc/dpkg/dpkg.cfg.d/multiarch,我可以这样做(甚至完全删除该文件),但我想知道是否有更“合适的”方法来做到这一点。
我们之所以要这样做,是因为我们使用 Puppet 维护了大量的持续集成代理,并希望坚持“纯 64”。我们从我们自己维护的存储库安装我们自己的 Debian 软件包,除非我们提供该软件包的 i386 版本,否则这将失败。我知道可以覆盖特定存储库配置中的架构,但完全禁用非 64 架构会更清晰。
应该为架构 EM64T®、x86-64、ia32、IA64、Intel®64、x86、amd64、amd32、Mach64 安装哪些软件包?