fit PC2i

提供: fukudat
移動: 案内検索

2013年5月に購入したファンレス小型PC fit PC2i. 自宅サーバの機能の大半をクラウドに移行した残りの仕事をさせるのが目的.

目次

ハードウェア構成

  • 内蔵ディスクに2.5inch HDDを刺す
  • HMDIポートに付属のDVI変換ケーブルを通じてmonitorをつなぐ
  • USBポートにキーボードとマウスをつなぐ
  • ACアダプタをつなぐ

とブートする.

F2キーを押せばBIOS設定に入る.

OSインストール

Ubuntu 12.04.3 LTSからdesktopのiso imageを入手する. この辺のガイドに従ってbootable USB memoryを作り, そのUSB memoryをさしてPCをブートし,インストールする.

とりあえずユーザ名を localuser とし,ホスト名を fitpc2i とする.

インストールが終わったら localuser でログインして,

$ sudo apt-get update
$ sudo apt-get upgrade

でアップデートにする.

リモートで操作可能とするため,openssh-server パッケージをインストールする.

$ sudo apt-get install openssh-server

CUIへの変更

desktopをインストールしたのでGUIが立ちあがってしまう.サーバーとして使うのでCUIに変更する. /etc/default/grub を編集して

GRUB_CMDLINE_LINUX_DEFAULT="text"

と変更する.

LDAP client

Ubuntu/ldap-auth-clientも参照.

ldap clientのパッケージをインストール

$ sudo apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db

post-installのconfigurationで次のように答える.

  • Should debconf manage LDAP configuration = yes
  • LDAP server URI = ldap://nas01.fukudat.com/ (最後のslashも必要みたい)
  • Distinghished name of the search base = dc=fukudat,dc=com
  • LDAP version to use = 3
  • Make local root Database admin = yes
  • Does the LDAP database require login = no
  • LDAP account for root = cn=admin,dc=fukudat,dc=com
  • LDAP root account password = /your password/
  • Local crypt to use when changing passwords = exop

ココから下の作業を間違えると su とか login とかができなくなるので,"sudo -s" で root の shell 上で作業すべき. 万一進退きわまったら USB drive から boot して修復.

Ubuntu の uid は 1000 から始まっていて LDAP の uid とぶつかっている. 仕方ないので /etc/passwd を編集して localuser の uid, gid を 999 に変える.

localuser:x:999:999:,,,:/home/localuser:/bin/bash

/etc/nsswitch.conf を編集して以下のようにする.

passwd:         files ldap
group:          files ldap

ここまでうまくいっていれば,次のコマンドでLDAPのユーザとグループがリストできるはず.だめなら上をやり直し.

$ getent passwd
$ getent group

LDAPのuserがリストされたら,ssh で LDAP user でログインできるか試してみよう.

私的な設定

GM-10 driver

GM-10 に従って以下を設定.

  • gm10 ユーザの作成
  • udev の設定は次項目で実施
  • mysql の設定
  • driver の daemon 化

udev rules

/etc/udev/rules.d に以下のファイルを置く.

80-persistent-ttyUSB.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0557", ATTRS{idProduct}=="2008", SYMLINK="nas04-console", MODE="0660"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTB3L741", SYMLINK="gm10-1", OWNER="gm10", MODE="0660"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0411", ATTRS{idProduct}=="00b3", SYMLINK="remote-station", OWNER="fukudat", MODE="0660"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008tZ8", SYMLINK="arduino-mega", OWNER="fukudat", MODE="0660"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0043", SYMLINK="arduino-uno", OWNER="fukudat", MODE="0666"
90-persistent-usb.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="1774", ATTRS{idProduct}=="1001", MODE="0666", SYMLINK="usbrh%n"

これらはGM-10Arduino, USBRH を駆動するため.

crontab

crontab -e で以下のコマンドを定期的に実行する.

# remote login
0-50/10 *       * * *   /usr/local/bin/reverse-port-forwarder.pl

# temperature
4-59/5 *        * * *   /usr/local/bin/read-temperature.pl
0-55/5 *        * * *   /usr/local/bin/upload-temperature.pl

# radiation
4-59/5 *        * * *   /usr/local/bin/upload-radiation.pl

# ted5000
#0-55/5 *       * * *   /usr/local/bin/upload-ted5000.pl

実行ファイルは nas04:/home/fitpc2i の下に保存してある.

個人用ツール
名前空間

変種
操作
案内
ツールボックス