2015年8月22日土曜日

CentOS7 に tmux をインストール

CentOS7 に tmux をインストールした際のメモです

資材

  • tmux
    • http://tmux.github.io/
    • https://github.com/tmux/tmux/releases/download/2.0/tmux-2.0.tar.gz
  • libevent
    • http://libevent.org/
    • https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
環境
gcc バージョン 4.8.2 20140120 (Red Hat 4.8.2-16)

ダウンロード

オリジナルソースはいつも /usr/local/src に置いています

# cd /usr/local/src/
# wget https://github.com/tmux/tmux/releases/download/2.0/tmux-2.0.tar.gz
# wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

libeventのインストール

注意:我が家のCentOSは netinstall の minimal版です。環境によりlibeventが先行でインストールされている可能性があるので適宜処理してください

# cd /usr/local/src/
# tar -zxvf libevent-2.0.22-stable.tar.gz
# cd libevent-2.0.22-stable
# ./configure
# make
# make install
ldconfig の パスを追加し ldconfig をリロード
# echo /usr/local/lib >> /etc/ld.so.conf.d/libevent.conf
# ldconfig
pkgconfig の検索パスにlibeventも追加
# ln -s /usr/local/lib/pkgconfig/libevent.pc /usr/lib/pkgconfig/libevent.pc
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
以上で libevent の導入終わり

tmuxのインストール

# tar -zxvf tmux-2.0.tar.gz
# cd tmux-2.0
# ./configure --prefix=/opt/tmux-2.0.22

checking for LIBEVENT... yes

が通っていることを確認する
失敗してたら pkgconfig の設定を見直すこと
# make 
# make install
最後に /usr/local/bin にシンボリックリンクを通して終了
ln -s /opt/tmux-2.0.22/bin/tmux /usr/local/bin/tmux

個人的には アップグレードの際に 旧バージョンを残してきり戻せるようにするのが好きなので
/opt下にバージョンごとのディレクトリを用意して PATHのbinにシンボリックリンクを張るようにしています

2015年2月1日日曜日

CentOS7でDLNAサーバー(minidlna)を構築 -サービス設定編-

CentOS7 を DLNAサーバーに でインストールした minidlna をサービス登録&
firewallへの追加を行います

minidlna を systemctl へ登録


CentOS7 より systemv が 廃止?され サービスは systemctl 経由で行われるようになりました
minidlna はまだ 対応していないため自前で作る必要があります

作り方はいたって簡単

/usr/lib/systemd/system/ に 以下の service ファイルを設置するだけ

# cat /usr/lib/systemd/system/minidlna.service
[Unit]
Description=minidlna server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
PIDFile=/var/run/minidlna/minidlna.pid
EnvironmentFile=/etc/sysconfig/minidlna
ExecStart=/usr/local/sbin/minidlnad -R -f $CONFIG_FILE
ExecStop=/bin/kill -SIGTERM $MAINPID
ここに書かれるのは 起動/停止コマンドと環境ファイルのみとなるため
起動に必要な引数は EnvironmentFile に記載します
起動引数に -R をつけて ライブラリをスキャンしなおすようにしています
EnvironmentFile の中身は
# cat /etc/sysconfig/minidlna
CONFIG_FILE=/etc/minidlna.conf
だけです
minidlna.conf の中身は前回作ったものです
これで
systemctl start minidlna
systemctl stop minidlna
が成功すればOK

# systemctl status minidlna
minidlna.service - minidlna server
   Loaded: loaded (/usr/lib/systemd/system/minidlna.service; static)
   Active: active (running) since 日 2015-02-01 14:45:40 JST; 5h 56min ago
 Main PID: 12790 (minidlnad)
   CGroup: /system.slice/minidlna.service
           └─12790 /usr/local/sbin/minidlnad -R -f /etc/minidlna.conf

 2月 01 14:45:40 localhost.localdomain systemd[1]: Started minidlna server.

firewalld への追加


DLNAサービスで必要なポートは
  • udp 1900
  • tcp 5000
です
そのほか minidlna.conf で 指定したWEBポートを必要あればあけます
一つ一つ
# firewall-cmd --add-port=XXXX --permanent
とかしてもいいんですが
今回は service として登録してしまいました
/usr/lib/firewalld/services/
には service 毎の設定が入っているため同じようにファイルを作ります
内容は以下のとおり
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>minidlna</short>
  <description></description>
  <port protocol="udp" port="1900"/>
  <port protocol="tcp" port="5000"/>
</service>
これで
# firewall-cmd --add-service=minidlna --permanent
# firewall-cmd --reload
とすれば ポートが開放されるので 他のDLNA機器から検索できるか確認してみましょう

CentOS7でDLNAサーバー(minidlna)を構築 -インストール編-

CentOS7にDLNAサーバーをインストールしたのでメモ
当初 mediatomb を インストールしようとしたが コンパイル時にエラーとなるためあえなく撤退し minidlna をインストールしました

大まかな流れ

1. minidlna のコンパイル&インストール
2. systemctl への追加
3. firewalld への登録

minidlna のコンパイル&インストール

資材

  • minidlna-1.1.4.tar.gz
  • ffmpeg
必要なRPMをインストール

sudo yum install libjpeg-turbo-devel libid3tag-devel libogg-devel libvorbis-devel flac-libs flac-devel

ffmpeg から 各種ランタイムの調達

ffmpeg を git から調達
基本的に minidlna で使用するライブラリ群しかほしくなかったのでライブラリのみをコンパイルインストールしました
$ git clone git://source.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
$ ./configure --enable-shared --disable-programs
$ make
$ sudo make install
で /usr/local/lib に soファイルが配備されます

minidlna の コンパイルインストール

$ tar -zxvf minidlna-1.1.4.tar.gz
$ cd minidlna-1.1.4
$ ./configure
$ make
$ sudo make install

ld パスの追加

ffmpeg のライブラリインストールで各種モジュールが /usr/local/lib に配置されたので配置先もldパスに追加し
/etc/ld.so.conf.d/ 配下に /usr/local/lib を記述したファイルを配置し読み込みなおす
$ sudo echo '/usr/local/lib' > /etc/ld.so.conf.d/minidlna.conf
$ sudo ldconfig

設定ファイルの配置


minidlna.conf が ソースディレクトリにいるので /etc/ に配置
$ sudo cp minidlna.conf /etc/

/etc/minidlna.conf を 自分の環境に合わせて変更してください
以上で sudo /usr/local/sbin/minidlnad -f /etc/minidlna,conf を叩けば minidlna が起動できます。

2014年6月27日金曜日

Android L を Nexus7にインストール

朝起きたら developerサイトで Android Lのイメージが公開されていたので早速インストール

※ お決まりの文句ですが自己責任でお願いしますね
※ 実施するとユーザーデータがすべて消えるのでバックアップ等お願いします。
※ 以下の手順は Nexus7 2013 Wifiモデル用です

1. イメージのダウンロード

http://developer.android.com/preview/setup-sdk.html#top
から razor-lpv79-preview-d0ddf8ce.tgz をダウンロード

2. razor-lpv79-preview-d0ddf8ce.tgz を解凍

空けるとこんなかんじ

razor-lpv79
├── bootloader-flo-flo-04.02.img
├── flash-all.bat
├── flash-all.sh
├── flash-base.sh
└── image-razor-lpv79.zip

SDKにパスが通ってる人はやらなくてもいいですが
自分は通してないので SDKから以下のファイルをコピー

AdbWinApi.dll
AdbWinUsbApi.dll
adb.exe
fastboot.exe

SDK下の

sdk\Platform-tools

にあります

3. ブートローダーで起動

Nexus7 を VolDownキーを押しながら 電源ボタン ポチって起動します
PCのターミナルで 解凍した razor-lpv79 ディレクトリまで移動し
fastboot devices
を入力

デバイスが認識されてるか確認します

4. OEMロックをはずす
fastboot oem unlock

で ロックをはずします

5. イメージの書き込み

付属の flash-all.bat を叩けば あとは勝手にやってくれ再起動出来たら終了です


2014年4月24日木曜日

強固なパスワード

最近、パスワードクラックのニュースが多いので強固なパスワードの条件を以下のようにしてみたらどうだろうかと考えてみる

■ よく見る例
・大小英数
・○文字以上

■ 否定形で見ると・・・

・個人情報(ユーザID、名前、電話番号など)から推測できない。
・辞書等の単語を使わない

ここにさらにもうひとつ

他のサイトで使ってるパスワードを使わない

ご検討くださいませ

管理が大変になるんですけどね(滝汗)