ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示
ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示

2014年12月29日月曜日

FreeBSDにgitbucketをインストールする

以下のサイトを参考にしてインストール
http://qiita.com/kkimura/items/f51303d3beba02e3e781


以下のサイトを参考にして初期設定
http://qiita.com/petitviolet/items/479f439bff0c714c32bb


  • 初期状態ではユーザ名「root」、パスワード「root」でログインできる
  • ユーザにアカウント登録を許可する
「SystemSettings」->「Account registration」をAllowに設定する
ユーザにアカウント登録を許可する
「SystemSettings」->「SSH access」の「Enable SSH access to git repository」にチェックをつける


2013年11月3日日曜日

FreeBSDでファイルの文字コードを調べる

「nkf」インストールする。
# pkg_add -r ja-nkf
以下のオプションを指定して実行すると文字コードを確認できる。
% nkf -g <ファイル名>
以下のオプションを指定すると文字コードと改行コードを確認できる。
% nkf --guess <ファイル名> 
参考サイト
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/980nkfguess.html

補足
ファイルの文字コードを上書きでUTF-8(BOMなし)に変更する。
% nkf -w --overwrite <ファイル>

2013年10月27日日曜日

FreeBSDでdoxygenを使ってみる

まずはインストール。
# pkg_add -r doxygen
図を作成するためのツールをインストール。
# pkg_add -r graphviz 
コンフィグファイルを生成する。
% doxygen -g <コンフィグファイル名>
 生成したコンフィグファイルを編集する。
% vi <コンフィグファイル名>
コンフィグファイルで変更した箇所とメモ
PROJECT_NAME           = <プロジェクト名>
OUTPUT_DIRECTORY       = <出力先のディレクトリ>
CREATE_SUBDIRS         = YES
OUTPUT_LANGUAGE        = Japanese
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
プライベートメソッドをドキュメント化する 
INPUT                  = <ソースコードの場所>
RECURSIVE              = YES
サブフォルダのファイルもINPUTにする 
SOURCE_BROWSER         = YES
INLINE_SOURCES         = NO
モジュール一覧と一緒にソースを表示したい場合は「YES」を設定 
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION    = YES
GENERATE_LATEX         = NO
LATEXファイルは生成しない 
MSCGEN_PATH            = /usr/local/bin
シーケンスを使う場合はmscgenの場所を指定 
HAVE_DOT               = YES
図を描画するための設定(graphvizが必要) 
DOT_FONTNAME           = Sazanami Gothic
図で使用するために日本語のフォントを指定 
CALL_GRAPH = YES
CALLER_GRAPH = YES


参考サイト
http://www.doxygen.jp/config.html
http://watcher.moe-nifty.com/memo/2005/08/doxygen__graphv_96cf.html








よく使うscreenのコマンド

C-a c
スクリーンを追加する
C-a w
スクリーンの情報を表示する 
C-a 数字
指定した数字のスクリーンに切り替える
C-a S
ウインドウを横に2分割する
C-a X
分割したウインドウを閉じる
C-a TAB
アクティブなウインドウを切り替える
C-a |
ウインドウを縦に2分割する(バージョン4.1.0から使えるらしい)





2013年10月26日土曜日

FreeBSDでJenkinsを立ち上げる

まずはインストール。
# pkg_add -r jenkins
起動してみる。
# /usr/local/etc/rc.d/jenkins onestart
立ち上げたホストに別PCのブラウザからアクセスしてみる。
http://<ホスト名>:8180/jenkins
残念ながら、表示できず。
ログを確認。
# less /var/log/jenkins.log
Oct 26, 2013 9:49:12 PM hudson.UDPBroadcastThread run
WARNING: UDP handling problem
java.net.SocketException: Invalid argument
        at java.net.PlainDatagramSocketImpl.join(Native Method)
        at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
        at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
        at hudson.UDPBroadcastThread.run(UDPBroadcastThread.java:76)
Oct 26, 2013 9:49:12 PM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
Oct 26, 2013 9:49:12 PM hudson.DNSMultiCast$1 call
WARNING: Failed to advertise the service to DNS multi-cast
java.net.SocketException: Invalid argument
        at java.net.PlainDatagramSocketImpl.join(Native Method)
        at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
        at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
        at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:459)
        at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:420)
        at javax.jmdns.JmDNS.create(JmDNS.java:60)
UDPのソケット周りでエラーが発生している模様。
https://code.google.com/p/epid-project/issues/detail?id=1
を見てみると、IPv6のアドレスを設定しているとこのエラーが出るらしい。
パラメータを指定して再度実行。
# /usr/local/etc/rc.d/jenkins stop
# env jenkins_java_opts=-Djava.net.preferIPv4Stack=true /usr/local/etc/rc.d/jenkins onestart
ログにはさきほどのエラーは出なくなったが、依然として表示はできない。
/usr/local/etc/rc.d/jenkinsを眺めてみると以下の記載を発見。
: ${jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=127.0.0.1 --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"}
ローカルホストのアドレスで待ち受けるようになっている模様。
アドレスの指定を削除してみる。
# env jenkins_java_opts=-Djava.net.preferIPv4Stack=true "jenkins_args=--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins" /usr/local/etc/rc.d/jenkins onestart
今度は無事、表示された。


サーバ起動時にJenkinsがスタートするように「/etc/rc.conf」に以下の設定を追加して完了。
jenkins_enable="YES"
jenkins_java_opts="-Djava.net.preferIPv4Stack=true"
jenkins_args="--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"

svnで「svn: E000022: Can't convert string from 'UTF-8' to native encoding:」というエラーが表示される

Windowsでコミットした日本語名のファイルを、FreeBSDでチェックアウトするときに発生した現象。
localeを確認
% locale -a | grep ja
環境変数を設定
% export LC_CTYPE=ja_JP.UTF-8
はまった点
screen上で上記の環境変数を設定しても正常に動作しない。
なぜなら、screenがUTF-8で動作していないため。
上記の環境変数を設定した状態でscreenを起動すれば期待通りの動作となった。

参考サイト
http://koexuka.blogspot.jp/2010/10/svncant-convert-string-from-utf-8-to.html

2013年10月20日日曜日

FreeBSDでntpを使って時刻を合わせる

「ntpdate」コマンドを使用する。
# ntpdate サーバ名
サーバ名は以下のサイトを参考にして設定。
http://wiki.nothing.sh/page/NTP/%A5%D7%A5%ED%A5%D0%A5%A4%A5%C0%A1%A6%B5%A1%B4%D8%CA%CC#content_1_0
契約しているプロバイダにサーバがあればそこを使用する。

起動時にも実行するように/etc/rc.confに設定を追加。
ntpdate_enable="YES"
ntpdate_hosts="サーバ名"
参考サイト
http://blog.livedoor.jp/webprog/archives/2339244.html

2013年10月19日土曜日

RedmineとSVNの連携に失敗する問題の解決

先日、RedmineとSubversionを連携させるようにした。
しかし、WebサーバPCを起動した直後は、RedmineからSVNのリポジトリが見えない現象が発生した。
手動でapacheを再起動するとリポジトリが見えるようになる。
とても不便なので原因を調査した。

まずはapacheのログを確認。
% less /var/log/httpd-error.log
[App 920 stderr] svn: not found
[App 920 stderr] svn: not found
[App 920 stderr] Error parsing svn output: undefined method `[]' for nil:NilClass
気になるログを発見。
コマンドが認識されていない様子。

ためしに、redmineのsvnコマンドの設定をフルパスに変えてみる。
# vi /usr/local/www/redmine/config/configuration.yml
scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
しかし現象は変わらず。
!
ここで、あることに気づく。
<設定ファイルの内容>
  # Examples:
  scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default: git)
  # scm_cvs_command:        cvs                                       # (default: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
  #
  scm_subversion_command:
  scm_mercurial_command:
  scm_git_command:
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:
最初の設定時にExamplesをコメントアウトして編集したのがそもそもの間違い。
だめだめじゃないですか。。
気を取り直て再編集。
  # scm_subversion_command: svn                                       # (default: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default: git)
  # scm_cvs_command:        cvs                                       # (default: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
  #
  scm_subversion_command:   svn
  scm_mercurial_command:
  scm_git_command:
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:
これで解決。。。かと思いきや現象は変わらず。
ログに同じエラーが出力される。
フルパス指定で再チャレンジ。
  scm_subversion_command:   /usr/local/bin/svn
今度はOK。

設定ファイル修正前に、apacheを再起動するとうまくいっていたのはなぜだろう。
謎は残ったがとりあえずよしとする。

FreeBSDで重複ファイルを整理する

HDDに格納されている、重複ファイルを探して整理する。

zfsではファイルシステムに重複ファイルを効率的に格納する機能があるらしい。
今はufsを使っているので、「fdupes」というツールを使って整理してみる。

まずはパッケージをインストールする。
# pkg_add -r fdupes
重複ファイルをチェックする。
% fdupes -rS DIRECTORY > LISTFILE
結果が標準出力に表示されます。
オプション「S」はサイズの表示。
今回は結果をファイルに出力

後は、出力されたファイルを編集して、削除するファイルのリストを作成する。
そしてファイルを削除する。
% vi LISTFILE
% catLISTFILE | xargs rm

参考サイト
http://divide-et-impera.org/archives/333

2013年10月14日月曜日

FreeBSDでSubversionのサーバを立てる

Subversion 1.8.1をインストールする
オプションの「MOD_DAV_SVN」を追加する
# cd /usr/ports/devel/subversion
# make install clean
起動時にsvnserveを立ち上げる
(/usr/local/etc/rc.d/svnserveのコメントにある記載をコピーする)
# vi /etc/rc.conf
svnserve_enable="YES"
ユーザsvnを作成する
# vipw
グループsvnを作成する
# vi /etc/group
リポジトリのフォルダを作成する
# mkdir -p /home/svn
# svnamin create repos
# chown -R svn:svn repos 
リポジトリフォルダにある設定ファイルを更新する
(ここでは誰でも更新可能に設定する)
# vi /home/svn/repos/conf/svnserve.conf
anon-access = write
サーバを起動する
# /usr/local/etc/rc.d/svnserve start


参考サイト
http://www.leafgreen.jp/freebsd/subversion.html
https://sites.google.com/site/mmatsuoka10/programming/freebsd/svnserver

2013年10月12日土曜日

FreeBSD Tips

  • Boot時のプロンプト待ち時間を短縮する
# vi /boot/loader.conf
以下の一行を追加する
autoboot_delay="2"
なお、デフォルトの設定は以下のファイル
/boot/defaults/loader.conf

2013年10月7日月曜日

FreeBSDでRedmineを使うメモ

まずはパッケージからredmine-2.3.2をインストール
# pkg_add -r redmine
インストール完了
=============================================================================
Redmine was installed.
You now need to setup your Redmine installation so
please have a look at the Installation Guide.
http://www.redmine.org/wiki/redmine/RedmineInstall

If you are upgrading please read the Upgrading Guide
before starting the new version.
http://www.redmine.org/wiki/redmine/RedmineUpgrade
=============================================================================
参考サイトの日本語訳
http://redmine.jp/guide/RedmineInstall/
データベースはPostgreSQL8.4を使用する。
# pkg_add -r postgresql84-server
参考サイト
http://www.kishiro.com/FreeBSD/postgresql8.html
# su pgsql
$ cd /usr/local/pgsql/
$ mkdir data
$ initdb -D ./data --encoding=utf-8 --lc-collate=C
「rc.conf」の設定
postgresql_enable="YES"
postgresql_flags="-w -s -m fast"
postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"
postgresql_class="default" 
参考サイト(ROLEとは)
http://www.postgresql.jp/document/8.1/html/user-manag.html
データベース作成
$ createdb test_db
SQLコマンドプロンプト入力
$ psql test_db
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
ユーザ「redmine」作成
# vipw
「config/database.yml」の編集
# cd /usr/local/www/redmine/config
# cp database.yml.example database.yml
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: <postgres_user_password>
encoding: utf8
# schema_search_path: <database_schema> (default - public)
 セッションストア秘密鍵の生成
# rake generate_secret_token
(in /usr/local/www/redmine)
Could not find gem 'pg (>= 0.11.0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.
エラーになってしまった。
Redmineを実行するために必要なすべてのgemをインストールする。
# bundle install --without development test
無事「pg」がインストールされたので先ほどのコマンドを再実行。
# rake generate_secret_token
今度は成功。
データベース上にテーブルを作成
# cd /usr/local/www/redmine
# env RAILS_ENV=production rake db:migrate
デフォルトデータをデータベースに登録
# env RAILS_ENV=production rake redmine:load_default_data
Select languageでは「ja」を選択
パーミッションの設定
# mkdir public/plugin_assets
# chown -R redmine:pgsql files log tmp public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets
WEBrickによるwebサーバでの起動テスト
# ruby script/rails server webrick -e production

2013年10月6日日曜日

FreeBSDでpkgを使う【未完成】

FreeBSD 9.2-RELEASEからはデフォルトで有効になっているパッケージ管理システム「pkg」を使ってみる。
# pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

その後、自動的で「pkg2ng」が実行されてデータベースの移行もしてくれる模様。
早速zshをインストール。
# pkg install zsh
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
pkg: Package 'zsh' was not found in the repositories
リポジトリにzshがないと言われてしまった。。
参考サイト
http://opensource.slashdot.jp/story/13/10/02/0916200/FreeBSD-9.2-RELEASE-%E7%99%BB%E5%A0%B4
pkgngリポジトリはまだないらしい。
9.x系はPC-BSDのものを流用できるとのこと。
当面はpkgは使わない方向とする。

2013年10月5日土曜日

FreeBSD 9.2-RELEASEセットアップメモ

EPSON ST-125EにFreeBSD 9.2-RELEASEをインストールしたときのメモ
  • リリースアナウンス
http://www.freebsd.org/releases/9.2R/announce.html
  • インストーラのダウンロード
ダウンロードファイル
ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-amd64-memstick.img 
  • メモリスティックにインストーライメージを書き込む
# dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=10240 conv=sync
で作成したインストーラがうまく起動しない。
ブート直後のキー入力がすべて「#」になってしまう。
FreeBSDのマニュアル
http://www.freebsd.org/doc/ja/books/handbook/bsdinstall-pre.html
を参考にして以下のコマンドでイメージを再作成。
# dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=64k
それでもうまくいかない。
使用するメモリスティックを32GBから4GBに変更。

# dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da1 bs=10240 conv=sync
で再度インストーラを作成したところ、今度は成功。
何が原因?
  • インストール中のメモ
  • Partition Schemeの選択
大容量ではない250GBのSSDを使うので「BSD」を選択。
3TB以上ならGPTを選択になるのかな。
参考サイト
http://www.freebsd.org/doc/ja/books/handbook/bsdinstall-partitioning.html
  • SSDを使うので「Add Partition」のOptionで以下をチェックしてTRIMを有効にする。
[*] TRIM  Enable SSD TRIM support 
参考サイト
http://d.hatena.ne.jp/mteramoto/20130104/1357305221
  • 「Add Partition」でType:freebsd-swapのスワップ領域を作成。 
  • ファーナリングファイルシステムを有効にする
  1. シングルユーザモードで起動する。
  2. # tunefs -j enable /dev/ada1s1d
異常終了から復帰した後のファイルチェックが改善されるらしい。
  • 電源ボタンでシャットダウン
# vi /etc/apmd.conf
apm_event SUSPENDREQ {
       exec "sync && sync && sync";
        exec "shutdown -p now";
}
apm_event USERSUSPENDREQ {
        exec "sync && sync && sync";
        exec "shutdown -p now";
}