1. capybaraを2.xに上げる
  2. capybara-webkitが動かなくなる
  3. poltergeistに移行する
  4. konacha(mocha)でpoltergeist(phantomjs)が動かない
  5. capybara-webkitにcapybara2.xで動くバージョンが出る(0.14.0)
  6. capybara-webkit 0.14.0に上げる
  7. libqt4-devのバージョンが古くて(4.6)debian squeeze上でコンパイルできない
  8. debian wheezyに上げて、libqt4-devのバージョンを上げる(4.8)
  9. jenkins復活

長かった。

@hrysd

「ツールは甘え 本物の男は手書き」

などと言ってますが、俺も毎回ググってるからツール使いたいです。実際。

皆さんはiptablesどうやって設定してますか?

X無しでdebianで動くフロントエンドでおすすめあったら教えてもらえるとありがたいです!

# apt-get install sudo
# adduser username sudo

wheel的なsudo groupが最初からあるのでそれにsudoしたいユーザーを追加しとけばいい。

sudo時のPATHの設定

# visudo

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

セキュリティ上、sudo時専用のPATHを設定するようになってるので上記を追加。/etc/sudoers.d/以下にファイルで追加するのがホントなのかもしれないがわからない。

ヘッドレスブラウザとか言ってらんない人用。

selenium

% sudo su
% mkdir /usr/lib/selenium/
% cd /usr/lib/selenium/
% wget http://selenium.googlecode.com/files/selenium-server-standalone-2.25.0.jar
% mkdir -p /var/log/selenium/
% chmod a+w /var/log/selenium/

seleniumのinit scriptを書く。

% sudo vi /etc/init.d/selenium
#!/bin/bash

case "${1:-''}" in
    'start')
        if test -f /tmp/selenium.pid
        then
            echo "Selenium is already running."
        else
            export DISPLAY=:99
            java -jar /usr/lib/selenium/selenium-server-standalone-2.25.0.jar > /var/log/selenium/selenium-output.log 2> /var/log/selenium/selenium-error.log & echo $! > /tmp/selenium.pid
            echo "Starting Selenium..."

            error=$?
            if test $error -gt 0
            then
                echo "${bon}Error $error! Couldn't start Selenium!${boff}"
            fi
        fi
    ;;
    'stop')
        if test -f /tmp/selenium.pid
        then
            echo "Stopping Selenium..."
            PID=`cat /tmp/selenium.pid`
            kill -3 $PID
            if kill -9 $PID ;
                then
                    sleep 2
                    test -f /tmp/selenium.pid && rm -f /tmp/selenium.pid
                else
                    echo "Selenium could not be stopped..."
                fi
        else
            echo "Selenium is not running."
        fi
        ;;
    'restart')
        if test -f /tmp/selenium.pid
        then
            kill -HUP `cat /tmp/selenium.pid`
            test -f /tmp/selenium.pid && rm -f /tmp/selenium.pid
            sleep 1
            export DISPLAY=:99
            java -jar /usr/lib/selenium/selenium-server-standalone-2.25.0.jar > /var/log/selenium/selenium-output.log 2> /var/log/selenium/selenium-error.log & echo $! > /tmp/selenium.pid
            echo "Reload Selenium..."
        else
            echo "Selenium isn't running..."
        fi
        ;;
    *)      # no parameter specified
        echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
        exit 1
    ;;
esac
% sudo chmod 755 /etc/init.d/selenium
% sudo update-rc.d selenium defaults

xvfbとfirefox(iceweasel)

% apt-get install xvfb iceweasel

xvfbのinit scriptを書く。

% sudo vi /etc/init.d/xvfb
#!/bin/bash

XVFB=/usr/bin/Xvfb
# XVFBARGS=":99 -fbdir /var/run -ac"
XVFBARGS=":99 -nolisten tcp -fbdir /var/run"
PIDFILE=/var/run/xvfb.pid
case "$1" in
  start)
    echo -n "Starting virtual X frame buffer: Xvfb"
    start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
    echo "."
    ;;
  stop)
    echo -n "Stopping virtual X frame buffer: Xvfb"
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    echo "."
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  *)
        echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
        exit 1
esac

exit 0
% sudo chmod a+x xvfb
% update-rc.d xvfb defaults

何がLinuxデスクトップを殺したか(What Killed the Linux Desktop 日本語訳)

要約すると、(a) 第一の要因:物事があまりに早く変化し、オープンソースも独占ソフトウェアも同じように壊れる。(b) Linux ディストリビューション間の非互換性。

これがデスクトップ分野で Linux をターゲットとしようとするサードパーティの開発者のエコシステムを殺した。一度は挑戦して、「トップ」ディストロや寛容な人なら「トップ3」ディストロをサポートするのに最善を尽くすだろう。それで知ることになるのは、6ヵ月後にはそのソフトウェアがもう動かないということだけ。

何か覚えのある感覚。僕(ら)はサーバー用OSとしてDebianを選ぶのにも同じような考えをしているなと思いました。

Linuxはサーバー分野では成功して、沢山のサードパーティー開発者(僕も)に使われている。サーバー分野でサードパーティー開発者が作るプロプライエタリなソフトといえばWebアプリだ。サーバー分野では上記の様な問題があまり無いからだ。

僕らにとってVistaがコケたことに対応する出来事はRedhatがフリー版の提供を辞めた事だった。事実上の標準だったRedhatが使えなくなるというのでみんなパニックになった。Fedoraに行った人は暫くして立ち上がったCentOSを使い始めた。または僕も含め、多くの人がそれを機会にDebianに移った。確かSergeが出るちょっと前ぐらいだったように記憶しているけど、プロプライエタリなWebアプリを作るサードパーティー開発者(僕だ)にとってDebianは楽園だった。安定版は一度セットアップすれば殆ど手がかからなかったし、APIの変更で自分たちのアプリにも変更が必要ということはまず無かった。OSのメジャーアップデートは再起動無しに出来た。

2012年の現在でも楽園は健在だ。現在の安定版Squeezeはやはり安定していて、丁度昨日も一つセットアップしてきたところだ。レガシーのPHPアプリケーションをSqueezeに持ってきたところ、すっかり動作した。Debian万歳。

サーバー用途でもGUIを重視する必要があるWindowsやMac OS Xに比べて、GUIを切り捨ててサーバー用途の安定性を重視した為、比較的少ない対象に開発リソースを集中できていることがその原因だろう。その代償としてのGUI周りの不安定さならば僕は受け入れてしまうだろう・・・。

いただきもののEeePCをオフィスのステータスモニターにすべく、Debian sqeezeをインストール。しかし、時間が経ってもスクリーンロックしないって設定が効かない。仕方無くubuntu12.04をインストール。こっちは効いた。(画面を閉じたらサスペンドしないって設定は効かない。)

VNCもGDMも違くて、Macでウィンドウとか動かしたらUbuntuの画面上で動いて欲しい。それにはデフォルトで入ってるデスクトップ共有を使う。ubuntu12.04ではシステム設定からは消えてるのでDashで"デスクトップ共有"で探すとある。パスワードを要求する設定にしないと何故かScreen Sharingが永久ぐるぐるなので設定する。

office@office-S101

これでかつる

$ rvm install ruby-1.9.3-p125
Installing Ruby from source to: /home/deployer/.rvm/rubies/ruby-1.9.3-p125, this may take a while depending on your cpu(s)...

ruby-1.9.3-p125 - #fetching 
ruby-1.9.3-p125 - #extracted to /home/deployer/.rvm/src/ruby-1.9.3-p125 (already extracted)
Applying patch 'xcode-debugopt-fix-r34840' (located at /home/deployer/.rvm/patches/ruby/1.9.3/p125/xcode-debugopt-fix-r34840.diff)
Error running 'patch -F 25 -p1 -N -f <"/home/deployer/.rvm/patches/ruby/1.9.3/p125/xcode-debugopt-fix-r34840.diff"', please read /home/deployer/.rvm/log/ruby-1.9.3-p125/patch.apply.xcode-debugopt-fix-r34840.log

autoconfが必要らしいので入れる。

$ sudo apt-get install autoconf

こういう場合、普通にinstallするとパッチ当て損ないのソースをもう一度使おうとするらしく、reinstallする。

$ rvm reinstall ruby-1.9.3-p125

OK。

unicornのデフォルトとportが被ってるので変更した。Debianパッケージ版jenkinsは下記に設定がある。

# /etc/defaults/jenkins:
# port for HTTP connector (default 8080; disable with -1)
#HTTP_PORT=8080
HTTP_PORT=8000
$ apt-cache search git-core
git-core - fast, scalable, distributed revision control system (obsolete)
git - fast, scalable, distributed revision control system

へー。Debian Squeezeではgit-coreはgitかー。

$ sudo apt-get install ethtool
$ sudo ethtool -K eth0 tso off

永続的に使いたい場合は/etc/network/interfaceの末尾に下記を追記。

post-up /sbin/ethtool -K eth0 tso off

参照:[001388]さくらのVPSで「Debian」を利用していますが、回線速度が遅くアクセスに時間がかかります。 | FAQ Search - さくらインターネット