古いインストールからアプリリストを生成して新しいインストールで実行する


8

ネットブックでubuntu-desktop 10.10からubuntuネットブックエディション10.10に移行したい。現在、アドホックネットワークからubuntuにSSH接続すると、ubuntuがフリーズします。常にコールドシャットダウンが必要です。ネットブック版がこの問題を持っていないことを願っています。デスクトップエディションに多くのアプリケーションをカスタムインストールしました。そこで、アプリリストをスクリプトに保存し、新しいインストールでスクリプトを実行して、すべてのアプリがダウンロードされてインストールされるようにします。これを達成するための最良の方法についての提案が必要です。


提案を考えdpkg --get-selectionsている人:システムによってインストールされているパッケージの異なるセットがあることに注意してください。基本システムの後にインストールされたアプリケーションに基づいてフィルタリングする必要があります。
オリ

1
フリーズは、カーネル/ xorg / Xドライバーに関連している可能性が最も高く、ウィンドウマネージャーを変更しても修正される可能性はほとんどありません。
ジョアン・ピント

さらに、10.10での統一は何よりも「凍結」です
Extender

1
また、再度ダウンロードする必要がない場合は、apt on cdをチェックしてください。
ジェレミー

回答:


9

既存のインストールでこのモンスターを実行し12.04、Ubuntuバージョンをi386アーキテクチャ(i386またはamd64)に置き換えます。

release_num='12.04'
arch='i386'

comm -23 \
    <(sort <(aptitude search '~i!~E' --disable-columns | grep -v "i A " | cut -d " " -f 3)) \
    <(sort <(wget -q -O- http://releases.ubuntu.com/maverick/ubuntu-${release_num}-desktop-${arch}.manifest | grep -E -o '^[^ ]+')) \
| sed 's/$/ install/g' > packages

というファイルが生成されpackagesます。これを新しいインストールのどこかにコピーして実行します。

sudo apt-get update
sudo bash -c "cat packages | xargs apt-get -y install"

注:これにより、LiveCDで使用されているパッケージと現在のパッケージが比較されます。現時点では、CDにインストールされていないパッケージ(gparted、btrfs-toolsなど)がいくつかあります。gpartedを手動でインストールした場合は、新しいマシンにも手動で再インストールする必要があります。ありがたいことに、これはいくつかのパッケージにのみ適用されます。必要な場合は、すべてのパッケージを簡単にインストールできます。

また、PPAまたはその他のリポジトリを使用している場合は、これを実行する前に、新しいマシンでそれらを設定してください。


代わりに.manifest-desktopを使用してください。例えば。gpartedとbtrfs-toolsはデフォルトのインストールには含まれていません(CDに含まれています)。これらのパッケージを手動でインストールした場合、それらは「パッケージ」に表示されません。
htorque 2010年

'comm'は両方のファイルが並べ替えられていないと不平を言ったので、並べ替えを介して2つの部分をパイプ処理する場合があります。IIUCには、デフォルトのインストールのパッケージと同じ「問題」があり、手動で「手動でインストール」とマークされているはずです(「comm」の3列目でしょう)。
htorque

どこに.manifest-desktop住んでいますか?編集してソートを追加しようとしています。それらソートされたように見えたので、私はそれをする必要があるとは思わなかったが、一見そうではなかった。良いキャッチ。公平を期して、私はこの投稿を携帯電話のベッドから厄介な小さな15mm * 100mmキーボードを使用して入力しました。;)
Oli

それは欠点です-.manifestファイルのようにオンラインで利用できないようです。:-/ CDでは、「casper」フォルダにあります。
htorque

探し回っていて、最近のバージョンが見つかりません。古いバージョンを使用することは、ISOを破壊するだけでなく、ISOをダウンロードしてそれを抽出するだけでもエネルギーの浪費だと思います。これはこのプロセスの注意点である必要があると思います。以前にあったいくつかのパッケージを手動でインストールする必要があるかもしれませんが、これはそれらのほとんどを行います。
Oli

7

oneconfの使用をお勧めします oneconfをインストールする

それはかなりうまくソフトウェアセンターと統合し、あなたが望むことを行います。


oneconfは通常のユーザーが使用する準備ができていますか?
Decio Lira 2010

通常のユーザーはおそらくそれを使用できますが、まだ好きではありません。それが事実になる前に、それは多くの愛を必要とします。それにもかかわらず、それは便利です。
チパカ

6

私は他の人があなたの質問の技術的な部分に答えたと思います、私は暗黙の質問に答えたいと思います-「Unityに移動することでこのsshの問題は修正されます」。リモートシェルセッションは通常、Unityまたはデスクトップを実行していません。有線ネットワークからではなく、アドホックネットワークからではなくデスクトップにsshで接続できる場合、フリーズはおそらくデスクトップシェルではなくワイヤレスドライバーに関連しています。


私はこれを2番目に挙げます-ネットブックエディションとデスクトップエディションはほとんどすべて同じドライバー/パッケージを使用しているため、再インストールしても何も解決されない可能性があります。代わりに、ネットワークの問題を診断する方が適切です。
ImaginaryRobots 2010年

マーク、はい、ドライバーの問題のようです。しかし、まれなケースでは、有線ネットワーク上でも発生しています。両方のカードをオフにしてみてください。
nixnotwin

1

CDの「casper」フォルダーに「filesystem.manifest-desktop」というファイルがあります(またはISOファイルから抽出します)。これには、インストール時にダウンロードされたパッケージ(更新、langpacks?)を除いた、インストールされたすべてのパッケージが含まれています。

したがって、このようなものは追加および削除されたパッケージのリストを提供するはずです:

dpkg --get-selections | awk '{print $1}' > now.txt
awk '{print $1}' filesystem.manifest-desktop > then.txt
diff -u then.txt now.txt | grep '^+' | sed 's/^+//' | grep -v '^+' > add.txt
diff -u then.txt now.txt | grep '^-' | sed 's/^-//' | grep -v '^-' > rem.txt

その後、次の方法でインストールできます。

cat added.log | xargs sudo apt-get install

(これらのパッケージがすべて利用可能であることを確認する必要があります。そうでない場合、そのコマンドは失敗します。)


1
これにより、現在自動インストールされているパッケージが新しいシステムに手動でインストールされますか?
オリ

私の「add.txt」には「パッケージ」と同じパッケージが含まれているようですので、違います。ただし、これが失敗するのは、現在のシステムで設定した場合、パッケージをインストールから「手動でインストール」に設定することです。
htorque

2
あなたの再インストール方法を盗みましたが、引数が多い場合、xargsは物事を複数のコマンドに分割する可能性があることに注意してください。最初のバッチをダウンロードしてから2番目のバッチをダウンロードするまでの時間を考えると、sudoはおそらく期限切れになります。それが私がを私の中に包んだ理由sudo bash -c "..."です。
Oli

えっと、実際にはインストールモードの方がいいと思いました。dselectはインストールできないパッケージ(不明なPPA、サードパーティの.debs)を明示的に表示するため、マークを解除できます。aptがあれば、全部かゼロかです。
htorque 2010年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.