32ビットXubuntuのインストールと同じ64ビットパッケージをインストールします。

32ビットXubuntuのインストールと同じ64ビットパッケージをインストールします。

私はすべてのプログラミングを実行するために仮想マシン(WindowsホストのXubuntu 12.10、VMWare)を使用してきましたが、32ビットインストールから64ビットインストールに切り替えたいと思います。 32ビットVMで使用したすべてのパッケージを新しい64ビットVMに自動的に再インストールしたいと思います。

読むこのガイドラインsudo dpkg --get-selections、インストールされているパッケージのリストを取得するために実行しましたが、多くのパッケージにサフィックスがあります:i386

その64ビットパッケージを簡単にインストールする方法はありますか?インストールを試みる前に、:i386パッケージリストにある同様のものと安全に交換できますか?:x86_64

ベストアンサー1

この質問に対する最初の答えあなたの提案を活用し、紛失したパッケージを処理してください。答えの中にはこれが悪い考えだと思う人もいました。また、追加することを選択した場合は、:i386他のパッケージがこのアーキテクチャのパッケージを明示的に要求する可能性があります。事前に確認したい場合は、ここに提案があります。

システム内にある必要があります/var/lib/apt/lists。このリストには:i386を使用してパッケージのリストを確認して、そのパッケージがi386アーキテクチャとamd64アーキテクチャの両方にあることを確認できます。次のスクリプトは、実行できる操作の例です。

#!/bin/bash

#iterate on installed packages with a :something in their names
for package in $(
                   dpkg --get-selections | 
                   grep ":" | #comment to check all the selection
                   grep -v deinstall | 
                   cut -f1 |
                   sed s/:.*// | 
                   sort -u
                )
do
  #find all occurences in repository package lists
  grep "Package: $package$" /var/lib/apt/lists/*  2>/dev/null |
    #translation and sources are not usefull
    grep -v Translation |
    grep -v Sources |
    #put the distribution as a prefix
    sed 's/^\(.*\)_dists_\([^_]*\)\(.*\)/\2  \1\3/' |
    #put the architecture difference in the repository file name as a prefix
    sed 's/^\(.*\)-\(amd64\|i386\)_\(.*\)/\2  \1_\3/' |
    #count consecutive identical lines ignoring the architecture prefix
    uniq -c -f1 |
    #print architecture distribution and package if some line is not duplicated
    awk '$1!=2{print $2 " " $3 " " $5}'
done

lubuntuのインストールには利点がなく、Debianではパッケージをlibc6-i686, libwine-bin, libwine-alsa, libwine-gli386アーキテクチャでのみ使用できます。

おすすめ記事