DLNA(Digital Living Network Alliance)
 AV家電機器や、パソコン・周辺機器各社の製品等が互いに互換性を持って、ネットワーク上で容易に相互接続できるための規格


・今回の環境
 サーバ:PMS(PS3 Media Server)
 クライアント:PS3


PMSのインストール
 1.sudo add-apt-repository ppa:happy-neko/ps3mediaserver
 2.sudo apt-get update
 3.sudo apt-get install ps3mediaserver
 4.sudo apt-get install sun-java6-jdk


・初期設定
 1.vi /etc/default/ps3mediaserver
  以下項目を変更
  PMS_START="yes"
  PMS_USER="『your login name』"
  PMS_PROFILE="/home/『your login name』/.config/ps3mediaserver"

 2.sudo /etc/init.d/ps3mediaserver start
 
 3.GUIでの各設定
  『基本設定』よりサーバで利用するデバイスIPアドレスを設定
  『表示/共有設定』の以下項目にチェックし、共有したいディレクトリを指定する
   ・メディアライブラリを有効にする
   ・#ビデオの設定#を表示しない
  『保存』をクリック
  『終了』をクリック


PMSの起動方法
 PS3を起動し、以下コマンドを実施
 sudo ps3mediaserver

 

稼働中のシステムにHDD2台を追加し、データ用のディスクをRAID1として構成する手順


1.HDDのフォーマット
 fdisk /dev/【ディスク名】
 
 以下、fdidk内でのコマンド操作
 n ←パーティションの新規作成

 〜〜〜〜〜〜〜パーティション作成例〜〜〜〜〜〜〜
 p ← 基本領域を作成
 1 ← 基本領域作成数
 1 ← シリンダの先頭を選択
 30401 ← シリンダの終点を選択
 ※[Enter]キーを押す事で初期設定値で入力可
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

 t ←パーティションのIDを変更
 fd ←RAIDを指定
 w ←パーティションテーブルの変更を保存


2.構成の確認
 fdisk -l /dev/【ディスク名】


3.mdadmパッケージのインストール ※パッケージが既にあれば省略
 apt-get update
 apt-get upgrade
 apt-get install mdadm


4.mdadmコマンドでRAIDディスクを作成
 mdadm -C /dev/md0 -l1 -n2 /dev/【ディスク名】 /dev/【ディスク名】

 以下、オプションの説明
 C ← RAIDバイス名 ※デバイス名は"/dev/md?"としなければいけない
 l* ← RAIDレベルの指定 ※今回はRAID1構成としたいのでl1を指定
 n* ← RAID構成に用いるパーティション数(HDDの数)の指定*1
 x* ← スペアパーティション数の指定 ※今回は使用しない
 ※RAID構築に用いるパーティション入力は、オプションで"x"を指定した場合、後方をスペアパーティションとみなす


5.RAIDアレイをフォーマット*2
 mkfs -j /dev/md0
 ※"cat /proc/mdstat"、"mdadm --detail /dev/md*"で進捗状況を確認できる


6.デバイスの定義
 vi /etc/mdadm.conf

 〜〜〜〜〜〜〜デバイス定義の設定例〜〜〜〜〜〜〜
 DEVICE /dev/sd[bc]1
 ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


7.マウント設定
 mount /dev/md0 /mnt ← RAIDアレイを/mntに仮マウント
 rsync -av /【ディレクトリ】/ /mnt/ ← /【ディレクトリ】/を/mnt配下にマウント
 vi /etc/fstab ← 起動時にRAIDを自動マウントさせる

 〜〜〜〜〜〜〜〜〜〜以下、"/etc/fstab"の記述内容 〜〜〜〜〜〜〜〜〜〜
【デバイス名 マウントポイント ファイルシステム マウント時のオプション
 ファイルシステムdumpの有無 起動時にfsckチェック実施の有無】
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
 ※各項目はスペース区切り
 ※各設定の有無は数値を指定する。「0」は無を意味する。


8.設定反映の確認
 再起動後、以下コマンド実施
 mount
 df -h


9.RAIDの再構築
 apt-get --purge remove mdadm
 ※"cat /proc/mdstat"でRAIDの構成状態を確認できる


・"rsync"コマンドについて
 目的 : ファイル・ディレクトリのバックアップやミラーリングを行うコマンド
 利点 : ミラーリングが可能。差分を調べ、必要なファイルのみ転送できる。

 以下、各オプションの説明
 a ← アーカイブモード
 z ← データ転送時に圧縮を行う
 v ← コピーしたバイト数などの転送情報を表示
 ※「v」オプションは最大で3個付けることが可。「v」が多いほど詳細に情報を表示
 --delete ← 同期元で削除されたファイルを同期先でも削除
 --include ← 特定のファイルだけを同期(ワイルドカード指定可)
 --exclude ← 定のファイルだけを除外(ワイルドカード指定可)
 -e ssh ← SSH経由で別サーバーに同期

raidの解放
・マウント解除
# umont 【マウントディレクトリ】
RAIDの停止
# mdadm --stop 【マウントディレクトリ】
・スーパーブロックの確認
# mdadm --examine 【ディスク名】
・スーパーブロックの削除
# mdadm --misc --zero-superblock 【ディスク名】

*1:スペアパーティションは含めない

*2:文字通りフォーマットするので、既存のディスクをRAID化する際は不要

1.古いカーネルを入手

リポジトリの追加
 sudo gedit sources.list

リポジトリ
 deb http://jp.archive.ubuntu.com/ubuntu/ intrepid main restricted
 deb-src http://jp.archive.ubuntu.com/ubuntu/ intrepid main restricted


2.パッケージ情報の更新
 sudo apt-get update


3.カーネルの設定

・インストール可能なカーネル一覧の表示
 apt-cache showpkg linux-image

Grub一覧への追加
 sudo apt-get install linux-headers-☓.☓.☓-☓-generic
 sudo apt-get install linux-image-☓.☓.☓-☓-generic

・リブート
 sudo shutdown -r now

Grubメニュ表示
 GRUB Legacy の場合: 起動時に ESC キーを押し続ける
 GRUB 2 の場合: 起動時に Shift キーを押し続ける


4.grubリストの変更
 ・削除するカーネルのバージョン確認
  dpkg --list | grep linux-image
 ・不要なカーネルを削除
  sudo apt-get purge linux-image-(バージョン)-generic
 ・ブート時のメニューを更新
  sudo update-grub


〜バージョン確認コマンド〜
uname -a
lsb_release -a

経緯
 1.Ubuntu11.10からubuntu12.04のバージョンアップを実施
 2.バージョンアップ途中で固まる
 3.リロード実施
 4.サービス起動画面にて固まり、モニター点滅状態となり起動せず


対処
 1.Grubメニューからリカバリーモードで起動
  ※Shiftキーを押しながら起動でGrubメニューが立ち上がる
 2.filesystemをwriteモードにする
  failsafexを選択→「yes」
 3.rootを選択
 4.依存関係が壊れたシステムの修復を実施
  apt-get -f install
 5.再起動実施
  reload


結果
 実施後は、ubuntu12.04として立ち上がりを確認
 以下、確認コマンド。
 lsb_release -a


原因
UbuntuDebian系なので、パッケージ管理はaptで行っている。
aptは依存関係が一ヶ所でも壊れるとインストールやアップデートができなくなる。
その為、依存関係が壊れたシステムの修正を実施する必要があった。


備考
上記対処でも回復しなければ「dselect」か「dpkg –remove」を使えば良いらしい

1.OpenSSHユーザーの作成
# groupadd sshd
# useradd -g sshd -c 'Privilege-separated SSH' -d /dev/null -s /bin/false sshd


2.zlibとOpenSSLのダウンロードとインストール
# apt-get install zlib1g-dev libssl-dev


3.OpenSSHのダウンロードとインストール
# wget -P /usr/local/src ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-[SSHのバージョン].tar.gz
# mkdir /usr/local/openssh-[SSHのバージョン]
# cd /usr/local/src
# tar xzf openssh-[SSHのバージョン].tar.gz
# cd openssh-[SSHのバージョン]
# ./configure --prefix=/usr/local/openssh-[SSHのバージョン]
# make install
# sudo apt-get update
# sudo apt-get install openssh-server


4.RSA公開鍵暗号方式を用いた認証設定
# groupadd [グループ名]
# useradd -d [ホームディレクトリ] -g [グループ名] [ユーザ名]
# passwd [ユーザ名]
# chmod 777 ~/.ssh
# su [ユーザ名]
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ exit
# rm id_rsa.pub
# chmod 755 ~/.ssh


5.sshd_configファイルの編集
# vi /usr/local/openssh-[SSHのバージョン]/etc/sshd_config
※"/etc/ssh/sshd_config"がある場合はこちらが優先される

以下を記述
PermitRootLogin no
AuthorizedKeysFile ~/.ssh/authorized_keys
PasswordAuthentication no
Match Group [グループ名]
ChrootDirectory [ホームディレクトリ]
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

※詳細は以下参照
http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.html


6.OpenSSHの起動
# /usr/local/openssh-[SSHのバージョン]/sbin/sshd
※ssh6以降な無い
or
# sudo service ssh start


7.OpenSSHのプロセス稼働確認
# ps ax | grep sshd | grep -v grep


8.秘密鍵の作成
 4項にて生成されたid_rsaから「PuTTYgen」等を利用して作成する


9.SFTPへの接続
 「WinSCP」等を利用してログインする


※8〜9項はクライアントがwindowsである事前提


注意事項
以下の設定を怠るとchrootがかからない
1.予めSFTP専用のグループを作成
2.sshd_configで"Match Group [SFTP専用グループ名]"の設定を入れる
3.ユーザ作成時は以下コマンド実施
 >useradd -d [ホームディレクトリ] -g [SFTP専用グループ名] [ユーザ名]
※既存のユーザ設定を変更する場合は"useradd"を"usermod"と置き換える