2011-12-19 9 views
9

apt-getのデフォルトインストールディレクトリは/ optです。 別のディレクトリに変更できますか?apt-getインストールディレクトリを変更するには

+0

より正確に:これはapt-getを(あなたがソースからコンパイルする場合)でインストールされているアプリケーションのデフォルトディレクトリのapt-getをアプ​​リケーションのデフォルトのディレクトリですか? – CedX

+0

これはapt-getでインストールされたアプリケーションのデフォルトディレクトリです – tommywang

+0

それではできません。 –

答えて

7

ベストな方法はないすべてのプログラムが同じディレクトリの/ optにインストールされているシンボリックリンク

ノートを移動するための最良のものではないかもしれない使用することです。これは私がEasyPeasy(Ubuntuの10.04)でやったことある

を(1つのフォルダのみ/プログラムを動かすの例については、末尾を参照)

間違って使用する場合のコマンドのいくつかは、重要なファイルを削除することができます慎重にこのコードを実行します。

まず、/ opt(またはディストリビューションのデフォルトのapt-getインストールディレクトリ)が空であることを確認する必要があります。あなたが最も可能性の高い行うオプトフォルダ内のデータを、持っている場合は、まず安全に保管のためにどこかに移動することができます

sudo rm -rf /opt/             # Removes opt directory 

sudo mkdir /New_Location/newtmp          # Generates Temporary Folder for Programs 
sudo cp -a /opt/* /New_Location/newtmp        # Moves Programs to Temp folder 

は一度使用すると、元のディレクトリを削除することができますバックアップその後、たくさんのスペースにドライブに新しいProgram Filesフォルダを作成して、シンボリックリンクを作成することができ

sudo mkdir /New_Location/Program-Files        # Generates New Program Directory 
sudo ln -s /New_Location/Program-Files /opt       # Creates Symbolic Link 

は、最後にあなたの新しいフォルダにすべての古いプログラムファイルを移動し、クリーンアップ一時的なデータ:

sudo cp -a /New_Location/newtmp/* /New_Location/Program-Files  # Moves Programs to Program Files Folder 
sudo rm -rf /New_Location/newtmp/         # Removes Temp folder 

あなたのスペースの大部分を占有している1つのプログラムだけを移動したい場合は、同じプロセスを使用できます。

例: Java(JVM約300MB)を移動するには、次の操作を行います。 ディスク使用状況分析ツールを使用してjavaのディレクトリをチェックします。 鉱山は、キャッシュをクリアする必要があり、再起動を行うには、この時点では、その最高の/ usr/libに/ JVM

sudo mkdir /New_Location/Program-Files/Java       # Generates New Program Directory 
sudo cp -a /usr/lib/jvm/* /New_Location/Program-Files/Java   # Moves Program to new folder 
sudo rm -rf /usr/lib/jvm            # Removes opt directory 
sudo ln -s /New_Location/Program-Files/Java /usr/lib/jvm    # Creates Symbolic Link 

です。

ハッピーハッキング 限定インテリジェンス

+0

以下を想像してください。異なるディレクトリに2つのバージョンのパッケージが必要です。したがって、2番目のパッケージは最初のパッケージを上書きします。シンボリックリンクはそれ以上の利点はありません。 – DanFromGermany

2

インストールパスはパッケージにハードコードされています(たとえば、http://packages.ubuntu.com/oneiric/i386/mono-runtime/filelistを参照)。このパスは、通常は/ optではなく/ usrですが、パッケージによって異なります。デフォルトのディレクトリを上書きする場合は、パッケージの内容を手動で抽出する必要があります。しかし、それは動作しません:設定ファイル、バイナリファイルさえ、古いパスを使用し続けます。パッケージを正しく動作させるためには、それらを更新する必要があります。私は考えることができる

関連する問題