ホーム » コンピュータ » Linux (ページ 25)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

postgreyのトラブルでメールが止まる

自宅で立ち上げているメールサーバで、 spamなどでrejectされるメール流量が減っていると思ったら、 普通のメールさえ流れていないことが判明。 エラーメッセージを見ると postgrey が原因っぽい。

かといって、"telnet localhost 10023"とかでも、postgreyは普通に動いている様子。 色々と調べてみたが、perl のバージョンアップの影響かも。

自宅blogの記事で、数年前にpostgreyを入れた時には、起動オプションが"–inet=10023"だと、 IPv6を使おうとすることで失敗していたことが解り、"–inet=127.0.0.1:10023" と設定していた。しかし、改めて最近のpostgrey設定記事を 探すと、前者の設定が多い。 そこで、改めて"–inet=10023"に変更したら、動き出す…

(( /etc/default/postgrey ))
POSTGREY_OPTS="--inet=10023"

BuffaloルータのsyslogをDebianサーバで記録

以前から、ルータWZR-1166DHP2の状況のモニタのために、syslogの設定をしようとしたけど、 ファシリティなどの値が分らず失敗していたので、改めて設定したのでメモを残す。

記録側のDebianサーバのsyslogの設定

Debianサーバのrsyslogを受信状態にするために、 udp の 514 ポートを受信状態に設定する。

(( /etc/rsyslog.conf ))
$ModLoad imudp
$UDPServerRun 514

Buffaloの家庭用ルータであれば、syslog の出力ファシリティは、 ここによれば、Local1 となっているので、以下の設定を追加する。

(( /etc/rsyslog.d/local1.conf ))
local1.*   /var/log/local1.log

これだけでは、ファイル local1.log が肥大化するので、 logrotate の設定を行う。

(( /etc/logrotate.d/rsyslog ))
:
  /var/log/debug
  /var/log/messages
+ /var/log/local1.log
  {
    rotate 4
    weekly
  :

最後に、設定を反映させる。

(( 設定を反映 ))
$ sudo /etc/init.d/rsyslog restart

Buffaloルータ側のsyslogの設定

管理-ログ-syslog設定にて、syslogサーバの欄にサーバIPアドレスを設定する。

 


(注意) LOGでのルータアドレスの逆引きとか不要かと思い、/etc/default/rsyslog に、”-x”とかの オプションをつけて再起動とかしたけど、設定が反映されない。 “ps ax | grep rsyslog”などを実行しても、”-n”のオプションしかついていない。 よくよく考えると、systemd が入っているので、/etc/systemd/system/syslog.service にて、 “ExecStart=/usr/sbin/rsyslogd -n”と記載されている。 ここを変更すればとは思うけど、「個人的設定の都合」でこの辺のファイルを書き換えるのは、 Debian流じゃないように思えないので、書き換えを躊躇している。
# systemd で全容が把握できていないだけなんだけど…

dovecotのSSL接続ができなくなった

Debian で dovecot の更新があったが、 /etc/dovecot/conf.d/10-ssl.conf パッケージメンテナー版に 更新したら、 imaps=993 での接続ができなくなった。 imap=143 での接続はできるので、設定ファイルを見直すが接続できず。 以下のようなエラーLOGが残っている。

(( /var/log/mail.log ))
Dec 20 19:07:31 perrine dovecot: imap-login:
Disconnected (no auth attempts in 0 secs): user=<>,
rip=192.168.xx.xx, lip=192.168.xx.x,
TLS handshaking: SSL_accept() failed:
error:140A1175:SSL routines:SSL_BYTES_TO_CIPHER_LIST:
inappropriate fallback, session=<xxxxxxxxxxxxxxxx>

色々試したが、SSL鍵の設定がまずいみたい。 メンテナー版のdovecotの鍵は、以下のような設定であったが、

(( /etc/dovecot/conf.d/10-ssl.conf ))
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

鍵の再設定の方法もよく判らなかったので、apache の SSL鍵を 共有するように、以下のように書き換えた。 (当然、自宅サーバなので、オレオレ鍵)

(( /etc/dovecot/conf.d/10-ssl.conf ))
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

DELL Chromebook 11にDebianプログラム開発環境

学校でのプログラミング演習で、安価なChromebookを使うことができないかと、 色々実験してみた。 まずは、通常のインターネット利用やレポート作成であれば、Chromebookの Google Documentsでワープロ、表計算、プレゼンテーション資料の作成は可能。 ただし、既存のMicrosoft Office環境との互換性が問題になるかもしれない。

プログラミングに利用するといっても、Chromebookは ブラウザ操作以外のことを できないようにすることで、安価で安全な環境を提供しているため、通常であれば何もできない。 かといって、ChromebookはLinuxで動いているため、Linuxディストリビューションとは 親和性がある。croutonというchroot環境で別のLinuxを動かすようにしたものを使えば、 プログラミング環境を構築できる。

プログラミング環境構築までの手順

  1. DELL Chromebook 11のリカバリイメージ作成
    まずは、OS環境を色々といじるため、いつでも状態を復旧できるようにリカバリイメージを作成。
  2. DELL Chromebook 11でデベロッパーモード
    通常では、ブラウザ以外を起動させないモードになっているので、デベロッパーモードを導入。
  3. DELL Chromebook 11にcrouton / Debian を入れる
    crouton を使って Debian を入れる。他の方の資料では、Ubuntu が多いけど、 自分が管理しているサーバは Debian only なので、最新の Jessie にてインストール。
  4. crouton / Debianにプログラム開発環境
    最後に、一般的なプログラミング環境として、C++,Java,Arduino,Processingをそろえる。

ひとまずの感想

32000円ほどで、インターネット環境、レポート作成の環境が使え、 crouton導入で、ローカルで Linux 環境が使用でき、 基本的なプログラミング環境が使えるという意味では、 学生の共通購入端末として悪くないのではないだろうか。 ただし、crouton+Debianなどの導入までの手順を簡単化するのが重要。

crouton / Debianにプログラム開発環境

Arduino組み込み開発環境

Debian(jessie)であれば、Arduinoの環境は登録されているので、 下記のように、インストールすればいい。adduser は、USBシリアルの 書き込みのために、dialout グループにユーザを登録する。

$ sudo aptitude install arduino adduser
$ sudo adduser YOURUSERID dialout

Javaの開発環境とProcessing

Javaの開発環境は、openjdk をインストールするだけ。 Processingは、Javaの環境とライブラリを入れておく。 processing 本体で、processing.org から processing-x.x.x-linux64.tgz をダウンロードし、 /opt に展開し、起動ができるようにシンボリックリンクを貼る。

$ sudo aptitude install
openjdk-7-jdk libprocessing-core-java
$ wget http://download.processing.org/processing-2.2.1-linux64.tgz
$ sudo tar zxvf processing-2.2.1-linux64.tgz -C /opt
$ sudo ln -s /opt/processing/processing /usr/local/bin/processing

DELL Chromebook 11 に gcc,g++, emacs24,uim,anthy, chromium,thunderbird, dropbox, java, arduino, processing とひとまずインストールしてきて、ディスク使用量は、/ で 38% ほど。 操作をしていて、特に遅いという感覚はない。 初心者からのプログラミング学習で使いそうなものであれば、この程度かな。

Chromebookの日本語設定

chromebookにcroutonを入れて遊んでいて、 設定のやり直しで何度も再インストールを繰り返していたら、 日本語の設定を何度もするうちに、どれが正しい設定だか 分からなくなる。 ということで、きちんと使える設定をメモ。

1412141235_665x576.png

DELL Chromebook 11にcrouton/Debianを入れる

ChromebookにLinuxの開発環境を入れるには、利便性の点では、crouton が便利。 インストールするには、最初にcroutonのページ から、インストール用のファイルをダウンロード。

Ctrl+Alt+tでcroshを起動し、ここで shell と入力すると、 開発モードの uid=chronos の環境が起動する。

crouton は、この中に chroot 環境としてインストールされる。 このため、crouton 側で chromebook の環境に対して悪影響が 及ぶことはない。crouton には、いくつかの debian ベースの ディストリビューションを入れることができる。

$ cd ~/Downloads
$ sudo sh crouton -r list
使用可能なDebianの種類が表示される。
Debian の wheezy や jessie
Ubuntu の precise や trusty など

今回は、個人的に使い慣れた Debian で、最新の jessie をインストールすることにする。

$ sudo sh crouton -r jessie -t xfce
最後に -e を付けると、chroot 環境構築時に
ファイル名などが暗号化されるみたい。
途中で、debian の環境のためのユーザ名とパスワードを入力する。

chronos環境には、できあがった Linux の環境を起動するために、"enter-root"とか"startxfce4"といった コマンドが "/usr/local/bin" にインストールされている。

ひとまずは、日本語環境用のフォント,エディタ(emacs),日本語入力環境,chromeブラウザを インストール。

$ sudo enter-chroot
---ここからchroot環境---
$ sudo apt-get install aptitude locales g++
fonts-ipafont-gothic fonts-ipafont-mincho
fonts-vlgothic emacs24 anthy anthy-el
uim-anthy uim nautilus-dropbox
chromium chromium-l10n dnsutils
$ sudo dpkg-reconfigure locales
ja_JP.UTF-8 をチェックし、
システムのデフォルトlocaleに ja_JP.UTF-8 を設定。
$ startxfce4

xfce4が立ち上がるので、設定・キーボードで、日本語キーボードの設定をすれば、 Debian環境できあがり。

通常の使い方

上記の設定が終われば、後は Debian の使い方ができる。環境の切換えは、以下の通り。

Ctrl+Alt+←(F1)     Chromebook環境
Ctrl+Alt+→(F2)     chronos環境
Ctrl+Alt+Reload(F3) DebianのX11環境(一旦chronosに切替が必要)
(( Chromebook環境で Ctrl+Alt+t でchronos環境を起動し ))
$ sudo startxfce4
---ここからchroot環境---
debian環境のパスワード

最初起動すると、CtrlキーとSearch(CAPS)ボタンの配置が逆で気持ちが悪いので、 以下の設定を書き込めばよい。

(( $HOME/.Xmodmap ))
clear control
clear mod4
keycode 37 = Super_L NoSymbol Super_L
keycode 105 = Control_R NoSymbol Control_R
keycode 133 = Control_L NoSymbol Control_L
add control = Control_L
add control = Control_R
add mod4 = Super_L

ただし、Chromebook環境とDebianのX11環境で "Ctrl"と"Search"キーを切り替えているが、 モード切替の"Ctrl"は、本来の"ctrl"でないと認識しなかったり、切り替えた後の"search"だったり するため、モードを切り替えるための "Ctrl+Alt"+"←/F1,→/F2,Reload/F3"は、 色々と試しながら切り替える。

DELL Chromebook 11でデベロッパーモード

この記事を参考に、DELL Chromebookでの作業をメモ。

デベロッパーモードに切り替えるためには、"ESC+Reload(F3)+Power"を押すことで、リカバリーモードに切り替わる。

1412121055_943x418.png

"←"キーでメニューを日本語に替えながら、"Ctrl+D→Enter"で切り替えが始まる。

1412121055_930x560.png

切り替わった後は、"Ctrl+Alt+←(F1)"で本来のChromebookの画面。 "Ctrl+Alt+→(F2)"で、Linuxの画面に切り替わる。 システムの根本だから、LinuxモードからChromebookに切り替えると、Login画面からやり直しかと思ったけど、 Chromebookの状態は保存されたままで行き来できる。

1412121055_2019x1999.JPG

Linuxモードでは、初期状態で、Linuxのコンソール画面となる。 loginするには、"uid=chronos"を入力すれば、passwd無しでshellが起動する。 root仕事は、sudo にて。

croutonをインストール作業中に、間違って途中で設定したroot,chronosなどのパスワードが判らなくなった。 しかたがないので、recoveryメディアで再インストールをかけたけど、デベロッパーモードはそのままなので、 相変わらずパスワードは解らないまま。一旦、デベロッパーモードを解除して起動イメージから元に戻さないと、 パスワードなどを修正できなかった。

chronosの状態でパスワードがかかっていないのは不気味なので、 下記のコマンドでパスワードを設定。

$ sudo chromeos-setdevpasswd
パスワードを確認を含めて2回
パスフレーズを1回聞かれる。

DELL Chromebook 11のリカバリーイメージ作成

Chromebookのリカバリーイメージの作成では、Chromebookの専用のURL"chrome://imageburner"を 入力し、リカバリーイメージを作成(下イメージ参照)と説明があったが、 イメージのダウンロードが始まらない。

1412121010_967x395.png

調べてみると、 Chromebookを復元する において、リカバリーメディアの作成方法が記載されている。 imageburnerとは別のリカバリーユティリティをChromebookにインストールして作業を行う。 Chromebookの識別では、左下の"このChromebookのモデル番号を確認"を押せば、適切なイメージを探してくれる。

1412121010_975x323.png
1412121010_793x463.png
1412121010_794x473.png
1412121010_791x469.png

gcalcli v3.1のインストール

2014/11月に入って、PerlのGoogle Calendar APIで取得していた予定が、 "403 Forbidden"で取得できなくなった。同様の記事が同じタイミングで 報告されており、どうも Calendar API が ver 2.x だとダメになった様子。 色々探していたら、python で書かれた gcalcli の v3.1 であれば、 取得できているみたいなので、インストール。

gitを使ってgcalcli最新版をインストール

# git clone https://github.com/insanum/gcalcli.git
# cd gcalcli
# python setup.py install
((必要となるpythonライブラリ))
# aptitude install python-dateutil python-gflags
python-googleapi python-gdata
python-parsedatetime python-pyicu

gcalcliでアクセスする際の認証

gcalcliでカレンダーを取得するために認証を行う必要があるが、 ssh経由で作業中だと、テキストブラウザ "w3m" が起動され、 認証ページ遷移や、キー取得遷移がうまくいかないので、 "–noauth_local_webserver"をつけて、手作業で行う。

$ gcalcli list --noauth_local_webserver
# googleカレンダーの認証を行うためのURLが
# 表示されるので、ブラウザにcopyして表示
# されるkeyをcopyし、キーを改めて入力

gcalcliを使ってみる

自宅では、今日のカレンダーをeabadgeで表示させているけど、 色エスケープシーケンス表示やら、12時間表示やら趣味に合わないな…

$ gcalcli --nocolor --military agenda today 11pm

CGIからgcalcliを呼び出したら、漢字部分が消える…。 環境変数LANGが設定されていないとダメらしい。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト