2022/04/30(土)ubuntu 22.04 インストール (10)

その他入れた細々としたもの。
sudo apt install openssh-server
これでsshログイン出来るようになります。
sudo apt install git
sudo apt install curl
このへんはまあ必要か。
sudo apt install unar
これを使うと、日本語ファイル名を含んだzipファイルを展開したときに文字化けしないです。

後は個人的に必要なもの。
sudo apt install lv
sudo apt install checkinstall
sudo apt install ghex
Firefoxだけで過ごしたいところですが、ときどきに必要になるのでchromiumも。
sudo apt install chromium

ホームディレクトリにある「ダウンロード」等を英語表記に

ホームディレクトリに作られる「ダウンロード」などのディレクトリが日本語だと何かと不便なので、英語表記に直します。ターミナルで、
LANG=C xdg-user-dirs-gtk-update
として、「Don't ask me this again」をチェックして「Update Names」をクリックします。これでホームディレクトリが
ダウンロード  デスクトップ  ビデオ    ミュージック
テンプレート  ドキュメント  ピクチャ  公開
から
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
に変わりました。元に戻すにはLANG=Cなしで単に「xdg-user-dirs-gtk-update」。

ctrl←→caps

ctrlとcapsを入れ替えるのが好きな場合は、
sudo apt install gnome-tweaks
を入れてgnome-tweaksを起動し、キーボードとマウス→追加のレイアウトオプション
→Ctrl Position→CtrlとCaps Lockを入れ替える、とします。

gnome terminalの設定

gnome terminalで「→」などの文字の幅がおかしい場合は、右クリック->設定->互換性 で「曖昧幅の文字」を「全角」にします。

また、22.04になって、gnome terminalが妙に縦に間延びして表示されるようになってしまいました。20.04の表示に近づけようと、右クリック->設定->文字 で「フォントを指定」をチェックし、フォントを「IPAゴシック 13」に設定しました。

2022/04/30(土)ubuntu 22.04 インストール (9)

何かとお世話になることが多くなった、dockerを入れます。
sudo apt install docker.io
で20.10.12が入りました。
sudo usermod -aG docker kashi
みたいにしてrootにならなくても使えるようにしました。

また、vmwareではなく実機の場合ですが、NVidiaのGPUがあればnvidia-dockerを設定するとdockerの中でGPUが見えて便利です。設定方法を書いておきます。まず、NVidiaのビデオドライバが入っていて動いている必要があります。
nvidia-smi
と叩いてGPUのstatusが出れば問題ないでしょう。もし動いていなければ、
ubuntu-drivers devices
を実行し、そこに出てきたお勧めのドライバーを、
sudo apt install nvidia-driver-510
のように入れます。

nvidia-dockerは、
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
のようにインストールします。
docker run --gpus all --rm nvidia/cuda:11.0-base nvidia-smi
で、dockerの中でnvidia-smiが動くことを確認しましょう。

2022/04/30(土)ubuntu 22.04 インストール (8)

研究には全然関係ないけど、マルチメディア系?のいろいろを入れた記録です。
sudo apt install ubuntu-restricted-extras
で、著作権上の制限があってインストーラには入れられないアプリケーション群が入ります。いろいろ聞かれますが、TABキーで選択してOKしましょう。

市販dvdの再生を可能にするには、15.10からの手順で、
sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg
とします。いろいろ聞かれますが全てOKで。

その他、
sudo apt install handbrake
sudo apt install vlc
sudo apt install ffmpeg
を入れました。

なお、デフォルトの画像ビューアは名前が分かりにくいですが「eog」です。また、「shotwell」で簡単な画像編集ができます。

2022/04/30(土)ubuntu 22.04 インストール (7)

ubuntuをwindowsから見たファイルサーバにするため、sambaを入れます。
sudo apt install samba
14.04の頃はできたunixへのログインパスワードとsambaのパスワードの共有は出来なくなっているので、次のようにsamba用のパスワードを設定します。
sudo pdbedit -a kashi
home directoryの共有をするため、/etc/samba/smb.conf で、
;[homes]
;   comment = Home Directories
;   browseable = no
の3行のコメント(先頭の「;」)を外し、
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;   read only = yes

read only = no
に変更します。
sudo systemctl restart smbd
これで、homeがwindowsから見えるようになりました。

また、sambaとは逆の、UbuntuからWindowsの共有ドライブをマウントは、次のようにします。

GUIで

「ファイル」を開き、「+他の場所」から、下部の「サーバへの接続」欄に
smb://マシン名/共有名
で接続できます。

CUIで

sudo apt install cifs-utils
のインストールが必要で、
sudo mount -t cifs //マシン名/共有名 /mnt -o "username=ユーザ名"
のようにするとマウントできます。

2022/04/30(土)ubuntu 22.04 インストール (6)

ローカルにwebサーバが立ってると何かと便利なので、apacheを入れます。素のapacheと違ってhttpd.confが細分化されていて、debianの作法に従って設定する必要があって知らないと難しいです。
sudo apt install apache2
いくつかのモジュールを有効化します。
sudo a2enmod userdir
sudo a2enmod include
sudo a2enmod cgid
sudo systemctl restart apache2
これらは、実際には/etc/apache2/mods-availableにあるファイルから/etc/apache2/mods-enabledへリンクを張っていて、mods-enabled以下のファイルが設定に読み込まれるという仕組みです。

次に、自分のよく使う設定をしていきます。public_htmlの有効化とcgiの有効化です。デフォルトで使われている設定ファイルは/etc/apache2/sites-available/000-default.confですが、これをを適当な名前 (custom.confとした) でコピーして設定することにします。
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root
        <Directory /home/*/public_html>
               (ここは各自違うと思う)
        </Directory>
</IfModule>

<IfModule mod_mime.c>
AddHandler cgi-script .cgi
</IfModule>
を(<VirtualHost *:80> </VirtualHost>の中に)加えます。

public_html以下の設定は、ユーザを最大限信用するなら、例えば、
                AllowOverride All
                Options All
                Order allow,deny
                Allow from all
のような感じでしょうか。
sudo a2dissite 000-default
sudo a2ensite custom
sudo systemctl restart apache2
で、000-defaultを無効化し、customを有効化します。

20.04まではこれで良かったのですが、22.04ではこれだけではpublic_htmlが見えません。どうやら22.04から、各userのhome directoryのpermissionのdefaultが755から750に変わったようです。
sudo chmod 755 /home/kashi
としたら見えるようになりました。

さらに、自分の好みで、public_html以下に置いたcgiはそのディレクトリのユーザの権限で動くようにする、suexecを設定します。
sudo apt install apache2-suexec-custom
/etc/apache2/suexec/www-data の2行目を、public_html/cgi-bin → public_html に。
sudo a2enmod suexec
sudo systemctl restart apache2
次にphpの設定。8.1になりました。
sudo apt install php
sudo apt install libapache2-mod-php
/etc/apache2/mods-available/php8.1.conf で、php_admin_value engine Off をコメントアウト
  (ユーザのpublic_html以下でphpを使えるようにする。)
sudo systemctl restart apache2
動作確認は、ホームに public_html/phpinfo.php を
<?php
  phpinfo();
?>
の内容で作成してブラウザでアクセスしてみると分かるでしょう。

最後に、logrotateの設定を。/var/log/apache2 以下のlogが、デフォルトだと14日しか保存されないので直します。/etc/logrotate.d/apache2 の中の、
daily
rotate 14
という行を、
monthly
rotate 120
とし、10年間はもつようにしました。
OK キャンセル 確認 その他