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)
sudo apt install samba14.04の頃はできたunixへのログインパスワードとsambaのパスワードの共有は出来なくなっているので、次のようにsamba用のパスワードを設定します。
sudo pdbedit -a kashihome 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)
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年間はもつようにしました。
2022/04/30(土)ubuntu 22.04 インストール (5)
C++
sudo apt install build-essentialこれで、gccなど通常のbuild作業に必要なものが入ります。gccは11.2.0でした。
sudo apt install clangclangは14.0.0が入りました。
sudo apt install libboost-all-devboostはやっぱり要る。1.74が入りました。
clang++に関する追記(2024/2/6)
nvidiaのdriverを入れたとき、gcc-12がドライバーのコンパイルのためにインストールされることがありますが、この場合上のようにして入れたclang++がヘッダーやライブラリーを見つけられず動かなくなってしまいます。clang++ --verboseを実行すると、通常ならFound candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11と表示されますが、gcc-12が入っていると、
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/12 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/12と表示されます。このとき、clang++はg++-12がインストールされているとみなし、g++-12のヘッダーやライブラリを使おうとしますが、それは入っていないのでエラーになるというわけです。gcc-12のみが入っていて、g++-12が入っていない状態がこれを引き起こしています。
sudo apt install libstdc++12-devとg++-12のライブラリをインストールするか、いっそ
sudo apt install g++-12を入れてしまえば、ちゃんとclang++が使えるようになります。
Java
sudo apt install default-jdk sudo apt install icedtea-netxopenjdkの11が入りました。後者はJava Web Start用。
lua
sudo apt install lua5.4 sudo apt install liblua5.4-dev sudo apt install luajit
fortran
sudo apt install gfortran
python
この時点でpython2は入っておらず、python3は既に入ってしました。単にpythonと打つとcommand not foundでした。2はサポート終了ということで、python3のみ環境を整えます。sudo apt install python3 sudo apt install python3-dev sudo apt install python3-numpy sudo apt install python3-scipy sudo apt install python3-matplotlib sudo apt install python3-sympy sudo apt install python3-mpmath sudo apt install python3-numba sudo apt install ipython3また、
sudo apt install python-is-python3とすると、単にpythonと打ってpython3が起動できるようになります。
octave
sudo apt install octave sudo apt install liboctave-dev6.4.0が入りました。普通に起動するとCUIで、--guiを付けるとGUI版が起動するようになった模様。liboctave-devはIntlabを使うときに必要になります。
gmp,mpfr
sudo apt install libgmp-dev sudo apt install libmpfr-devそれぞれ6.2.1と4.1.0が入りました。
-m32で32bit binaryを作れるように
sudo apt install gcc-multilib sudo apt install g++-multilib
Julia
sudo apt install julia20.04では1.4.1が入りましたが、22.04ではパッケージか消えていました。仕方ないので、本家サイトからbinary packageを落として入れることにします。https://julialang.org/downloads/の、Generic Linux on x86の64bit(glibc)を使います。
wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.2-linux-x86_64.tar.gz cd /usr/local sudo tar xfz (ダウンロードした場所)/julia-1.7.2-linux-x86_64.tar.gz cd /usr/local/bin sudo ln -s /usr/local/julia-1.7.2/bin/julia .のように、/usr/local/binにリンクを張りました。
nim
nimも最近お気に入りの言語で、20.04では1.0.6が入ったのに、22.04ではパッケージから消えていました。こちらも本家からbinary packageを入れます。https://nim-lang.org/install_unix.htmlの、Generic Linux on x86の64bit(glibc)を使います。wget https://nim-lang.org/download/nim-1.6.4-linux_x64.tar.xz cd /usr/local sudo tar xfJ (ダウンロードした場所)/nim-1.6.4-linux_x64.tar.xz cd /usr/local/bin sudo ln -s /usr/local/nim-1.6.4/bin/* .のように、/usr/local/binにリンクを張りました。
2022/04/30(土)ubuntu 22.04 インストール (4)
sudo apt install vimまた、~/.vimrcを、
set encoding=utf-8 set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8 filetype indent offという内容で作成しました。これにより、
- 日本語のファイルを認識させる。デフォルトのコードがUTF8になり、JIS、EUC、SJISコードのファイルも自動認識して編集できるようになる。
- 18.04からvimが賢くなってファイルの拡張子に応じて自動でインデントしてくれるようになったが、自分はエディタが勝手に何かするのが嫌いなのでそれを止める。