Torii Lab

Ubuntuの覚書

Ubuntu

Ubuntuのダウンロード

研究開発に欠かせないOS。 Long Term Support版が無難。 Ubuntuは最新より一つ前のバージョンを選択するのがおすすめ。

インストールメディアの作成

RufusでUbuntuのインストールメディアを作成する。Windowsで作るのが無難。

BIOSメニュー表示キー

PC起動時に連打するアレ。「F2」または「DEL」が多く、「ESC」や「F10」は少数派らしい。
パソコンメーカー別「PC起動時」に「BIOSを起動させるキー」の一覧メモ

よく使うコマンド

コマンド 説明
sudo apt update パッケージ情報の取得。
sudo apt upgrade パッケージの更新。
df -h ディスク容量を調べる。
sudo hostnamectl name PCのホスト名を変更する。
htop PCの使用状況を監視する。
nohup [command] & ログアウト後もプログラムを実行させ続ける。主に機械学習で使う。
sudo usermod -G sudo [user name] ユーザにsudo権限を与える。

SSHのタイムアウト設定

/etc/ssh/sshd_configClientAliveIntervalCilentAliveCountMaxを設定する。 以下の設定では60秒毎に接続確認を行い,3回以上接続確認ができなかった場合はSSH接続を切断する。 要するに180秒間応答なしの場合は切断。

ClientAliveInterval 60
ClientAliveCountMax 3

ソフトウェア

Qt

Qtの翻訳に必要なLinguistは以下のリンクからバイナリをダウンロードできる。
Releases · lelegard/qtlinguist-installers
PySide2-lupdate hoge.pro(Ubuntuはpyside2-lupdate)でQt翻訳ファイルを更新できる。

NVIDIA Driver

公式レポジトリ提供のドライバが一番安定。 sudo apt install nvidia-xxxでインストールできる。 インストール後はすぐに再起動する。

Anaconda

データサイエンティスト必携。 Ubuntuの場合はbash Anacondaxxx.shでインストールできる。 chmodで権限を与えることを忘れずに。

コマンド 説明
conda create -n [env_name] python=3.x 環境を生成する。
conda activate [env_name] 環境を有効にする。
conda search [package_name] パッケージを検索する。
conda info -e 環境一覧を表示する。
conda remove -n [env_name] --all 環境を削除する。

Apache2

ユーザディレクトリの有効化

$ sudo a2enmod userdir

CGIの有効化

CGIをロードするモジュールを有効化するために/etc/apache2/mods-enabled/cgi.loadのリンクを生成する。

$ sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load

/etc/apache2/mods-available/userdir.confを以下のように編集する。 AddHandlerにはCGIとして動作させたいファイルの拡張子を入力する。

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride None
                Options +ExecCGI
                Require all granted
                AddHandler cgi-script .cgi .py
        </Directory>
</IfModule>

最後に設定を反映しておわり。

$ sudo systemctl restart apache2

証明書

証明書,秘密鍵,公開鍵の作成

証明書,秘密鍵,公開鍵をすべて作成するコマンド。適宜変更する。

openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj "/C=JP/ST=[県]/L=[市区町村]/O=[組織]/OU=[建物]/CN=[URL]" && openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt