デストロイ!Linux

破壊して学ぶLinux

Ubuntu初期設定メモ

使用言語を日本語にした場合、インストール直後はディレクトリ名が日本語になっているので、英語に直す。

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

これで"デスクトップ"などの名前が"Desktop"となる。それほど重要ではないのだが、
ディレクトリ移動時やパス指定時にいちいち英語と日本語を入れ替える煩わしさがなくなるのは大きい(かも)。

次は最低限必要なパッケージをインストールしておく。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim

apt-get updateで更新可能なインストール済のパッケージリストを取得し、
apt-get upgradeで更新可能なパッケージを一括アップデート。
viでもなんとかなるが、vimのほうがやりやすいのでインストール。

次にSSHの設定。

$ sudo apt-get install openssh-server
$ sudo vim /etc/ssh/sshd_config
$ ifconfig
$ service ssh status
$ service ssh restart
$ sudo ssh-keygen -l -v -E md5 -f /etc/ssh/ssh_host_rsa_key

openssh-serverをインストール。sshでも良いようだが、openssh-serverに含まれる?らしい

So, what is the difference? aptitude install openssh-server will install only, and only openssh-server. aptitude install ssh will both install openssh-server and openssh-client, but unless you have a very strange configuration, you almost certainly already have openssh-client.

askubuntu.com

/etc/ssh/sshd_configを編集して、
ポート番号の変更(任意だが)、たとえば22から10000に。
およびPermitRootLoginをNoに(セキュリティ的な意味で)。
ifconfigでマシンのIPアドレスを確認。inetアドレスという箇所を調べる(クライアント側で必要なので)。

よくわからなかったのが

service ssh status
service ssh restart

だが、これは

指定されたLinuxデーモン(サービス)の起動や停止,ステータスの確認を実行する。実際はシェル・スクリプトであり,/sbin/serviceをテキスト・エディタなどで開くとスクリプトの中身を確認できる。また,serviceコマンドの中では,/etc/init.d(/etc/rc.d/init.d)にあるサービス・スクリプトを実行しているだけである。そのため,/etc/init.d以下のスクリプトを直接実行してもserviceコマンドと同じ作業ができるが,全サービスのステータスを表示したりパスをいちいち入力する必要がないため,コマンドとして使ったほうが便利である。

tech.nikkeibp.co.jp

ということらしい。
すなわち、sshのデーモンのステータスを確認し、そのデーモンを再起動することを意味している。
デーモン関連についても調べる必要がありそうだ。
最後の1行は、SSH公開鍵のフィンガープリントを表示させるコマンド。

ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]

この場合は使用するハッシュ関数MD5アルゴリズムを指定している。

次に、C++で遊べるようにする。build-essentialはインストール済みだと思うが、一応。

$ sudo apt-get install build-essential
$ sudo apt-get install manpages-dev man-db manpages-posix-dev

これでC++のコードのコンパイルなどができるようになる。C++関連についてはまた後日。