VMのLinuxにVSCodeでアクセスして開発していたのですが……
ルートディレクトリの空き容量がほぼ0になってしまいました……
ということで、今回はディスク容量を確保すべく、整理の方法についてです!
- 空き容量確保方法のまとめ
- apt installしたら容量不足エラーが出た
- 容量確認
- ファイル削除を試みる
- 不要なアプリをアンインストールして容量確保
- ncduインストール
- ncduを実行する
- VSCodeのキャッシュが圧迫
- キャッシュを削除する
- 不要なカーネルイメージを削除
- 今後の開発の仕方
- 参考
- あとがき
空き容量確保方法のまとめ
先に方法のまとめを書いておきます。
- 状況把握
- 状況確認
- df -h
- 詳細を確認
- ncdu
- 状況確認
- キャッシュクリア
- /.cacheクリア
- apt clean
- その他キャッシュ
- rmで消して平気そう
- /.cacheクリア
- 不要なカーネルイメージ削除
- 現在バージョン確認
- uname -r
- インストール一覧表示
- dpkg --get-selections | grep linux-image
- 不要なモノ削除
- apt autoremove --purge <イメージ名>
- 現在バージョン確認
基本的には、「状況把握→なにか削除」を繰り返します。
普通にファイルやディレクトリなら「rm」で消しちゃえばOKです。
それでは今回やったことを詳細をどうぞ。
apt installしたら容量不足エラーが出た
E: /var/cache/apt/archives/ に充分な空きスペースがありません。
容量確認
ルートディレクトリとか主にひどい
# df -h Filesystem Size Used Avail Use% Mounted on udev 463M 0 463M 0% /dev tmpfs 99M 4.9M 94M 5% /run /dev/sda1 8.8G 8.4G 0 100% / tmpfs 493M 208K 493M 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 493M 0 493M 0% /sys/fs/cgroup share 218G 193G 26G 89% /media/sf_share tmpfs 99M 44K 99M 1% /run/user/1000
ファイル削除を試みる
ということでファイル削除を試みようと思いました。
めんどくさくてrootで作業してしまっていますが、ユーザ権限で作業する場合、適宜sudoを付けて行いましょう*1。
「ncdu」というパッケージを入れると、チェックが楽!
ということを知ったのですが……
そもそもインストールできないので、自力で目星を付けて消していきます……
不要なアプリをアンインストールして容量確保
とりあえずncduを入れるための容量確保を行います。
- 既に入っている
- ncduを入れる程度は空き容量がある
という方はスキップしてください。
ぼくはデフォルトでインストールされていた「Firefox」が不要だったので削除しました。
# apt remove firefox
これでルートのサイズが
項目 | Size | Used | Avail | Use% |
---|---|---|---|---|
before | 8.8G | 8.4G | 0 | 100% |
after | 8.8G | 8.2G | 182M | 98% |
となりました。
ncduインストール
# apt install ncdu
今回インストールされた「ncdu (1.11-1build1)」は、サイズが「89.1KB」でした。
なのでこの程度の空き容量があればインストールしちゃってOKかと思います。
ncduを実行する
ncduを実行します。
# ncdu
ローディング画面が表示された後、このような表示が出ます。
ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help --- /home/lis ------------------------------------------------------------------------------ 2.8 GiB [##########] /.cache 489.1 MiB [# ] /.vscode-server 19.3 MiB [ ] /tmp 16.7 MiB [ ] /.mozilla 816.0 KiB [ ] /.local 416.0 KiB [ ] /.mozc 336.0 KiB [ ] /.config 32.0 KiB [ ] /.vim 16.0 KiB [ ] .viminfo (略)
何がどれだけ容量を食っているか一目瞭然ですね……
ncduの簡単な使い方
キー | 機能 |
---|---|
矢印 | 項目選択の移動 |
i | 詳細情報表示 |
d | 選択項目の削除 |
q | 終了 |
s | サイズでソート(昇順降順切替え) |
h | 戻る |
j | 下に移動 |
k | 上に移動 |
l | 選択項目に入る |
iキーを押すと、中央にこんな感じでポップアップ風の表示が出ます。
16.0 KiB [ ] .viminfo 12.0 KiB [ ] /.presage 12.0 KiB [ ] examples.desktop 12.0 KiB [ ] /.dbus 12.0 KiB [ ┌───Item info──────────────────────────────────────────────┐ 12.0 KiB [ │ │ 8.0 KiB [ │ Name: .cache │ 8.0 KiB [ │ Path: /home/sy │ 8.0 KiB [ │ Type: Directory │ e 4.0 KiB [ │ │ e 4.0 KiB [ │ Disk usage: 2.8 GiB (3,028,488,192 B) │ e 4.0 KiB [ │ Apparent size: 2.8 GiB (3,026,401,535 B) │ e 4.0 KiB [ │ │ e 4.0 KiB [ │ Press i to hide this window│ e 4.0 KiB [ └──────────────────────────────────────────────────────────┘ e 4.0 KiB [ ] /テンプレート e 4.0 KiB [ ] /ダウンロード e 4.0 KiB [ ] /.gconf 4.0 KiB [ ] .bashrc
見やすいステキツールです。
TeraTermだとうまく表示されない
TeraTermだと上下移動するだけで表示が狂ってしまいました。
ずっと下に移動しただけで、こんな感じになりました。
416.0 KiB [ ] /.mozc 336.0 KiB [ ] /.config 8.0 KiB [ ] .ICEauthority e 4.0 KiB [ ] /公開 e 4.0 KiB [ ] /公開 e 4.0 KiB [ ] /ミュージック e 4.0 KiB [ ] /ミュージック e 4.0 KiB [ ] /ピクチャ e 4.0 KiB [ ] /ピクチャ e 4.0 KiB [ ] /ビデオ e 4.0 KiB [ ] /ビデオ e 4.0 KiB [ ] /ドキュメント e 4.0 KiB [ ] /ドキュメント e 4.0 KiB [ ] /デスクトップ e 4.0 KiB [ ] /デスクトップ e 4.0 KiB [ ] /テンプレート e 4.0 KiB [ ] /ダウンロード e 4.0 KiB [ ] /.gconf 4.0 KiB [ ] .bashrc 4.0 KiB [ ] .vimrc
表示上同じフォルダが連続してしまいました。
VSCodeのキャッシュが圧迫
少なくとも/.cacheが鬼のように圧迫していることがわかりました。
更に中に入ると
--- /home/lis/.cache ------------------------------------------------------------------------ /.. 2.8 GiB [##########] /vscode-cpptools 33.3 MiB [ ] /mozilla 712.0 KiB [ ] /thumbnails 416.0 KiB [ ] /upstart 272.0 KiB [ ] /gstreamer-1.0 244.0 KiB [ ] /wallpaper 220.0 KiB [ ] /gnome-software 156.0 KiB [ ] /compizconfig-1 52.0 KiB [ ] /evolution (略)
vscode氏……めっちゃ容量多くね……
全体が「8.2G/8.8G」使用していて、そのうち2.8GBがこのキャッシュということは……
約30%がこのキャッシュによって食われているということになります……
キャッシュを削除する
/.cacheの削除
ルートにあるキャッシュは、コレを実行したら削除できました。
# apt clean
実行後すぐは/.cache自体がいましたが、少し経ったらlsしても表示されなくなりました。
消えるまで若干ラグがある?
これで解消される!!
と思いましたが、ルートディレクトリは依然としてかなりの圧迫度。なんでや。
項目 | Size | Used | Avail | Use% |
---|---|---|---|---|
before | 8.8G | 8.2G | 182M | 98% |
after | 8.8G | 8.1G | 283M | 97% |
homeのキャッシュを削除
/.cache削除後にncduをチェックしたら、~/.cacheが大きいことがわかりました。
中を見てみる限り、アプリ関連のキャッシュのようで、VSCode関連が2.8GBを占めていました……
~/.cacheの中身をまるっと削除しました。
すると
項目 | Size | Used | Avail | Use% |
---|---|---|---|---|
before | 8.8G | 8.1G | 283M | 97% |
after | 8.8G | 4.8G | 3.6G | 57% |
圧倒的容量改善……
不要なカーネルイメージを削除
ついでにカーネルイメージの削除をします。
こちらの記事を見たところ、「/boot」に不要なファイルがありそうなのでチェック。
/bootはカーネルイメージ(システム的なもの)を保存しているらしいので、変なものは消せないですが、不要なのがありそうです。
具体的な消し方は、ココを参照しました。
現在のカーネルバージョンを確認する。
# uname -r 4.15.0-72-generic
次にインストールされているカーネル一覧を表示。
# dpkg --get-selections | grep linux-image linux-image-4.15.0-45-generic deinstall linux-image-4.15.0-66-generic deinstall linux-image-4.15.0-70-generic install linux-image-4.15.0-72-generic install linux-image-generic-hwe-16.04 install
次にカーネルイメージを削除します。
現在バージョン以外を指定して、削除していく。
なので今回の場合は「4.15.0-72-generic」以外なので、「4.15.0-70-generic」ですね。
# apt autoremove --purge linux-image-4.15.0-70-generic
少し解消しました。
項目 | Size | Used | Avail | Use% |
---|---|---|---|---|
before | 8.8G | 4.8G | 3.6G | 57% |
after | 8.8G | 4.7G | 3.7G | 56% |
ストレージを少ない容量で設定しているので、MBクラスでも影響してきますね……
今後の開発の仕方
現在の作業環境が
- ホスト側にVirtual Box用共有フォルダを作成
- Virtual Boxはこのフォルダを共有設定
- VSCodeからVMにリモート機能でアクセス
- 直接リモートでファイル編集
- コンソール(bash)が開けるのでここでmake
のようにしていました。
しかしこの容量圧迫はキツイ……
ということで
- プラン1
- VSCodeでファイル編集
- コンソールでSSH接続してmake
- プラン2
- MSYS2でSSH接続
- tmuxを駆使しながら開発
のどちらかですかねぇ……
Linuxコンソール上での開発の、慣れ度が割と低いので、VSCodeを使うか、はたまたこの機会に慣れていこうか悩ましいところです。
参考
こちらを参考にしました。ありがとうございました。
qiita.com www.mmpp.org ola.kironono.com
あとがき
Linuxのディスク整理!VSCode リモート接続キャッシュがでかいので削除&使うのやめた話と今後の対策についてでした!
VSCodeは便利ですが、弱々しいマシンにはリモートですら容量が大きい感じですね……
動作は全然平気なんですが……
「ファイル容量がヤバい……」
というときは、よければ参考にしてください!
*1:きっとユーザでsudo付けて作業する方が正しい