2013-05 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2013-05-29 Wed

[別の年の同じ日: 2003 2006 2007 2008 2009 2010 2011 2014

pkgbuild での version 指定 はてぶ

自分でビルドしたパッケージ(以下 pkg-A)が新しすぎたので、
古いバージョンに下げたところ、それに依存するパッケージ(以下 pkg-B)によって
version が古いことを理由に reject されインストールできなかった。

http://pkgbuild.sourceforge.net/spec-files.txt の Requires の項目を見ると

When creating IPS packages, by default, pkgbuild automatically
adds a minimum version specification to all dependencies. The
minimum version used is the version of the package currently
installed on the system.

ということで、ビルドしているホスト上にインストールされているバージョンが
minimum version として指定されるらしい。

'>=' で minimun バージョンを指定するか、
'= *' で "any version" と指定をしたほうがよさげ
と思い、指定して rebuild したが、
やっぱり reject される。

ビルド環境にインストールしている pkg-B のバージョンに依存しているようなので、
ビルド環境から pkg-B をアンインストールする。

で、rebuild するが、これでも reject。

pkg-A をビルドした時の pkgbuild のログを眺めると、
pkg-B がローカルにインストールされていない場合、
publisher に見にいっているっぽい。

ということで、pkg-B を pkgrepo remove で publisher から消して
pkg-A を rebuild。

これでインストールできた。

また、Requires なパッケージが
- ローカルにインストールされていない
- publisher にない
場合、生成したパッケージに該当する Requires は適用されないので注意。

必要なパッケージ pkg-A を作って、それから依存するパッケージ pkg-B を作る場合は、
パッケージ pkg-B を作った後にパッケージ pkg-A を rebuild すること。

2013-05-26 Sun

[別の年の同じ日: 2003 2006 2007 2008 2009 2010 2011

いろいろと回収 はてぶ

No Target の青葉で
- Diet Butcher Slim Skin のボーダー T シャツ
- Diet Butcher Slim Skin のタンクトップ
- IRIE と THRASHER のダブルネームのポケット付き T シャツ
- Cheap Monday のポケット付き V ネック T シャツ

nomad で
- ALDIES×NO TARGET別注Tシャツ(黒)(強制購入)
  http://notarget.exblog.jp/19371321/ のやつ

これで今年は T シャツは十分なはず。
あとは半袖シャツか。

jq はてぶ

http://stedolan.github.io/jq/

jq is a lightweight and flexible command-line JSON processor.

jq is like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.

という、JSON を cli で操作するもの。

最近、JSON を触ることがないけど、めも。

使い方はここが詳しい

- jqコマンドが実は高性能すぎてビビッた話 - beatsync.net
  http://beatsync.net/main/log20130428.html

via: jq - lightweight and flexible command-line JSON processor - memo.xight.org
     http://memo.xight.org/2013-04-30-1

ack はてぶ

めも

http://beyondgrep.com/

grep のようなツールで、
- 速い
- .git、.svn のような VCS のディレクトリを無視
- バックアップファイル(fuga~ とか)を無視
とか気のきく感じのものらしい。

via: better than grepなackを試してみた / マスタカの ChangeLog メモ
     http://masutaka.net/chalow/2013-03-24-2.html

facet を変更して古いバージョンのパッケージをインストールする はてぶ

Solaris 11 で古いバージョンのパッケージをインストールしようとした時などに
以下のように怒られる。

$ sudo pkg update -vn pkg://build2/web/php-53/extension/php-memcache@2.2.7,5.11-0.0.175.1.0.0.24.3:20130114T113315Z
Creating Plan (Solver setup): \
pkg update: No matching version of web/php-53/extension/php-memcache can be installed:
  Reject:  pkg://build2/web/php-53/extension/php-memcache@2.2.7,5.11-0.0.175.1.0.0.24.3:20130114T113315Z
  Reason:  This version is excluded by installed incorporation pkg://solaris/consolidation/userland/userland-incorporation@0.5.11,5.11-0.175.1.3.0.4.0:20130102T192845Z

user-land-incorporation によってバージョンがロックされているので、
以下のようにロックを外してからインストールすればよい。

まず、facet の確認

$ pkg facet facet.version-lock.web/php-53/extension/php-memcache
FACETS                                               VALUE
facet.version-lock.web/php-53/extension/php-memcache True

version-lock が true になっているので、これを false にしてロックを外す。

$ sudo pkg change-facet facet.version-lock.web/php-53/extension/php-memcache=false
            Packages to update: 1257
     Variants/Facets to change:    1
       Create boot environment:   No
Create backup boot environment:  Yes

PHASE                                          ITEMS
Removing old actions                             1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Building new search index                  1257/1257

これで version-lock が外れたので、バージョンを指定してパッケージを入れ替え。

$ sudo pkg update -v pkg://work-spec/web/php-53/extension/php-memcache@2.2.7,5.11-0.11.1:20130123T010822Z
            Packages to update:         1
     Estimated space available: 850.69 GB
Estimated space to be consumed:  40.98 MB
       Create boot environment:        No
Create backup boot environment:       Yes
          Rebuild boot archive:        No

Changed packages:
solaris -> work-spec
  web/php-53/extension/php-memcache
    3.0.6,5.11-0.175.1.0.0.24.0:20120904T174925Z -> 2.2.7,5.11-0.11.1:20130123T010822Z
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1           2/2      0.0/0.0  4.7M/s

PHASE                                          ITEMS
Removing old actions                           16/16
Installing new actions                         11/11
Updating modified actions                        4/4
Updating package state database                 Done
Updating package cache                           1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Updating search index                            1/1

古いバージョンを入れるだけでなく、
自分でビルドした新しいバージョンのパッケージのインストールも
同じ方法でいけるはずです。

2013-05-23 Thu

[別の年の同じ日: 2003 2006 2007 2008 2009 2010 2011

Pidora - Raspberry Pi Fedora Remix はてぶ

Raspberry Pi に最適化された Fedora Remix の Pidora がでた。

Pidora - Raspberry Pi Fedora Remix
http://pidora.ca/

週末にでもインストールしてみる。

via: [Phoronix] Fedora 18 Comes To ARMv6, Raspberry Pi
     http://www.phoronix.com/scan.php?page=news_item&px=MTM3NzQ

2013-05-17 Fri

[別の年の同じ日: 2003 2004 2005 2006 2007 2008 2009 2010 2011

tmux 1.8 の Solaris 上でのビルド はてぶ

tmux 1.8 がでていたので、
jposug のパッケージを 1.7 からアップデートしようとしたところ、
以下のようなエラー。

pkgbuild: DEPDIR=.deps depmode=none /bin/bash ./etc/depcomp \
pkgbuild: /opt/solarisstudio12.3/bin/cc -DPACKAGE_NAME=\"tmux\" -DPACKAGE_TARNAME=\"tmux\" -DPACKAGE_VERSION=\"1.8\" -DPACKAGE_STRING=\"tmux\ 1.8\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"tmux\" -DVERSION=\"1.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_CURSES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_PATHS_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYS_TREE_H=1 -DHAVE_B64_NTOP=1 -DHAVE_LIBXNET=1 -DHAVE_CLOSEFROM=1 -DHAVE_DAEMON=1 -DHAVE_SETENV=1 -DHAVE_STRLCPY=1 -DHAVE_STRLCAT=1 -DHAVE_ASPRINTF=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 -DHAVE_DECL_OPTARG=0 -DHAVE_DECL_OPTIND=0 -DHAVE_DECL_OPTRESET=0 -DHAVE_BZERO=1 -DHAVE_DIRFD=1 -DHAVE_SYSCONF=1 -DHAVE___PROGNAME=1 -DHAVE_PROC_PID=1 -I.   -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED    -D_XPG4_2 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS  -i -xO4 -xspace -xstrconst -xarch=pentium_pro -mr -xregs=no%frameptr  -I/usr/gnu/include      -erroff=E_EMPTY_DECLARATION -c server-fn.c
pkgbuild: "server-client.c", line 544: undefined symbol: errno
pkgbuild: "server-client.c", line 544: undefined symbol: EINVAL
pkgbuild: cc: acomp failed for server-client.c
pkgbuild: make: *** [server-client.o] Error 2
pkgbuild: make: *** Waiting for unfinished jobs....
pkgbuild: Bad exit status from /var/tmp/pkgbuild-tonaka/pkgbuild-tmp-2.11467 (%build)

で、ググると以下が見つかった

- tmux 1.8 fails to compile on Solaris due to missing header file
  http://comments.gmane.org/gmane.comp.terminal-emulators.tmux.user/4387

Fix:
Include the header file errno.h in the source file server-client.c

ということなので、server-client.c に errno.h を追加する patch を作ってビルド。

--- tmux-1.8.orig/server-client.c     2013-05-17 13:55:53.977004498 +0900
+++ tmux-1.8/server-client.c    2013-05-17 13:56:10.128686261 +0900
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
+#include <errno.h>

 #include "tmux.h"

関連
- Solaris 上で tmux 1.7 をビルドする [2013-03-09-1]

2013-05-14 Tue

[別の年の同じ日: 2006 2007 2008 2009 2010 2011

NGROUPS_MAX はてぶ

usermod: WARNING: more than NGROUPS_MAX(16) groups specified.

これはあるユーザが所属するグループが多すぎるというエラー。

http://l-w-i.net/t/solaris/account_003.txt

によると Solaris では /etc/system に

set ngroups_max = 32
のように設定すれば所属するグループを増やせるらしい。

Solaris 11 では ngroups_max の上限は 1024。
http://docs.oracle.com/cd/E26924_01/html/E25892/chapter2-4.html#gjmtw

ある特定のユーザーに 17 以上のグループが割り当てられている場合は、NFS 環境で AUTH_SYS 資格に関する問題が発生する可能性があることに留意してください。

ということなので注意が必要。

各 OS の上限はここにまとまっている
http://www.j3e.de/ngroups.html

2013-05-11 Sat

[別の年の同じ日: 2003 2006 2007 2008 2009 2010 2012

Twitter Bootstrap を使ってみる はてぶ

ということで、そろそろ変えたいと思っていたここで
Twitter Bootstrap を使うようにしてみた。

読んだのはこのあたり。

- Twitter Bootstrap Tutorial - Twitter Bootstrap in 20 Minutes
  http://www.revillwebdesign.com/twitter-bootstrap-tutorial/
- Twitter Bootstrapの使い方
  http://greenapple-room.com/conc/user/TwitterBootstrap/bootstrap.html

とりあえず、Twitter Bootstrap に合わせて div を変えたくらいだけど、
これくらいシンプルでいいんじゃないかという気がする(これ以上いじるのも面倒臭い)。

2013-05-08 Wed

[別の年の同じ日: 2006 2007 2008 2009 2010 2011 2015

logstalgia はてぶ

めも。

logstalgia - website access log visualization - Google Project Hosting
https://code.google.com/p/logstalgia/

web server のログを以下のように視覚化してくれるもの。


対応するログフォーマットは

NCSA Common Log Format (CLF)
    "%h %l %u %t \"%r\" %>s %b"

NCSA Common Log Format with Virtual Host
    "%v %h %l %u %t \"%r\" %>s %b"

NCSA extended/combined log format
    "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

NCSA extended/combined log format with Virtual Host
    "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

via: DDoS攻撃を視覚化したら思った以上に劇的(動画) : ギズモード・ジャパン
     http://www.gizmodo.jp/2013/05/ddos.html

2013-05-05 Sun

[別の年の同じ日: 2003 2006 2007 2008 2009 2010

serverspec の対象 OS に関する覚え書き はてぶ

serverspec の対象 OS に関する覚え書きを以下に書いておきました。

https://gist.github.com/ftnk/5518075

- テスト対象の OS が auto detect できない
- テスト対象の OS に対応していない

という人の役に立つといいんですが。

2013-05-04 Sat

[別の年の同じ日: 2006 2007 2008 2009 2010

髪切った はてぶ

襟足をすっきりさせたていど。

色は前回と同じ。

染めている間に入門 Puppet([2013-05-03-1])をざっと読んだ(2周目)。

2013-05-03 Fri

[別の年の同じ日: 2003 2006 2007 2008 2009 2010

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 はてぶ

http://tatsu-zine.com/books/naruhounix

とりあえず、購入。

入門 Puppet 購入 はてぶ

- 『入門Puppet - Automate Your Infrastructure』という電子書籍を出版しました - delirious thoughts
  http://blog.kentarok.org/entry/2013/04/30/225404

とりあえず、確保。

「ブクログのパブー」で買っていただく方が料率が断然いいので、個人的にはうれしいです。

『入門Puppet - Automate Your Infrastructure』という電子書籍を出版しました - delirious thoughts


ということなので、ブクログで購入。

- 入門Puppet - Automate Your Infrastructure - 栗林健太郎 | ブクログのパブー
  http://p.booklog.jp/book/70667

すぐにざっと目をとおしたけど、
目次を見て思った通り、13 章以降をちゃんと読めばよさそう。

exec をけっこう使ってしまっている自分には耳が痛い部分もあったり。

Solaris で Puppet + serverspec + Ukigumo server + Ikachan な環境が作れたし、
そのあたりはこれから修正していく方向で。

入門Puppet - Automate Your Infrastructure [Kindle版]

Referrer (Inside):
[2013-05-04-1] 髪切った

2013-05-01 Wed

[別の年の同じ日: 2003 2004 2006 2007 2008 2009 2010 2011

serverspec への matcher の追加方法に関する覚書 はてぶ

https://gist.github.com/ftnk/5492542

に晒しておいた。