最近我将上网本从 Ubuntu 13.04 beta 2 32 位升级到 Ubuntu 13.04 64 位。
我希望能够在我的 PC 上运行 32 位程序(例如 WPS,它是 MS Office 2012 的克隆)。
我该怎么做?是否有通过终端执行此操作的简单方法?
运行 ubuntu 12.04 64 位。我想跟随在结束写入的步骤此页面的标题下:compat的图书馆安装Android SDK中。我这样做是为了解决这个问题。但是当我运行第一个命令时
sudo dpkg --add-architecture i386
Run Code Online (Sandbox Code Playgroud)
它失败并提供以下输出:
pkg: error: unknown option --add-architecture
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Options marked [*] produce a lot of output - pipe it through …Run Code Online (Sandbox Code Playgroud) 我正在运行 Oneiric 64 位,自从我升级后,我注意到 Synaptic 已将存储库拆分为 64 位和 32 位,但它正在下载它们的存档列表,比以前花费两倍的时间。谁能解释为什么会这样以及我是否可以阻止它?
我想安装libsqlite3-dev两个i386和amd64相同的Ubuntu 12.04的机器上。我正在开发一个使用 sqlite3 的应用程序,并且想要编译和测试 32 位和 64 位版本。
但是看起来该libsqlite3-dev:i386软件包与 不兼容libsqlite3-dev:amd64,因为apt在我安装另一个时一直想删除一个。
有没有办法让两者都安装在同一个系统上?
我有几个程序需要 32 位包(指向 ia32-lib 包)。但是,当我尝试安装它时,就会发生这种情况。
spirit@ubuntu:~$ sudo apt-get install ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
ia32-libs : Depends: ia32-libs-multiarch but …Run Code Online (Sandbox Code Playgroud) 总是当我安装某些东西时,我多次收到以下错误:
在您的“dpkg”配置文件中发现了未知的配置密钥“foreign-architecture”。此警告将在以后成为一个硬错误,因此请删除有问题的配置选项,并在命令行中将其替换为“dpkg --add-architecture”调用。
当我尝试时,dpkg --add-architecture我得到:
Unknown configuration key `foreign-architecture' found in your `dpkg'
configuration files. This warning will become a hard error at a later
date, so please remove the offending configuration options and replace
them with `dpkg --add-architecture' invocations at the command line.
dpkg: error: --add-architecture takes one argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug …Run Code Online (Sandbox Code Playgroud) 我在 12.10 试图让 Android SDK 工作时注意到了这一点。对于 64 位版本,需要安装:
sudo apt-get install ia32-libs
Run Code Online (Sandbox Code Playgroud)
但是,在 64 位 12.10 下,出现以下错误:
The following packages have unmet dependencies:
ia32-libs : Depends: ia32-libs-multiarch but it is not installable
Run Code Online (Sandbox Code Playgroud)
和
> apt-get install ia32-libs-multiarch
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ia32-libs-multiarch 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 …Run Code Online (Sandbox Code Playgroud) 在我的 x86_64 12.10 系统上,当我尝试
apt-get install libssl-dev:i386
Run Code Online (Sandbox Code Playgroud)
apt 想要删除一堆东西:
The following packages will be REMOVED:
build-essential dkms g++ g++-multilib gcc gcc-multilib hardening-wrapper nvidia-current
The following NEW packages will be installed:
libc6-dev:i386 libssl-dev:i386 linux-libc-dev:i386 zlib1g-dev:i386
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?如何在libssl-dev:i386不丢失 gcc 的情况下安装?
我注意到,libssl-dev并且libssl-dev:i386没有报告的“Multiarch”字段apt-cache show,我认为这意味着它们不能共存。( https://wiki.ubuntu.com/MultiarchSpec )
我们有一个产品想要安装在基于 AMD64/x86 的 Ubuntu 服务器和基于 ARM 的 Ubuntu 服务器上。我们将我们的产品打包为 deb 包。所以我需要创建一个可以在AMD64和ARM64上安装的deb包。我确实参考了https://wiki.ubuntu.com/MultiarchSpec。
Architecture我开始在我的包( )控制文件中使用通配符all" ...(我也尝试过any):
Package: my-package
Version: X.Y.Z
Architecture: all
...
Run Code Online (Sandbox Code Playgroud)
因此,我创建了一个 deb 包并尝试将其安装在目标服务器上。
然而,我意识到我的包没有被apt包管理器识别。我想这是因为 deb 包使用的通配符不在dpkg. 所以我尝试使用以下dpkg命令添加架构通配符:
# add foreign architectures
dpkg --add-architecture all
Run Code Online (Sandbox Code Playgroud)
然而,这给了我一个错误(请参阅 针对 dpkg --add-architecture 错误发布的另一个具体问题) - 但基本上我放弃了它
出于绝望,我添加了“ALL”,这样我就可以成功添加 . 然而,这(如预期的那样)给了我一个错误,因为通配符“ALL”无效并且不等于“all”我得到的错误如下
# apt update
...
N: Skipping acquire of configured file
'restricted/binary-ALL/Packages' as repository
'http://ports.ubuntu.com/ubuntu-ports focal-
updates InRelease' doesn't support architecture
'ALL' …Run Code Online (Sandbox Code Playgroud) 当我升级到 12.04 时,所有 32 位库都被删除了。当我使用 Synaptic 升级时,Synaptic 安装了所有 32 位库。当我后来使用 apt-get 安装 ppa 时,有人告诉我使用 autoremove 删除所有 32 位库,我就是这样做的。
在此之后,Synaptic 想再次安装这些库,但现在我将 ia32-libs 标记为代替。安装工作正常,但我无法安装 Skype,因为 Skype 依赖于 ia32-libs。
当我尝试安装 ia32-libs 时,出现此错误打印输出
ia32-libs:取决于:ia32-libs-multiarch
multiarch ×10
64-bit ×5
apt ×3
dpkg ×3
32-bit ×2
11.10 ×1
12.04 ×1
12.10 ×1
architecture ×1
command-line ×1
dependencies ×1
eclipse ×1
installation ×1