0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ubuntu20小技

Last updated at Posted at 2021-10-15

細々としたことをメモ

ドライブの空き容量を調べる。

df -h --total

dockerコンテナの大きさを見る

docker system df

使っていないdockerコンテナを削除する。
docker system prune

フォルダ名のスペース(全角と半角)をアンダーバーに変換する

バッチ操作する場合に嫌われる、スペースを削除する。

半角スペース用 depthはサーチするフォルダの深さ
find . -maxdepth 1 -type d | grep " " | sed -e 's/.*/"&"/; p; s/ /_/g' | xargs -n2 mv
全角スペース用
find . -maxdepth 1 -type d | grep " " | sed -e 's/.*/"&"/; p; s/ /_/g' | xargs -n2 mv
2連続のアンダーバーを1つにする(複数回実行)
find . -maxdepth 2 -type d | grep "__" | sed -e 's/.*/"&"/; p; s/__/_/g' | xargs -n2 mv

以下を参考にした。

フォルダ内のファイルをカウントする(スペースがあると作動しがたい)

for d in `find ./ -type d`; do echo $d,`ls "$d" | wc -l`; done

以下を参考にした
https://saneeeatsu.hatenablog.com/entry/show-file-num-on-terminal

widnowsと共有しているデータドライブにアクセスすると書込禁止(ntfsはいろいろ面倒)

ファイラーから +別の場所 でデータ専用HDD(ntfs)が見えるがリードオンリー
右クリックでアンマウントした後、(ターミナルがhddに居ると失敗する)
sudo ntfsfix /dev/sda2
として再マウントすると書き込めるようになった。
参考:https://scienceboy.jp/88io/2019/09/read-only-file-system/

この時はうまく行ったが、また書けなくなる。
ntfsドライブの所有者がrootになっていて、sudo chmodで変更できない。
ここのページを参考にhttps://sekisuiseien.com/computer/11054/

sudo gedit /etc/fstab (マウントの設定が書かれたファイルマウントポイントもここに書かれている)
13行目の以下記述をコメントアウト(バックアップ)して、
/dev/disk/by-uuid/844A8D0B4A8CFAE6 /mnt/DATA_drive auto nosuid,nodev,nofail,x-gvfs-show 0 0
 ntfs-3g と,users,permissionsを追加する。autoは削除する。
/dev/disk/by-uuid/844A8D0B4A8CFAE6 /mnt/DATA_drive ntfs-3g nosuid,nodev,nofail,x-gvfs-show,users,permissions 0 0

sudo umount /mnt/DATA_drive アンマウント
sudo mount /mnt/DATA_drive 再マウント
sudo chown -R user:user /mnt/DATA_drive 所有者変更user:userは自分の名前とグループ Rオプションで下のフォルダも変更

Windowsと共有していると、以下のエラーが出ることがある。

image.png

windowsの更新などで、HDDの何処かに印が付けられると、マウント失敗する。仕方が無いので、windowsの更新をしてから、マウント設定と所有者の設定をしてやる。
(参考)Windowsの高速起動などのオプションが設定してあると、HDDに何か書き込まれてマウントできないことがある。
https://teratail.com/questions/67966?sort=3

日本語リミックスをインストールするとダウンロードフォルダなどが日本語で使いづらい

端末から以下を実行
旧フォルダにファイルがあると自動削除されない
LANG=C xdg-user-dirs-gtk-update (対話的)
LC_ALL=C xdg-user-dirs-update --force (強制)
参考:https://wiki.archlinux.jp/index.php/XDG_%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA

ダウンロードしたdebパッケージをコマンドでインストール

sudo dpkg -i パッケージ名.deb
sudo apt install ./パッケージ名.deb

コマンドが2つあるが、aptだと依存関係も考慮してくれるらしい。
うまく行かなかったときは、次のコマンドで自動修正できる。
sudo apt --fix-broken install

dockerのインスト-ル

dockerと端末で入力するとインストールの案内が表示される。
sudo apt install docker.io
sudo apt install docker-compose (必要なとき)
sudo usermod -aG docker ユーザー名 (vscodeなどユーザーで実行するとき)

CUDAとか使うために、Nvidia Container Toolkitを導入する必要があるとき
nvidia-docker2(sudo apt-get install -y nvidia-docker2でNvidia Container Toolkitが導入される)
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
https://medium.com/nvidiajapan/nvidia-docker-%E3%81%A3%E3%81%A6%E4%BB%8A%E3%81%A9%E3%81%86%E3%81%AA%E3%81%A3%E3%81%A6%E3%82%8B%E3%81%AE-20-09-%E7%89%88-558fae883f44

NTFS HDDのマントパスが起動するごとに変わってしまう

ファイラーで表示される名前と、マウント名は別々で管理されている。
同じHDDが起動するごとに/mnt/user/datadrive1 、/mnt/user/datadrive2と変わってしまう。ディスクというGUIアプリをサーチから起動。dを入力すると見つかった。

image.png
ここで、マウントポイントだけを変更。
image.png
上記操作で、fstabファイルをGUIで変更することになるようだ。
image.png

フリーズしたとき

windowsだとctrl + alt + dell だが不慣れなlinuxだとどうするか?
ラズパイでは以下のショートカットが有効だった。
Alt+PrintScreen+I(終わらなかったプロセスを強制終了させる)
https://eng-entrance.com/linux-ubuntu-termination
https://eng-entrance.com/linux-termination

windowsの起動ドライブを引っ越す

windows10でのSSDの交換。小さいSSDから大きいSSDへ。
ubuntuが動いているPC、またはUSBでubuntuを起動したPCに2台のSSDを接続。
USB起動するPCは母艦以外が楽。(ブート順などバイオス変更がされた場合戻す必要があるから)

まず、Gpartedでコピー元(input)、コピー先(output)のデバイス名を確認する。
/dev/sda /dev/sdbなど。
以下のコマンドで全領域を強制コピー。

sudo dd if=/dev/sda of=/dev/sdb bs=1024 conv=noerror,sync

if:input
of:output
bs 一度にコピーするサイズbuffer
conv=noerror,sync エラー出ても進める
230Gのドライブで1時間程度だった。

この後、Gpartedでwindowsの回復パーティションを後ろに移動(削除してもいいらしい)。起動パーティション(Cドライブ)のサイズ変更。

新しいSSDを母艦に戻して起動。(ドキドキ)
ディスクのチェックメッセージが出るが無事起動。

参考
https://www.usagi1975.com/16mar140940/

小さいSSDに移動するときの参考
https://www.crossdrive.net/wp/archives/5913
↓これは昔試してうまく行った気がする。(gdisk のプロフェッショナルモードでgptを修正)
https://kappaseijin.hatenablog.com/entry/20160924/1474683913

ddコマンドでSSD全体のイメージをバックアップする

以下を参考
https://www.upken.jp/kb/dd-backup-restore.html

ドライブからドライブへ複製

sudo dd if=/dev/sda of=/dev/sdb bs=4096 conv=sync,noerror status=progress

元ディスクにエラーがありそうなときは4096と小さく、エラー無ければ bs=64k とか4Mとか。

ドライブからフォルダへバックアップ

dd if=/dev/sda bs=64k conv=sync,noerror | gzip -c > /media/ubuntu/USB-HDDsName/my_backup_sda.ddimg.gz

USBハードディスクが自動でマウントされていれば、ファイラーやGpartedで名前等確認する。
ubuntuで起動したPCにバックアップ用のフォルダを作成し、ntfsなどバックアップ用のドライブをマウントする。

ddコマンドからパイプでgzipにつないで、バックアップフォルダ(バックアップ用ドライブ)に圧縮イメージを保存する。

リストア時はgunzipの出力をパイプでddコマンドにつないで、書込を行う。

ddの進行確認

status=progressを付ければ進行が分かるので、以下はやらなくても良い。

ddの進行確認は、参考ページにより以下のとおり。-USR1はそのまま入力。この作業によってddがプロセス終了にはならないので大丈夫。(ddプロセスにシグナルを送ってログを表示させるらしい)
別の新しいターミナルから実行するとddを実行しているターミナルで、進行状況が表示される。

# ps -e | grep dd
# sudo kill -USR1 (ddコマンドのプロセス番号)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?