2TBのHDD購入とついでにUbuntu18.04LTSへのアップデート作業 備忘録

スポンサーリンク

9年ぐらいHDDは500GBのものを使い続けていたけど、ここのところ英会話とかダンスの練習をするたびに動画ファイルが増えていくようになり、500GBだと厳しくなってきていた。

ということで2TBのHDDを2台購入。

自分はバックアップのため2台のHDDをミラーリングして使っています。

で、これらを使うついでにUbuntuのバージョンアップもすることにした。

いつも使っているUbuntuはLTSという長期サポート版で、去年の4月に18.04が出ていたけど、アップグレードせず16.04のまま使い続けていた。

いつかはアップグレードしようと思ってたので、今回HDDの入れ替えついでに丁度いいタイミングかなと。

一旦まっさらな状態からスタートしたいから、いつもアップグレード時はクリーンインストールをする。

ただクリーンインストールしてみたらスワップ領域が全然作られてなかったので、改めて自分でパーティション分けをして再度OSのインストールをした。



Ubuntu 18.04 LTSインストール後

HDDのマウント

新しく導入したHDDを自動でマウントするための設定。

OSに標準で入っているディスクユーティリティ使うのがお手軽。

ここでフォーマットも出来るのでやってしまって、それからマウントオプションを編集する。

言語設定を英語にしたので急に表記が英語になってますが、マウント設定はこんな感じ。自分の場合HDD2台をホームディレクトリ下のディレクトリにマウントしている。

このあと旧HDDからデータの移行をした。

ホームにあるディレクトリを日本語名から英語名に変更

コマンドラインで操作する時にディレクトリが日本語名だと操作しづらいのでいつも変えてます。

コマンドラインで以下を入力します。

$ LANG=C xdg-user-dirs-gtk-update

ダイアローグが出たら、「Don’t ask me this again」にチェックを入れてUpdateNamesをクリックするだけ。

シャットダウンメニューを出すためのショートカットキーの登録

OSインストール時、デフォルトだとctrl + alt + delはログアウトに割り当てられてますが、自分はいつもシャットダウンメニューを出すキーとして使っているのでその変更。

まずはログアウトに割り当てられているキーを無効にする。そのあと一番したにある+ボタンを押して新しいショートカットを作成する。

キーボードのキーマップ変更

今使っているキーボードは、右側にctrlキーがないもの。

右側にctrlがないのは不便なので、カタカナひらがなキーをctrlキーとして割り当てて使っています。

まず/usr/share/X11/xkb/sympols/userというファイルを作ります。中身は

partial modifier_keys
xkb_symbols "keymap" {
  key <HKTG> { [ Control_R ] };
};

まーおまじないですな。あるキーをctrlキーに変更するといった内容。

続いてこの内容を適用するために/usr/share/X11/xkb/rules/evdevの編集

どこに記述するのが正しいのかイマイチわからんところではありますが、いつもこの辺にuser:keymap = +user(keymap)という記述を挿入しています。

続いて次のコマンドを入れます。

$ dconf write /org/gnome/desktop/input-sources/xkb-options "['user:keymap']"

これでカタカナひらがなキーがctrlキーとして使えるようになります。

Dropboxで共有するファイルの暗号化

普段からDropboxを使ってるわけですが、そのままの状態で上げるのはまずいなと思うものは暗号化して保存しています。自分はそのためにencfsというのを使っています。

ここで書かれているような感じに使ってるわけです。

クラウドにファイルをバックアップする場合、できれば暗号化したいのですがVeraCryptなどでは1ファイルを変更しただけでボリューム全てをアップロードし直しになり現実的じゃありません。かといって全て暗号化zipなどにすると、使う上で不便極まりないです。

これらの問題を解決するのがEncFSという暗号ファイルシステムです。簡単に言うと

  • 復号済みフォルダ
  • 暗号化済みフォルダ

がリンクされていて、復号済みフォルダにファイルを入れると暗号化済みフォルダに暗号化された状態でファイルが作られます。なので

  • 普段は復号済みフォルダを使う
  • 暗号化済みフォルダとクラウドストレージを同期させる

という形で前述の課題を解決できます。

encfsでファイルの暗号化

まずencfsをインストール

$ sudo apt install encfs

使うときはこんな感じ。

$ encfs ~/Dropbox/encrypted ~/decrypted

初回は設定を求められますが適当に。それとパスワードの設定をするだけ。
一度設定をしたら、あとはいつも使う時に上記のコマンドを入力するのみです。

ただし、キーファイルがencryptedディレクトリの中に出来上がるので、別のところに移動して使います。移動したキーを使う時はENCFS6_CONFIGという環境変数を利用します。

$ ENCFS6_CONFIG=~/.encfs6.xml encfs ~/Dropbox/encrypted ~/decrypted

HDDのミラーリング rsyncとlsyncd

そしてHDDのミラーリング。2台のHDDを同期させて同じデータを書き込むようにします。

最初ソフトウェアRAIDを組んで使ってみたことがあるんですが、あんまり使い勝手がしっくりこなかったので別の方法を取ることにしました。

そこで見つけたのはrsyncとlsyncdを併用する方法。

rsyncはLinuxにはだいたい標準で入っているデータを同期させるコマンド。lsyncdはディレクトリの状態を監視して、変化があったらrsyncを自動実行してくれます。

これらを使えばRAIDを組まなくてもリアルタイムにミラーリングが出来るわけですな。

ということで設定。lsyncdのインストール

$ sudo apt install lsyncd

設定ファイルとディレクトリが自動作成されないので手動で作ります。

$ sudo mkdir /etc/lsyncd
$ sudo vi /etc/lsyncd/lsyncd.conf.lua

設定ファイルの中身はこんな感じ。

settings = {
	logfile = "/var/log/lsyncd.log",
	statusFile = "/tmp/lsyncd.stat",
	statusInterval = 1,
}
sync{
	default.rsync,
	source="/home/user/sdb/",
	target="/home/user/sdc/",
	rsync = {
		compress = false,
		_extra = {
			"-au",
		}
	}
}
sync{
	default.rsync,
	source="/home/user/",
	target="/home/user/sdb/home/",
	rsync = {
		compress = false,
		_extra = {
			"-au",
			"--exclude-from=/home/user/exclude.lst",
		}
	}
}

おまじない。HDD2台をマウントしているディレクトリの同期と、ホームディレクトリ下にあるデータを片方のHDDに同期させています。この際exclude.lstに書かれているものは同期しないように弾いています。

続いて監視するファイルの数を増やす設定。デフォルトだと8192で、監視できる数が少なく同期がうまく動かないこともあるので変更します。

/etc/sysctl.confに以下の記述を追加。

fs.inotify.max_user_watches = 819200

そして設定を反映させる。

$ sudo sysctl -p

あとはlsyncdの自動起動設定

$ sudo systemctl enable lsyncd.service
$ sudo systemctl restart lsyncd.service

これでrsync+lsyncdを使った同期設定は終わりです。

あとは

その他はアプリインストールしたり、ちょこちょこ設定いじったりですかね。

昨日今日と、こんな作業で時間をつぶしています。

スポンサーリンク
 
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください