lisz-works

プログラミングと興味を貴方に

Linuxのディスク整理!VSCode リモート接続キャッシュがでかいので削除&使うのやめた話と今後の対策

【スポンサーリンク】

Linuxペンギン

VMのLinuxにVSCodeでアクセスして開発していたのですが……

ルートディレクトリの空き容量がほぼ0になってしまいました……

ということで、今回はディスク容量を確保すべく、整理の方法についてです!

空き容量確保方法のまとめ

先に方法のまとめを書いておきます。

  1. 状況把握
    1. 状況確認
      1. df -h
    2. 詳細を確認
      1. ncdu
  2. キャッシュクリア
    1. /.cacheクリア
      1. apt clean
    2. その他キャッシュ
      1. rmで消して平気そう
  3. 不要なカーネルイメージ削除
    1. 現在バージョン確認
      1. uname -r
    2. インストール一覧表示
      1. dpkg --get-selections | grep linux-image
    3. 不要なモノ削除
      1. 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を入れるための容量確保を行います。

  1. 既に入っている
  2. 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クラスでも影響してきますね……

今後の開発の仕方

現在の作業環境が

  1. ホスト側にVirtual Box用共有フォルダを作成
  2. Virtual Boxはこのフォルダを共有設定
  3. VSCodeからVMにリモート機能でアクセス
    1. 直接リモートでファイル編集
    2. コンソール(bash)が開けるのでここでmake

のようにしていました。

しかしこの容量圧迫はキツイ……

ということで

  1. プラン1
    1. VSCodeでファイル編集
    2. コンソールでSSH接続してmake
  2. プラン2
    1. MSYS2でSSH接続
    2. tmuxを駆使しながら開発

のどちらかですかねぇ……

Linuxコンソール上での開発の、慣れ度が割と低いので、VSCodeを使うか、はたまたこの機会に慣れていこうか悩ましいところです。

参考

こちらを参考にしました。ありがとうございました。

qiita.com www.mmpp.org ola.kironono.com

あとがき

Linuxのディスク整理!VSCode リモート接続キャッシュがでかいので削除&使うのやめた話と今後の対策についてでした!

VSCodeは便利ですが、弱々しいマシンにはリモートですら容量が大きい感じですね……

動作は全然平気なんですが……

「ファイル容量がヤバい……」

というときは、よければ参考にしてください!

*1:きっとユーザでsudo付けて作業する方が正しい