2018/05/01(火)ubuntu 18.04 インストール(8) マルチメディア系

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

16.04までは上の操作でflashのプラグインが入りましたが、18.04では次のようにします。「ソフトウェアとアップデート」を起動し、「他のソフトウェア」タブで、「Canonicalパートナー」と「Canonicalパートナー(ソースコード)」をチェックし、
sudo apt install adobe-flashplugin
とします。

市販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」です。

2018/05/01(火)ubuntu 18.04 インストール(7) samba

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から見えるようになりました。

(2018年12月10日追記)

/etc/samba/smb.confで、
valid users = %S
を有効にしないと、ユーザの誰かが認証したとき他のユーザのファイルも見えてしまってまずそうな気がします。

2018/05/01(火)ubuntu 18.04 インストール(6) apache, php

ローカルに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を有効化します。

さらに、自分の好みで、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の設定。7.2になりました。
sudo apt install php
sudo apt install libapache2-mod-php
/etc/apache2/mods-available/php7.2.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年間はもつようにしました。

2018/05/01(火)ubuntu 18.04 インストール(5) プログラミング系あれこれ

プログラミングに必要なツールをいろいろ入れます。

C++

sudo apt install build-essential
これで、gccなど通常のbuild作業に必要なものが入ります。gccは7.3でした。
sudo apt install clang
clangは6.0が入りました。
sudo apt install libboost-all-dev
boostはやっぱり要る。1.65が入りました。

Java

sudo apt install default-jdk
sudo apt install icedtea-plugin
openjdkの11が入りました。今更要らないでしょうけどJava Appletのプラグインも。

lua

sudo apt install lua5.2
sudo apt install liblua5.2-dev
sudo apt install luajit

fortran

sudo apt install gfortran

python

この時点でpython2, python3は既に入っており、単にpythonと打つとpython2が起動しました。一応2と3両方で環境を整えることにしました。開発用ライブラリ、numpy, scipy, matplotlib, ipythonを入れます。
sudo apt install python-dev (既に入っていた)
sudo apt install python-numpy (既に入っていた)
sudo apt install python-scipy
sudo apt install python-matplotlib
sudo apt install ipython
sudo apt install python3-dev (既に入っていた)
sudo apt install python3-numpy
sudo apt install python3-scipy
sudo apt install python3-matplotlib
sudo apt install ipython3
ついでに最近流行りの。
sudo apt install jupyter-notebook

R

sudo apt install r-recommended
3.4.4が入りました。

octave

sudo apt install octave
sudo apt install liboctave-dev
4.2.2が入りました。liboctave-devはIntlabを使うときに必要になります。

javascript

sudo apt install nodejs

gmp,mpfr

sudo apt install libgmp-dev
sudo apt install libmpfr-dev
それぞれ6.1.2と4.0.1が入りました。

-m32で32bit binaryを作れるように

sudo apt install gcc-multilib
sudo apt install g++-multilib
とりあえずここまで。octaveやnumpyに関係するatlasやopenblasは後で。

2018/05/01(火)ubuntu 18.04 インストール(4) vim

vi大好きなのでvimを入れます。
sudo apt install vim
日本語の漢字コードの異なるファイルを自動認識するように、/etc/vim/vimrc.localを
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
の内容で新規作成しました。もちろん~/.vimrcでもOKです。

これで、デフォルトのコードがUTF8になり、JIS、EUC、SJISコードのファイルも自動認識して編集できるようになります。

追記(5/24)

18.04から、vimが賢くなってファイルの拡張子に応じて自動でインデントしてくれるようになったようです。しかし、自分はエディタが勝手に何かするのがとても嫌いなので、
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
filetype indent off
のように自動インデントをオフにする設定を加えました。この設定はどういうわけか/etc/vim/vimrc.localでは効果がないようで。~/.vimrcに書くことにしました。
OK キャンセル 確認 その他