2016/04/28(木)kv-0.4.34

kvライブラリを0.4.34にアップデートしました。

今回は関根晃太さんの指摘で気づいた問題点の修正です。dd.hppでsqrtやlogに負の値を入れたときに正しくエラーになっていなかった問題を修正しました。これは、interval<dd>では問題は発生せず、ddを単体で使ったとき(つまり精度保証でなく近似計算)の場合のみ発生します。

また、conv-double.hpp, conv-dd.hppで、手抜きしてsprintfを使っていたのを、C++らしく書き直しました。

更に、現在ubuntu 16.04を試用中なので、gcc 5.3とclang 3.8で全てのサンプルをコンパイルしてみました。細かく数値まで精査したわけではありませんが、問題なく動いているようです。

2016/04/28(木)ubuntu 16.04インストール(9) その他

その他入れた細々としたもの。
sudo apt install openssh-server
これでsshログイン出来るようになります。
sudo apt install git
gitはいまどきは必修科目ですね。(使えるとは言ってない)

後は個人的に必要なもの。
sudo apt install lv
sudo apt install checkinstall
これは14.04の頃からあるのですが、bashでccとc++に対してファイル名補完が効きません。これを解決するため、/usr/share/bash-completion/completions/gcc の末尾の方の2行
    cc  --version 2>/dev/null | grep -q 'GCC\|Debian' && complete -F _gcc cc  || :
    c++ --version 2>/dev/null | grep -q 'GCC\|Debian' && complete -F _gcc c++ || :

    cc  --version 2>/dev/null | grep -q 'GCC\|Debian\|ubuntu' && complete -F _gcc cc  || :
    c++ --version 2>/dev/null | grep -q 'GCC\|Debian\|ubuntu' && complete -F _gcc c++ || :
のように修正しました。

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

さらに、ふと目を離すとロックされてパスワードが要求されるのが嫌なので、システム設定(左側の歯車アイコン)→画面の明るさとロック で「ロックする」をオフに。ついでに、「サスペンドからの復帰時にパスワードを要求する」のチェックを外しました。

また、時計の表示が寂しかったので、上部の時刻をクリックし、時刻と日付の設定→時計 で、時計の表示設定の「曜日」と「月日」をクリックしました。

これで大体14.04で日頃使っている環境が出来た気がします。使ってみた感想は後ほど報告します。Intlabやopenblas関連についても後ほど試して報告します。

2016/04/27(水)ubuntu 16.04 インストール(8) マルチメディア系

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

市販dvdの再生を可能にするには、以前は
sudo /usr/share/doc/libdvdread4/install-css.sh
でしたが、15.10から
sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg
になりました。

その他、
sudo apt install handbrake
sudo apt install vlc
sudo apt install ffmpeg
sudo apt install ffmpeg-doc
を入れました。ffmpegは14.04では消されていたのが復活したようです。

なお、画像ビューアはデフォルトで入っているものを使っています。名前が分かりにくいですが「eog」です。

2016/04/26(火)ubuntu 16.04 インストール(7) samba

ubuntuをwindowsから見たファイルサーバにするため、sambaを入れます。
sudo apt install samba
さて、以前は、
sudo apt install libpam-smbpass
とすることによってunixパスワードとsambaパスワードを共有できてましたが、これはサポートされなくなったようです ( Ubuntu 16.04 | kofler.info の情報)。そこで昔ながらの方法に戻ってsamba用のパスワードの作成を行います。コマンドは昔はsmbpasswdでしたが最近はpdbeditに変わった模様。
sudo pdbedit -a kashi
home directoryの共有をするため、/etc/samba/smb.conf で、
;[homes]
;   comment = Home Directories
;   browseable = no
のコメントを外し、
# 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から見えるようになりました。

2016/04/25(月)ubuntu 16.04 インストール(6) apache, php

ローカルにwebサーバが立ってると何かと便利なので、apacheを入れます。素のapacheと違ってhttpd.confが細分化されていて、debianの作法に従って設定する必要があって知らないと難しいです。
sudo apt install apache2
いくつかのモジュールを有効化します。
sudo a2enmod userdir
sudo a2enmod include
sudo a2enmod cgid
これらは、実際には/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.0になりました。
sudo apt install php
sudo apt install libapache2-mod-php
/etc/apache2/mods-available/php7.0.conf で、php_admin_value engine Off をコメントアウト
  (ユーザのpublic_html以下でphpを使えるようにする。)
sudo systemctl restart apache2
最後に、logrotateの設定を。/var/log/apache2 以下のlogが、デフォルトだと14日しか保存されないので直します。/etc/logrotate.d/apache2 の中の、
daily
rotate 14
という行を、
monthly
rotate 120
とし、10年間はもつようにしました。
OK キャンセル 確認 その他