別のハードドライブにプログラムをインストールするには?

別のハードドライブにプログラムをインストールするには?

私は最近WindowsからLinux Mintに切り替えましたが、これまで本当に気に入りました!ただし、各種プログラムのインストール対象を選択する方法を知りたいです。

たとえば、1TB SATAドライブと128GB SSDがあります。 Steamと各種ゲームをSATAにインストールしたいのですが、インストールを実行しようとするたびにディレクトリを選択することはできません。

Linux Mintにインストールされたプログラムのディレクトリを選択するには?

ベストアンサー1

ご存知のように、Unixシリーズのオペレーティングシステムでは、インストールディレクトリを指定することは一般的ではありません。すべてが大きな階層に入り、パッケージマネージャによってソートされるためです。それでも複数のパーティションを持つことができますが、そのパーティションは「特定のパスの下のすべて」です。たとえば、一般的な設定には、/homeユーザーがシステムディスクをいっぱいにしないように別々のパーティションがあります。

しかし、Steamはシステム管理者ではなくユーザーの権限で実行されるため、通常のパスに何もインストールできないという点で少し特別です。

したがって、インストールされているすべてのファイルはホームディレクトリの隠しディレクトリにあります~/.local/share/Steam

ゲーム専用のパーティションが必要な場合は、最も簡単な方法はパーティションをマウントすることです。

変換するには、Steamが実行されていない間にデータを移動する必要があります。

$ cd ~/.local/share
$ pwd

後で必要になるので、ここにフルパスを記録してください。

$ mv Steam Steam.old
$ mkdir Steam
$ sudo -i

今、私たちはルートで作業しています。

# lsblk -o +UUID

これにより、ブロックデバイスと対応するUUIDのリストが提供されます。 SATAディスクでパーティションを見つけ、UUIDを書き留めます。次に、必要に応じてパスとUUIDを変更してパーティションをマウントします。

# mount UUID=12345678-1234-1234-1234-123456789abc /home/yourname/.local/Steam

df有効な場合、パーティションは出力に表示されます。そうでない場合は、まず準備したいかもしれません。それは別の質問です。

その後、次の行を追加して変更を永続的に適用できます/etc/fstab

UUID=12345678-1234-1234-1234-123456789abc /home/yourname/.local/Steam auto noatime 0 2

autoパラメータは、mountコマンドとファイルシステムの種類(自動検出用)、フラグ(noatimeアクセス時間が記録されないため、ゲームフォルダには必要なく、多くの書き込みが生成される可能性があります)と同じです。ロード時)、バックアップ優先順位(0)、およびファイルシステムチェック(2、ルートファイルシステムを除くすべてのファイルシステムと同じ)を確認します。

,nofailファイルシステムに問題がある場合にシステムが正常に起動するようにするには、これらのフラグを追加できます。この方法の欠点は、Steamを起動するまでこれを知ることができず、新しくインストールしたように動作することです。

手動で削除し、一度インストールして、追加のラインが機能しているかどうかをテストします。

# umount /home/yourname/.local/Steam
# mount /home/yourname/.local/Steam

成功したら、ルートシェルを終了できます。

# exit

そしてデータをコピーしてください。

$ rsync -Pra Steam.old/ Steam/

rsyncユーティリティが見つからない場合は、パッケージマネージャからインポートしてください。

Steamを起動してすべてが完了したことを確認し、古いSteamディレクトリを削除します。

$ rm -rf Steam.old

これで準備ができました。

おすすめ記事