巨大なPythonパッケージをダウンロードしようとしていますが、突然スペースの制約が発生します。df -h
コマンドを実行すると、次のように表示されます。
[root@darwin ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 5.0G 5.0G 0.0G 100% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 17M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
私が見ることができるのは/dev/vda1
容量が100%というだけです。しかし、他のファイルシステムは無料ですが、なぜパッケージのインストールに使用できないのですか?
答え1
devtmpfs
デバイスなどに関する情報でカーネルで満たされたノードを含みます。
tmpfs
マウントされたファイルシステムに見えますが、実際にはメモリに保存されます。内容をtmpfs
スワップ領域に置き換えることはできますが、システムを再起動すると内容はすべて消えます。
一部のスペースを空にすることができますが、これは、ログ、データ、および追加のパッケージのインストールによってスペースがいっぱいになるため、一時的な回避策にすぎません。 5GBは長期的に見ると十分なスペースではありません。
問題を恒久的に解決する唯一の方法は、システムに永続的なストレージスペースを追加することです。
答え2
5GBのディスクは大きくありませんが、GUIとさまざまな標準アプリケーションを含むLinuxディストリビューションをインストールできます。
ほとんどのディスク領域を使用しているディレクトリを見つける必要があります。使用ディスク使用量 du
その理由は次のとおりです。
du -smx / | sort -n
リストの最後のディレクトリはモールス空間を使用します。
たとえば/var
。その後、より詳細なコマンドを実行します。
du -m /var | sort -n
/var/cache/apt/archives
たとえば、418MBを占めることがわかります。
418 /var/cache/apt/archives
472 /var/cache/apt
482 /var/cache
706 /var
最も多くのスペースを占めるディレクトリを見つけたら、そのディレクトリからいくつかのファイルを削除できます。
sudo rm /foo/bar
ディストリビューションがDebianに似たディストリビューションの場合は、次のコマンドを使用してインストールされているパッケージを削除できます。
sudo apt-get clean
答え3
あなたの質問に直接答えると、これらのファイルシステムをパッケージのインストールに使用できない主な理由は、パッケージファイルがある場所(通常は/ etcと/ usrに分割されている)にインストールされないためです。 df -h を分析します。
devtmpfs 7.9G 0 7.9G 0% /dev
これは、ファイルシステムポインタを介してデバイスを追跡するために使用されます。パッケージは/ devに入らない。理想的には、デバイスだけが/ devにあります。
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 17M 7.9G 1% /run
/dev/shm
これは(「共有メモリ」)との異なる一時ファイルシステムです/run
。
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
これは/ devと同様に、この回答の範囲を超える非常に具体的な目的を持っています。
tmpfs 1.6G 0 1.6G 0% /run/user/0
これは、rootユーザー(uid 0)に特別に指定された最後のtmpfsです。
再起動するとその内容が消去されるため、パッケージのインストールには適していません。おそらく、パッケージアーカイブをディスクに保存し、tmpfsを上書きして起動するたびに、すべてのパッケージを再インストールできます。しかし、ストレージ容量が5GBしかない場合は、組み込みデバイスである可能性が高く、これを行うと何かを開始するのに時間がかかります。長期。それでも素晴らしいプロジェクトになります。