私はUbuntu 12.04を試してみましたが、理解に基づいて次のパーティションを作成しました。
- 2GBスワップ(2GB RAMがある)
/boot
別のカーネルバージョンをインストールする予定なので、1GB(カーネル開発を開始しています)- 35GB
/var
- 40GB
/usr/local
- 407GB
/home
- 15GB
/
(ルート)
私はUbuntu 12.04でOpenSUSE 12.2をインストールしたいと思います。 2つのオペレーティングシステム間で合計を共有できますか/var
?/usr/local
パッケージが2つの異なるディストリビューションであることを知っていますが、ディスク容量を共有する方法はありますか?では、どちらのOSも/usr/local
同じパーティションに独自のOSを持つことができますか?
答え1
共有できます/usr/local
。場合によっては、両方のディストリビューションで異なるバージョンのライブラリを使用する可能性があるため、一方または他方またはそれ自体にいくつかのライブラリをインストールする必要があります/usr/local
。奇妙な追加ライブラリをインストールする負担は/usr/local
。
/usr/local
システムの1つにのみ特定のプログラムをインストールしたい場合は、/usr/local
共有する代わりに別の方法で構成できます。お店/usr/local
両方のシステムにリポジトリを保存し、シンボリックリンクを確立します。
/usr/local
共有するために別々のパーティションを置く必要はありません。あるシステムのシステムパーティションに保存し、別のシステムの任意の場所にインストールし、シンボリックリンクを作成できます。
共有できません/var
。ディレクトリは少し異なるように配置されており、各展開には一意のユーザーIDがあります。/var
メールプールなどの一部のコンテンツを共有できます。
35GBは/var
たくさんあります。基本システムの場合は必要ありません。ここに多くのデータを保存する場合(たとえば、Webサーバーのルートがここにあるため)、データに応じてファイルシステムのサイズを変更します。/var
ルートパーティションから分割することは意味がないので、マージします。リストに記載されていません/usr
。ルートパーティションを分割する必要もありません。各オペレーティングシステムのシステムパーティションと共有パーティションを作成するだけです/home
。インストールするプログラムを非常に保守的に使用しない限り、システムパーティションには15 GB以上が必要です。 50GBのシステムパーティションを作成するだけです。
/boot
他の要件(システムパーティション暗号化など)がない場合は、別のパーティションは必要ありません。
答え2
シンボリックリンクに加えて、以下を使用することもできますbind mounts
。
http://docs.1h.com/Bind_mounts
デフォルトでは、パーティションとファイルシステムを持つことができます(Anthonの設定に似ています)。この場合は、ファイルシステムがすでにインストールされていると仮定し、/mnt/local
ubuntumount --bind /mnt/local/ubuntu /usr/local
インストールとmount --bind /mnt/local/suse /usr/local
suseインストールでこれを実行してください。
これの利点の1つは、/usr/local
物理/usr/local
ディレクトリを削除/移動せずに既存のディレクトリでこれを実行できることです。
例は次のとおりです。
# mkdir foo
# touch foo/nowyouseeme
# mkdir bar
# touch bar/nowyoudont
# ls foo
nowyouseeme
# mount --bind ./bar ./foo
# ls foo
nowyoudont
# umount foo
# ls foo
nowyouseeme
答え3
/usr/local
(つまり、ローカルにコンパイル/インストールされたソフトウェア)は正しく機能する必要があります。使用されているシステムライブラリが互換性がある限り。これは、ほぼ同じ期間にリリースされた「デスクトップを使用」リリースを使用すると、この問題を解決できることを意味します。 FedoraとRHEL/CentOSを混ぜて使用したい場合みんな基本ライブラリはglibc
(ほとんど)以前のバージョンとかなり互換性があるため、古いライブラリ(この場合はRHEL / CentOS)のディストリビューションに基づいて構築してください。あなた〜するC ++の問題(C ++ランタイムはバージョン間で大幅に変更される傾向があるため)、一部のグラフィックライブラリはインターフェイスをランダムに変更します。デスクトップ環境に関連するすべて(KDE、Gnomeなど)はおそらく疑問の余地はありません。
答え4
コンピュータに複数のインストールを設定する方法は、これらのインストールを使用するスタイルによって異なります。覚えておくべきもう1つのことは、物理パーティションを使用して素晴らしい仮想マシンタスクを実行する必要がない限り、両方のインストールが同時に機能しないことです。
私の経験では/home
、パーティションは特に問題なく共有できなければなりません。アプリケーション(dovecot
、)用に特別に作成されたユーザーですが、システムには通常「一般ユーザー」などの実際のディレクトリはfetchmail
ありません。/home
異なるUbuntuバージョン間でログインを共有しますが、ホームディレクトリの設定ファイルが自動的に変換されるため、以前のインストールに戻るときに問題が発生することがあります。これらの問題を解決するために、同じログインに異なるホームディレクトリを使用していますが、/home
同じユーザーIDとグループIDを使用してデータを共有しています。特定のサブディレクトリ(音楽を含むディレクトリなど)間にいつでもリンクを作成できるため、互換性がない、または元に戻せないアップグレードが発生する危険はありません。
私は80年代半ばにPDP 11/70を使用して以来、別のパーティションを作成したことがないのですが、なぜ友達がこれをお勧めするのかわかりません。また、ソースからインストールする場合、一部のプログラムはデフォルトでインストールされます/usr/local
。たとえば、pip
Pythonモジュールをインストールしても同じことが行われます。問題を回避するために、/mnt/local
各コンピュータで指定されたパーティションをマウントし、/usr/local
そのパーティションにディレクトリubuntu
とsuse
ソフトリンク()を作成しますln -s /usr/local /mnt/local/ubuntu
。マシン。これにより、誤って上書きする危険なしに、そのパーティションのスペースを共有できます。後で特別に共有したいコンテンツの間にいつでもリンクを作成できます。
私が提案できるもう1つの方法は、各インストールと共にインストールされたエントリのログの種類を維持することです(私は変更ログモードでemacsを使用し、各コンピュータリリースの組み合わせのファイルを生成します)。追加の項目をインストールしたことを覚えておく必要があります。これで、インストール後のリビジョン管理をsetupnewsystem
含むすべての追加タスクを実行するスクリプトがあります。/etc
mercurial