ページ

2014年5月31日土曜日

Transmissionのインストール その1


Transmissionのインストール その1

 

1. Transmissionをインストールする


Transmissionはyumでインストールできません。yumにリポジトリを追加してTransmissionをインストールしてもOKですが、ここでは最新バージョンを探してきてインストールしてみます。
まずTransmissionのトップページはここです。

www.transmissionbt.com

2014年5月30日では2.83がリリースされてました。
DownloadページからCentOSをたどっていくとgeekeryに飛んでいきます。
つまりgeekeryのリポジトリを追加してyumでインストールしてちょ、という意味です。

今は最新バージョンを探していますのでこのあたりで探してみます。

http://rpm.pbone.net/

「Search」、「Advanced RPM Search」とたどっていくとOSの絞り込みができたりしますのでこのページでCentOS6にチェック、「Transmission」を探します。

最新ではありませんが2.82ってのが出てきます。
ダウンロードする必要はありません。rpmファイルのリンクをクリップボードにコピーしてください。
さっそくインストールします。


[root@centos ~]# rpm -ivh [rpmファイルのリンク]

            (例 : rpm -ivh ftp://ftp.pbone.net/...省略.../x86_64/transmission-daemon-2.82-38.1.x86_64.rpm


インストールしようとすると依存関係を問われて、インストールできないはずです。
なので先に

  1. transmission-common-2.82-38.1.x86_64.rpm
  2. transmission-cli-2.82-38.1.x86_64.rpm

をインストールしてください。

最新の2.83はソースからビルドするみたいですが調べてません。


2. 起動/停止スクリプトを作る

起動スクリプトは
/etc/init.d/
にあります。
が、Transmission は(rpm からインストールしたので?)起動スクリプトが存在しません。

https://trac.transmissionbt.com/wiki/Scripts/initd#StartStop

ここに起動スクリプト、"transmission-daemon" があります。
このままこれを /etc/init.d/ に入れ込んでもいいのですが、start-stop-daemon なる Debian 用コマンドが書かれてあります。
つまり Debian 等用ですので CentOSで動いてくれません。

で、自分で書くんですが、テンプレートがあります。
 /usr/share/doc/initscripts-9.03.40/sysvinitfiles
おそらく数字はバージョンですので必ずしも上のパスになるわけではありませんが、このあたりでしょう。
このスクリプトを流用しつつ、

http://www.itmedia.co.jp/help/howto/linux/0007master/01/11.html
http://blog.jicoman.info/2014/04/centos_init_script/
http://www.searchman.info/tips/1620.html

のあたりを参考にしながらコツコツ書いていきます。
で、出来上がりはここです。

スクリプトが出来上がったら /etc/init.d/ に transmission-daemon という名前で保存しときます。
誰でも実行できるように権限を変更し、所有者を変更します。
このあたりは上記の Transmission のWikiどおりです。



[root@centos ~]# chmod +x /etc/init.d/transmission-daemon
[root@centos ~]# chown root:root /etc/init.d/transmission-daemon





3. chkconfigへの登録と自動起動設定

chkconfigに先ほどのスクリプトを登録します。
そのあとchkconfigから自動起動を設定します。


[root@centos ~]#  chkconfig --add transmission-daemon
[root@centos ~]#  chkconfig  transmission-daemon  on

            (この場合のランレベルの設定は2、3、4、5になります)
            (--level <レベル> 引数をつければ変更可能です
            (2のネットワークなしでtransmissionを起動したりはしませんので、

[root@centos ~]#  chkconfig  --level 345 transmission-daemon  on

            (--level <レベル> 引数をつければ変更可能です


エラーなければOK。確認します。


[root@centos ~]#  chkconfig --list transmission-daemon
transmission-daemon     0:off   1:off   2:off    3:on    4:on    5:on    6:off




4. serviceコマンドで起動/停止

chkconfigに登録できたらserviceコマンドで起動、停止できるようになります。


[root@centos ~]# service transmission-daemon start
Starting transmission-daemon:                                    [  OK  ]
[root@centos ~]# service transmission-daemon stop
Shutting down transmission-daemon:                         [  OK  ]




transmission-daemon がCentOS上で起動しているかどうかはpsコマンドで確認してください。
動いているときはこんな感じです。


[root@centos ~]# ps ax | grep transmission
  984 ?        Ssl    0:01 transmission-daemon
 1065 pts/0    S+     0:00 grep transmission





今回はここまでです。
次はTransmissionの設定をしてtorrentファイルからダウンロードしてみます。



ちなみにシャットダウンは


[root@centos ~]#  shutdown -h now



です。お忘れなく。


2014年5月27日火曜日

Bloggerに google-code-prettify を入れてみた


Bloggerに google-code-prettify を入れてみた


このブログはGoogleのBloggerなんですが、コードが多くなってきたので見やすいようにGoogle謹製google-code-prettify を突っ込んでみました。
これでちょっとは見やすくなったでしょうか?

test
# comment
# comment2
test2
echo "Blogger Echo"




導入方法は以下の通り。


  1. https://code.google.com/p/google-code-prettify/wiki/GettingStarted にアクセスして適当にフムフムと理解する。ちなみに英語は読めない。
  2. HTML編集モードにして、<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script> をHTMLの1行目に追加する。コードをハイライトしたいHTML毎になります。
  3. そのままHTML編集モードでハイライトしたいコードの前後に
    <pre class="prettyprint linenums">
    Many
    lines
    of
    code
    </pre>

    <pre class="prettyprint></pre>
    を入れます。「linenums」をとればシンプルな行番号のないハイライトになります。



とまぁ他のブログに書いてある通りで、そこまで格好よくはならない感じです。

transmission-daemon起動スクリプト


transmission-daemon起動スクリプト

もうちょっといいものがあるでよ、という人はぜひご連絡を、、、




#!/bin/sh
#
#
# description: transmission-daemon
# chkconfig: 35 95 5
# processname:transmission-daemon


# Source function library.
. /etc/init.d/functions

# Get network config.
. /etc/sysconfig/network

# Check that networking is up.
if [ ${NETWORKING} = "no" ]
        then
                echo "networking is not up"
                exit 0
fi

DAEMON_USER="transmission"

prog=transmission-daemon
DAEMON_PIDFILE=/var/run/$prog.pid
DAEMON_LOCKFILE=/var/lock/subsys/$prog

start() {
        echo -n "Starting $prog: "
        daemon --user transmission transmission-daemon
        sleep 2
        status $prog &> /dev/null && echo_success || echo_failure
        RETVAL=$?

                if [ $RETVAL -eq 0 ]; then
                        touch $DAEMON_LOCKFILE
                        pidof -o %PPID -x $prog > $DAEMON_PIDFILE
                fi

        echo
        #return
}
stop() {
        echo -n "Shutting down $prog: "
        killproc $prog
        RETVAL=$?

        [ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE

        echo
        #return
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $prog
       ;;
    restart)
        stop
        start
        ;;
#    reload)
#
#       ;;
#    condrestart)
#
#       [ -f /var/lock/subsys/ ] && restart || :
#    probe)
#
#       ;;
    *)
        echo "Usage: $prog {start|stop|status|reload|restart[|probe]"
        exit 1
        ;;
esac
exit $?


このスクリプトは随時更新します。