ページ更新: 2004-06-26 (土) (6912日前)

関連:

(2004-06-26 新規作成)

OpenSUSE、SUSE Linux Enterprise シリーズ (Server, Desktop など) に関するメモ。

目次

[編集]

どんなの #

パッケージ管理は YaST (システム管理ツール、Yet Another Setup Tools) の機能の一部で、コマンドは yast と zypper。パッケージ形式は rpm。

セキュリティツール (Linux Security Model のプラグイン) は AppArmor を採用している。

[編集]

情報源 #

[編集]

構築メモ - openSUSE 12.3, Jenkins スレーブ用 #

(2013-05-28)

目的

  • Jenkins スレーブを稼働させる。
[編集]

インストール #

インストール用DVDのISOイメージは http://software.opensuse.org/123/ja から入手できる。 大きさは 4.36GB。Firefox で国内のミラーから8分でダウンロードできた。

1. DVD から起動し、選択肢の「Installation」を選ぶ。

2. 「Welcome」画面

  • Language を Japanese に切り替えた。よって、以後の説明は日本語の表示に基づく。

3. 「インストールモード」画面

  • 「新規インストール (I)」を選ぶ
  • 「自動設定を利用する (U)」 はデフォルト(チェックをつける) 。自動設定、はハードウェアとネットワークを自動的に設定してくれる。

4. 「時計とタイムゾーン」画面

  • 「ハードウェアの時刻をUTCに設定」 は、好きなほうで。 自分はチェックを外した (=ローカルタイム)。海外で使うならUTCにしておくとログに突合せがしやすい。

5. 「デスクトップの選択」画面

  • GUI を使うなら GNOME か KDE を選ぶ。
  • GUI が不要なら「その他」の「最小限のサーバ(テキストモード)」を選ぶ。(試していない)

6.「パーティション分割の提案」画面

  • 「/home パーティションを分離して提案する」は、自分は外した。
    • 今回は/homeの使用者=サーバ運用者だったので、パーティションを分離するメリットが無いので。

7.「新しいユーザの作成」画面

  • 今回は、サーバ運用者=使用者なので、「システムメールの受信」にチェックを入れた。
  • 「自動ログイン」は適当に。自分は、仮想PCならon、実PCならoffにすることが多い。

8. 「インストール設定」画面

  • 「ファイアウオールと SSH」で、SSHサービスを有効にした。
    • ssh経由だと作業のログがとりやすいし、Jenkins マスターからSSH経由で制御したいので。
    • (未確認)後からインストールするなら「sudo zypper install openssh」 する

9. 「インストールの実行」〜インストール完了

  • 2.〜9.の所要時間は 18分だった。インストールが完了するまでに1回、自動再起動される。
    • この時点のVMwareの仮想ディスクファイルの大きさは 4.77 GB だった。
[編集]

初期設定 (エディタ、SSH) #

ターミナルを起動するには、KDEの場合、キーボードから「term」と入力して、選択肢を選ぶ。

sudo コマンドは設定済み。よって「sudo コマンド名」とか「sudo -i」とか使える。

パッケージは YaST でインストールできる。 コマンドラインでは

  • コマンド名が分かっていれば「cnf コマンド名」でパッケージ名が表示される。
  • 「zypper search パッケージ名の一部分」で検索できる。
  • パッケージの説明を表示するには 「zypper info パッケージ名」
  • インストールするには「sudo zypper install パッケージ名」
  • 削除は「sudo zypper remove パッケージ名」
  • パッケージの更新(セキュリティアップデート)は「sudo zypper patch」らしい(未確認)
  • rpm コマンドも使える。例:インストール済みのパッケージを表示「rpm -qa」

エディタは vim がインストールされている。 emacs をインストールするなら:

> sudo zypper install emacs

設定ファイルの修正点管理用に、分散バージョン管理システム Mercurial (バージョンは 2.4.2) をインストールした。

> sudo zypper install mercurial

もちろん、git でもよい。

残念ながら etckeeper (パッケージシステムと連携して、設定ファイルの修正を自動記録するツール) のパッケージは用意されていない。

SSHサーバの続き。 設定ファイルは /etc/ssh/sshd_config で、パスワード認証は無効になっている (PasswordAuthentication no)。 パスワード認証を使うなら、設定ファイルを書き換えて、

> sudo vim /etc/ssh/sshd_config

sshd を再起動する

> sudo /etc/init.d/sshd restart

デフォルトでも公開鍵認証は使えるので、公開鍵を ~/.ssh/authorized_keys を作成して追加すればよい。chmodで自分だけが見えるようにしておくこと。

> chmod 600 authorized_keys

公開鍵の配送方法は、自分はWebサーバ経由で公開鍵を公開し、それを openSUSE のFirefoxで取得した。

[編集]

C++ など #

最低限のC/C++開発環境をまとめて (Debian/Ubuntu の build-essential みたいなもの)

「パターン」の一覧を表示

> zypper search -t pattern devel 

例:最低限のを入れるなら (割とでかい。X11のライブラリもインストールされる)

> sudo zypper install -t pattern devel_basis

例:Boostとかの入れるなら

> sudo zypper install -t pattern devel_C_C++

valgrind Linux だし、C/C++ 使うなら、せっかくだから俺はこの赤の扉を Valgrind を入れておく。

> sudo zypper install valgrind
[編集]

Subversion, Jenkins など #

htop: CPU負荷と消費メモリを見やすくしたいので htop を入れた。「sudo zypper install htop」 Jenkins がメモリが足りなくってクラッシュしたときの調査用に。

Subversion: 以下のようにしてインストールする。バージョンは 1.7.9だった。

> sudo zypper install subversion

Java: java コマンドは *-openjdk パッケージに、javac コマンドは *-openjdk-devel パッケージに入っている。 以下のようにしてパッケージ名を調べて、インストールした。

> zypper search java | grep -i jdk
> sudo zypper install java-1_7_0-openjdk
> sudo zypper install java-1_7_0-openjdk-devel 

java, javac が複数インストールされているかも知れないので、確認しておく:

  • うっかり gcj を入れてると、はまるはず - Jenkins は gcj に未対応。Oracle-Java と OpenJDK には対応済み
> /usr/sbin/update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java
Nothing to configure.
> /usr/sbin/update-alternatives --config javac
There is only one alternative in link group javac (providing /usr/bin/javac): /usr/lib64/jvm/java-1.7.0-openjdk/bin/javac
Nothing to configure.

Jenkins 最新版 (1.516-1.2):

Jenkins LTS (1.509.1-1.2)

Jenkins 最新版のリポジトリ登録を抹消した。(代わりに renamerepo してもよいが面倒なので略)

> sudo zypper removerepo jenkins 

リポジトリの登録

> sudo zypper addrepo http://pkg.jenkins-ci.org/opensuse-stable/ jenkins

インストール

> sudo zypper install jenins

アンインストール

> sudo zypper remove jenkins

自動起動 は設定済み。(自動起動のoffも chkconfig コマンドで可能のはず。後で書く)

> chkconfig jenkins
jenkins  on

起動スクリプトは /etc/init.d/jenkins

起動スクリプトの中身を調べてみた。

  • ログファイルは /var/log/jenkins/jenkins.log と /var/log/jenkins/access_log の2つ。
  • 設定ファイルは /etc/sysconfig/jenkins

設定ファイルの設定値の一覧: (コメント行と空行を省いて表示)

> grep -v ^# /etc/sysconfig/jenkins | grep -v ^$
JENKINS_HOME="/var/lib/jenkins"				★設定などは全部ここに
JENKINS_INIT_SHELL="/bin/bash"
JENKINS_JAVA_HOME=""
JENKINS_USER="jenkins"
JENKINS_NICE="0"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"	★headless設定済み
JENKINS_PORT="8080"					★このポートで接続
JENKINS_AJP_PORT="8009"				★ApacheとのAJPでつなぐとき使う。使わないなら無効化したほうが無難
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""

コマンドの一覧を表示

> sudo /etc/init.d/jenkins

起動方法は

> sudo systemctl start jenkins

あるいは

> sudo /etc/init.d/jenkins start

起動したら、Jenkins マスターの画面を確認すること。 Firefoxを起動して「http://127.0.0.1:8080/」にアクセスする。

Jenkins slave (あとで)

  • master <-> slave 間は ssh で通信するのが一番簡単(ただし、両方がLinuxのときだけ。)
  • 最低限、openssh と oracle-jre/openjdk があれば動くはず、たぶん。

(以下はあとで。現在の方針を書いておく)

  • (1) ホームディレクトリを作る。自分は /svr/jenkins-slave か /var/jenkins にすると思う
  • (2) jenkins スレーブ用ユーザーを作る (ユーザの追加手順を調べること: useradd らしい)
  • (3) のユーザーのホームディレクトリを(1)にする。
  • (4) (1)にsshのディレクトリを作る。一番簡単なのは ssh で127.0.0.1に繋ぐこと。
  • (5) 鍵ペアを作って、パスフレーズなしで使える鍵ペアを作って、公開鍵をスレーブ側に転送、秘密鍵をマスター側に転送する。
  • (6) Jenkins に SSH Slaves plugin をインストールする。https://wiki.jenkins-ci.org/display/JENKINS/SSH+Slaves+plugin
  • (7) Jenkins マスター側でスレーブの設定を行う。
    • Jenkins →左側の「ビルド実行状態」→左上の「新規ノード作成」
    • ノード名=適当な名前を書く。
    • 同時ビルド数=1以上
    • リモートFSルート = (1)
    • ラベル=適当に。自分の場合 SUSE で動作確認したいときだけ使うので「SUSE」って記入するかと。
    • 用法=特定のジョブだけで使うなら「このマシーンを特定ジョブ専用にする」にする。(ジョブからこのスレーブを指定するときには「ラベル」で行う)
    • 起動方法=SSH経由でUnixマシンのスレーブエージェントを起動
    • ホスト=IPアドレスかFQDNを書く。
    • 高度な設定を押して、SSHの設定を行うこと。

vncserver + Jenkins XVNC plugin (作業中)

  • vncserver は インストールされてた。確認方法 「rpm -qa | grep -i vnc」。パッケージは tightvnc-1.3.10
  • imagemagick もインストールされてた。確認方法「rpm -qa | grep -i imagemagick」。パッケージは imagemagick-6.7.8.8