32ビットライブラリをインストールしようとすると、apt-get install liblua5.2:i386
aptは必要な多くの64ビットパッケージが削除されることを警告します。そのうちのいくつかは32ビット版に置き換えられますが、一部はそうではありません。
32ビットパッケージと64ビットパッケージは並列に動作する必要はありませんか?システムはUbuntu 14.04 64-bitで、kde-plasma-desktop、kde-workspace、build-essential、gcc-4.8などの必須パッケージは削除される予定です。
これはパッケージとその依存関係のデザインバグですか?
The following packages will be REMOVED
build-essential cpp cpp-4.8 g++ g++-4.8 gcc gcc-4.8 gcc-4.8-multilib
gcc-multilib kde-plasma-desktop kde-workspace kde-workspace-bin libbonobo2-0
libbonoboui2-0 libgnome2-0 libgnome2-bin libgnome2-perl libgnomeui-0
libidl-common libidl0 liblua5.2-rrd-dev liblua5.2-rrd0 liborbit2 librrd4
libtool php5-dev shutter x11-apps x11-session-utils x11-xserver-utils
フル出力:
The following extra packages will be installed:
gcc-4.8-base gcc-4.8-base:i386 lib32asan0 lib32atomic1 lib32gcc-4.8-dev
lib32gomp1 lib32itm1 lib32quadmath0 libasan0 libatomic1 libc6-dev:i386
libdbi1:i386 libgcc-4.8-dev libgfortran3 libgomp1 libitm1 libquadmath0
libreadline-dev:i386 libreadline6-dev:i386 librrd4:i386 libstdc++-4.8-dev
libstdc++6 libstdc++6:i386 libtinfo-dev:i386 libtsan0 libx32asan0
libx32atomic1 libx32gcc-4.8-dev libx32gomp1 libx32itm1 libx32quadmath0
linux-libc-dev linux-libc-dev:i386
Suggested packages:
glibc-doc:i386 manpages-dev:i386 libstdc++-4.8-doc
Recommended packages:
gcc:i386 c-compiler:i386 ttf-dejavu:i386 ttf-bitstream-vera:i386
The following packages will be REMOVED
build-essential cpp cpp-4.8 g++ g++-4.8 gcc gcc-4.8 gcc-4.8-multilib
gcc-multilib kde-plasma-desktop kde-workspace kde-workspace-bin libbonobo2-0
libbonoboui2-0 libgnome2-0 libgnome2-bin libgnome2-perl libgnomeui-0
libidl-common libidl0 liblua5.2-rrd-dev liblua5.2-rrd0 liborbit2 librrd4
libtool php5-dev shutter x11-apps x11-session-utils x11-xserver-utils
The following NEW packages will be installed
libc6-dev:i386 libdbi1:i386 liblua5.2-0:i386 liblua5.2-0-dbg:i386
liblua5.2-dev:i386 liblua5.2-rrd-dev:i386 liblua5.2-rrd0:i386
libreadline-dev:i386 libreadline6-dev:i386 librrd4:i386 libtinfo-dev:i386
linux-libc-dev:i386
The following packages will be upgraded:
gcc-4.8-base gcc-4.8-base:i386 lib32asan0 lib32atomic1 lib32gcc-4.8-dev
lib32gomp1 lib32itm1 lib32quadmath0 libasan0 libatomic1 libgcc-4.8-dev
libgfortran3 libgomp1 libitm1 libquadmath0 libstdc++-4.8-dev libstdc++6
libstdc++6:i386 libtsan0 libx32asan0 libx32atomic1 libx32gcc-4.8-dev
libx32gomp1 libx32itm1 libx32quadmath0 linux-libc-dev
26 to upgrade, 12 to newly install, 30 to remove and 316 not to upgrade.
Need to get 12.1 MB of archives.
After this operation, 73.3 MB disk space will be freed.
Do you want to continue? [Y/n]
ベストアンサー1
試してみてください。パッケージapt-get install liblua5.2-0:i386
がない、とをインストールしようとしています。パッケージは削除を引き起こしたパッケージです。liblua5.2
apt-get install liblua5.2:i386
liblua5.2-dev:i386
liblua5.2-0-dbg:i386
liblua5.2-0:i386
-dev
指定されたパッケージ名のマニュアル.
の。が含まれているため、検索拡張が発生します。apt-get
与えられた式に一致するパッケージがなく、式に '.'、 '?'または、「*」のいずれかが含まれている場合は、POSIX正規表現と見なされ、データベース内のすべてのパッケージ名に適用されます。次に、すべての一致をインストール(または削除)します。一致は部分文字列で行われるため、「lo.*」は「how-lo」および「lowest」と一致します。これを避けるには、「^」または「$」文字を使用して正規表現を固定するか、より具体的な正規表現を作成します。
したがって、以下を実行してこれを回避できます。
apt-get install ^liblua5.2:i386$
(正しく失敗しました)。この規則は明らかに一般的な適用性があります。apt-get
パッケージ名がパッケージ名と正確に一致しない場合、式にまたはが.
含まれていなくても、?
パッケージ名を正規表現として使用しようとします*
。