2014年3月30日日曜日
2014年3月28日金曜日
Jekyll で Table Of Contents を表示する方法
■環境
■nokogiri のインストール
■jekyll-toc-generator のインストール
■layout.htmlの修正
■動作確認
■nokogiri のインストール
gem install nokogiri --no-rdoc --no-ri
■jekyll-toc-generator のインストール
cd /var/tmp
git clone https://github.com/dafi/jekyll-toc-generator.git
cd jekyll-toc-generator/
cp -ipr _plugins /jekyll/to/path
「/jekyll/to/path」はjekyll buildしているmarkdownファイル等があるディレクトリを指定します
cp -ipr _plugins /jekyll/to/path
cp -ipr css/toc.css /jekyll/to/path/_layouts
「_layouts」フォルダがまだ作成されていない場合はこちらを元に初期設定を済ませてください
git clone https://github.com/dafi/jekyll-toc-generator.git
cd jekyll-toc-generator/
cp -ipr _plugins /jekyll/to/path
「/jekyll/to/path」はjekyll buildしているmarkdownファイル等があるディレクトリを指定します
cp -ipr _plugins /jekyll/to/path
cp -ipr css/toc.css /jekyll/to/path/_layouts
「_layouts」フォルダがまだ作成されていない場合はこちらを元に初期設定を済ませてください
■layout.htmlの修正
1. headタグ内にcssの宣言を追加
2. tocを表示するための宣言を追加
<link href="toc.css" media="screen" rel="stylesheet" type="text/css"></link>
bodyタグ内に存在する{{ content }}を以下に置き換えてください
{{ content | toc_generate }}
■動作確認
cd /jekyll/to/path
jekyll build
jekyll server --watch
http://localhost:4000/
markdownのファイル名がindex.mdではない場合はmarkdownファイル名.htmlを後ろに付けてアクセスしてください
jekyll build
jekyll server --watch
http://localhost:4000/
markdownのファイル名がindex.mdではない場合はmarkdownファイル名.htmlを後ろに付けてアクセスしてください
2014年3月26日水曜日
Emacsにmarkdown-modeをインストール
■環境
■インストール
■参考サイト
CentOS 5.10 64bit
Emacs 23.4.1
Emacs 23.4.1
■インストール
cd /var/tmp
git clone git://jblevins.org/git/markdown-mode.git
cd markdown-mode
cp markdown-mode.el ~/.emacs.d/site-lisp/
emacs ~/.emacs
以下を追記
※cookbooksにも適用しました
https://github.com/kakakikikeke/cookbooks-emacs
git clone git://jblevins.org/git/markdown-mode.git
cd markdown-mode
cp markdown-mode.el ~/.emacs.d/site-lisp/
emacs ~/.emacs
以下を追記
(load-file "~/.emacs.d/site-lisp/markdown-mode.el") (autoload 'markdown-mode "markdown-mode" "Major mode for editing Markdown files" t) (add-to-list 'auto-mode-alist '("\\.text\\'" . markdown-mode)) (add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
※cookbooksにも適用しました
https://github.com/kakakikikeke/cookbooks-emacs
■参考サイト
2014年3月25日火曜日
CentOSにPostgres9.3.1をインストールする方法
■環境
■事前確認
■インストール手順
■動作確認
■参考サイト
■Tips
CentOS 5.10 64bit
PostgreSQL 9.3.1
PostgreSQL 9.3.1
■事前確認
rpm -qa | grep postgres
他のPostgreSQLサーバがインストールされていないことを確認する
「postgresql-server.x86_64」というパッケージがなければサーバはインストールされていません
ちなみに自分の環境では以下がインストールされていました
他のPostgreSQLサーバがインストールされていないことを確認する
「postgresql-server.x86_64」というパッケージがなければサーバはインストールされていません
ちなみに自分の環境では以下がインストールされていました
- postgresql-libs-8.1.23-6.el5_8
- postgresql-libs-8.1.23-6.el5_8
- postgresql-8.1.23-6.el5_8
■インストール手順
cd /var/tmp
wget http://yum.postgresql.org/9.3/redhat/rhel-5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
yum clean all
yum repolist | grep pgdg93
PostgreSQLのリポジトリが追加されていることを確認します
yum -y install postgresql93.x86_64 postgresql93-server.x86_64
yum installします
wget http://yum.postgresql.org/9.3/redhat/rhel-5-x86_64/pgdg-centos93-9.3-1.noarch.rpm
rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
yum clean all
yum repolist | grep pgdg93
PostgreSQLのリポジトリが追加されていることを確認します
yum -y install postgresql93.x86_64 postgresql93-server.x86_64
yum installします
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.kddilabs.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Excluding Packages in global exclude list Finished Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package postgresql93.x86_64 0:9.3.4-1PGDG.rhel5 set to be updated --> Processing Dependency: postgresql93-libs = 9.3.4-1PGDG.rhel5 for package: postgresql93 --> Processing Dependency: libpq.so.5()(64bit) for package: postgresql93 ---> Package postgresql93-server.x86_64 0:9.3.4-1PGDG.rhel5 set to be updated --> Running transaction check ---> Package postgresql93-libs.x86_64 0:9.3.4-1PGDG.rhel5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================== Package Arch Version Repository Size ==================================================================================================================== Installing: postgresql93 x86_64 9.3.4-1PGDG.rhel5 pgdg93 1.7 M postgresql93-server x86_64 9.3.4-1PGDG.rhel5 pgdg93 5.6 M Installing for dependencies: postgresql93-libs x86_64 9.3.4-1PGDG.rhel5 pgdg93 220 k Transaction Summary ==================================================================================================================== Install 3 Package(s) Upgrade 0 Package(s) Total download size: 7.5 M Downloading Packages: (1/3): postgresql93-libs-9.3.4-1PGDG.rhel5.x86_64.rpm | 220 kB 00:00 (2/3): postgresql93-9.3.4-1PGDG.rhel5.x86_64.rpm | 1.7 MB 00:00 (3/3): postgresql93-server-9.3.4-1PGDG.rhel5.x86_64.rpm | 5.6 MB 00:00 -------------------------------------------------------------------------------------------------------------------- Total 2.6 MB/s | 7.5 MB 00:02 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : postgresql93-libs 1/3 Installing : postgresql93 2/3 Installing : postgresql93-server 3/3 Installed: postgresql93.x86_64 0:9.3.4-1PGDG.rhel5 postgresql93-server.x86_64 0:9.3.4-1PGDG.rhel5 Dependency Installed: postgresql93-libs.x86_64 0:9.3.4-1PGDG.rhel5 Complete!
■動作確認
service postgresql-9.3 initdb
service postgresql-9.3 start
su - postgres
-bash-3.2$ psql -l
-bash-3.2$ createdb test
-bash-3.2$ psql -U postgres test
データベースを初期化中: [ OK ]
service postgresql-9.3 start
postgresql-9.3 サービスを開始中: [ OK ]
su - postgres
-bash-3.2$ psql -l
List of databases Name | Owner | Encoding -----------+----------+---------- postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 (3 rows)
-bash-3.2$ createdb test
CREATE DATABASE
-bash-3.2$ psql -U postgres test
Welcome to psql 8.1.23 (server 9.3.4), the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit WARNING: You are connected to a server with major version 9.3, but your psql client is major version 8.1. Some backslash commands, such as \d, might not work properly.クライアントが8.1のままだったのでDB接続時に警告が表示されました
■参考サイト
■Tips
設定ファイルの場所
「-h localhost」を指定した場合はパスワードなしでpsqlを実行できるようにする
「-h localhost」を指定した場合にパスワード認証でpsqlを実行できるようにする
LISTENポートを変更する方法
/var/lib/pgsql/9.3/data/postgresql.conf
/var/lib/pgsql/9.3/data/pg_hba.conf
/var/lib/pgsql/9.3/data/pg_hba.conf
「-h localhost」を指定した場合はパスワードなしでpsqlを実行できるようにする
vim /var/lib/pgsql/9.3/data/pg_hba.conf
host all all 127.0.0.1/32 trust
「-h localhost」を指定した場合にパスワード認証でpsqlを実行できるようにする
psql
postgres=# ALTER USER postgres with password 'yoshinaka';
vim /var/lib/pgsql/9.3/data/pg_hba.conf
postgres=# ALTER USER postgres with password 'yoshinaka';
vim /var/lib/pgsql/9.3/data/pg_hba.conf
host all all 127.0.0.1/32 md5
LISTENポートを変更する方法
通常は /var/lib/pgsql/9.3/data/postgresql.conf の「#port = 5432」の部分を書き換えてrestartすればOKなのですが
今回インストールしたyumインストールの場合は起動スクリプト内でポートの指定を行っているようなので起動スクリプトを修正してやる必要がありました
vim /etc/init.d/postgresql-9.3
PGPORT=5432
↓
PGPORT=5431
service postgresql-9.3 restart
今回インストールしたyumインストールの場合は起動スクリプト内でポートの指定を行っているようなので起動スクリプトを修正してやる必要がありました
vim /etc/init.d/postgresql-9.3
PGPORT=5432
↓
PGPORT=5431
service postgresql-9.3 restart
2014年3月24日月曜日
【Windows Server 2008R2】winsxsのデータを削除する方法
以下を実行するとServicePackがアンインストールできなくなるので事後責任にて実行してください
Windows Server 2008R2でWindowsUpdateを何回か実施し
ServicePack2あたりまで適用されると「C:\Windows\winsxs」が20GBを超えてブートパーティションを食いつぶします
Microsoftの公式でも案内してました
http://support.microsoft.com/kb/973016/ja
基本的にwinsxs領域は削除しちゃいけないらしいんですが、付属のツールを使うことで不要ファイルだけを削除することができるようです
1. コマンドプロンプトを立ち上げます
2. 以下のコマンドを実行します
約2GBほど空き領域が増えました
ただ大幅に増えるわけではないのでブートパーティションの領域を拡張するのが一番いいかもしれないです
Windows Server 2008R2でWindowsUpdateを何回か実施し
ServicePack2あたりまで適用されると「C:\Windows\winsxs」が20GBを超えてブートパーティションを食いつぶします
Microsoftの公式でも案内してました
http://support.microsoft.com/kb/973016/ja
基本的にwinsxs領域は削除しちゃいけないらしいんですが、付属のツールを使うことで不要ファイルだけを削除することができるようです
1. コマンドプロンプトを立ち上げます
2. 以下のコマンドを実行します
C:\Windows\System32\DISM.exe /online /Cleanup-Image /spsuperseded3. 10分くらい待っていれば終了です、以下デバッグログのスクリーンショットのサンプルです
約2GBほど空き領域が増えました
ただ大幅に増えるわけではないのでブートパーティションの領域を拡張するのが一番いいかもしれないです
2014年3月20日木曜日
のどかでキーボードレイアウトをショートカットキーで切り替える方法
Shift + F2
いつも忘れるのでメモ
タスクバーから
のどかを右クリック -> 設定
として切り替えるのが非常に面倒なときにどうぞ
のどかは付属のドキュメントが非常に充実しているので何かあればそれを見るといいかもしれません
のどかを右クリック -> ヘルプ
で開くことができます
いつも忘れるのでメモ
タスクバーから
のどかを右クリック -> 設定
として切り替えるのが非常に面倒なときにどうぞ
のどかは付属のドキュメントが非常に充実しているので何かあればそれを見るといいかもしれません
のどかを右クリック -> ヘルプ
で開くことができます
2014年3月19日水曜日
Mavenプロジェクトにコンバートしたがプロジェクトエクスプローラで src/main/java配下にパッケージが作成されずにsrc配下にパッケージが作成されてしまう場合の対処方法
タイトルが長くてすいません
原因はプロジェクトのフォルダ直下にある.classpathの記述がおかしいからです
.classpathファイルを以下に変更してeclipseを再起動してください
Mavenプロジェクト用と通常のJava用のプロジェクトでは.classpathのファイルのフォーマットが異なるので書き換えてあげる必要があります
通常のJavaプロジェクトからMavenプロジェクトにコンバートする際には気をつけてください
また上記のファイル内容の場合はsrc/main/resourcesも必要になりますのでない場合は作成するか.classpathファイルから定義を削除してください
原因はプロジェクトのフォルダ直下にある.classpathの記述がおかしいからです
.classpathファイルを以下に変更してeclipseを再起動してください
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" output="target/classes" path="src/main/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="src" path="src/main/resources"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> </classpath>
Mavenプロジェクト用と通常のJava用のプロジェクトでは.classpathのファイルのフォーマットが異なるので書き換えてあげる必要があります
通常のJavaプロジェクトからMavenプロジェクトにコンバートする際には気をつけてください
また上記のファイル内容の場合はsrc/main/resourcesも必要になりますのでない場合は作成するか.classpathファイルから定義を削除してください
2014年3月15日土曜日
tmux起動時にsshで自動でログインしログイン後にコマンドを実行する方法 その2
前回、おんなじようなタイトルで起動時にsshできる方法をご紹介しました
今回はその第二弾となります
■スクリプト
■説明
今回はその第二弾となります
■スクリプト
#!/bin/sh name="session_name" password="Enter your password" ip_list=(ip1 ip2 host1 host2) tmux new-session -s ${name} -d for i in ${ip_list[@]} do tmux new-window -t ${name} -n ${i} tmux send-keys -t ${i}.0 "ssh ${i}" C-m sleep 5 tmux send-keys -t ${i}.0 "${password}" C-m echo "ssh ${i}" done
■説明
- 今回は1つ以上、tmuxセッションがない状態でも実行できるスクリプトです
- name に作成するセッション名を設定します
- password にsshをするホストのパスワードを設定します
- ケースとして同一パスワードを設定している複数ホストを想定しているのでパスワードが異なる複数のサーバの場合は修正が必要になります
- forループを使用して ip_list で指定したIPアドレスまたはホストに対してパスワードのsshログインを順番に実行していきます
- sshログインをするホストごとに新しいタブを作成します
- 異なるパスワードの複数ホストに対応する方法としては ip_list の他に password_list という配列を作成してforループの中でpassword_listの中からも順次値を取得する感じにするのがいいと思います
2014年3月14日金曜日
This post is test article to blogger from stackEdit
テスト投稿
この記事はStackEditから投稿しているテスト記事です
背景
Bloggerの記事をHTMLで記載するのがめんどうになってのでmarkdownで投稿できる方法がないか調べたところStackEditというサービスから投稿できるようなので試してみた
所感
- markdownで記載できるのは素晴らしいが投稿した記事を編集するときには結局HTMLを編集しなければならないので編集もmarkdownでできるといいと思った
- postIDを指定して投稿するとstackEditからちゃんと記事の更新も行える
- ただ更新するときにmarkdownを毎回stackEditで開かなければいけないのと毎回PublishOnで投稿しないといけないのが手間(気軽に更新できない)
- 気軽に更新する場合は直接bloggerの記事一覧から編集してもいいかもしれない
- markdownとblogger側のHTMLのデータの整合性を保つのが難しそう
- 更新の手間を考慮すると初回投稿時はstackEditを使って更新は直接bloggerからでもいいかもしれない
- そもそもbloggerがmarkdownをサポートするのが一番いい
- 自分の場合はblogger側のスタイルシートが糞なのでmarkdownで書いた記事は文字が小さくかつ色合いもないので非常に残念な感じになってしまった
- 投稿やGoogle Driveのインポートに時間のかかるときがあり投稿がすぐに行えないことがあった
- 画像の挿入はできないとばかり思っていたがどうやらできるようで、stackEditの編集画面の直接画像をドラック&ドロップすればGoogle+と連携して画像をアップロードして挿入できる
- stackEditからアップロードした画像はGoogle+のフォトに「Drop box」というアルバム名が作成されその配下で管理される
- 画像のアップロードのGoogle+との連携はできているが投稿時のタイムラインに表示する連携ができていないようで、stackEditから投稿するとGoogle+上に表示されないのが残念
投稿手順メモ
- 右上のファイルマークからNew Documentで新しいドキュメントを作成する
- タイトルを記入する
- 左ペインでマークダウン記法を使って記事を作成
- 作成できたら左上の「#」から Publish On -> Blogger を選択
- BlogURL を入力する
- 記事の更新を行いたかったら記事のIDを入力する(記事のIDはpostIDと呼ばれ、bloggerの管理画面から記事の一覧でタイトルの上にカーソルを持って行くとリンク先のURLにpostIDが含まれている)
- 更新するとタイトルを表示している部分にbloggerのアイコンがバシバシ追加されていく
- 更新された分でだけアイコンが増えるので更新回数を確認することができる
- OKを押すとGoogleアカウントへのアプリアクセス許可が出るのでOKを押下
- 右上のタイトル部分にbloggerのアイコンが出てくれば投稿完了
- 作成し終わった記事は保存する
- 保存する場合はローカルにmarkdown形式やhtml形式で保存できる
- 左上の「#」から Save as … とたどれば保存可能
- またGoogle Driveとも連携しているので作成したmarkdownをGoogle Drive上に保存しておけば再度stackEditへのインポートするのもGoogle Driveから行うことができる
- Google Driveへのインポート方法は同じく左上の「#」から SYNCHRONIZE -> GoogleDriveとすれば記事投稿と同じようにアプリ認証画面がでてきて許可すればGoogle Drive上に保存される
Written with StackEdit.
root権限がない場合にtmuxをインストールする方法
手順としては、まずtmuxのインストールに必要なパッケージをすべて自分のホームディレクトリ配下にソースインストールします
その上でtmuxをコンパイルするときにそれらを指定することでtmuxをインストールします
■環境
■手順
■参考サイト
その上でtmuxをコンパイルするときにそれらを指定することでtmuxをインストールします
■環境
CentOS release 5.8 64bit
tmux 1.8
tmux 1.8
■手順
1. 事前準備
2. libevent over 1.4.14 インストール
3. ncursesインストール
4. tmuxインストール
5. 起動確認
mkdir -p ~/bin/libevent
mkdir -p ~/bin/ncurses
mkdir -p ~/bin/tmux
mkdir -p ~/bin/ncurses
mkdir -p ~/bin/tmux
2. libevent over 1.4.14 インストール
cd /var/tmp
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
tar zvxf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/home/kakakikikeke/bin/libevent
make
make install
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
tar zvxf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/home/kakakikikeke/bin/libevent
make
make install
3. ncursesインストール
cd /var/tmp
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.5.tar.gz
tar xvzf ncurses-5.5.tar.gz
cd ncurses-5.5
./configure --prefix=/home/kakakikikeke/bin/ncurses
make
make install
cd ~/bin/ncurses/include/ncurses && cp * ../
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.5.tar.gz
tar xvzf ncurses-5.5.tar.gz
cd ncurses-5.5
./configure --prefix=/home/kakakikikeke/bin/ncurses
make
make install
cd ~/bin/ncurses/include/ncurses && cp * ../
4. tmuxインストール
cd /var/tmp
wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.8/tmux-1.8.tar.gz?r=http%3A%2F%2Ftmux.sourceforge.net%2F&ts=1379053410&use_mirror=jaist
tar xvzf tmux-1.8.tar.gz
cd tmux-1.8
./configure --prefix=/home/kakakikikeke/bin/tmux LDFLAGS="-L/home/kakakikikeke/bin/libevent/lib -L/home/kakakikikeke/bin/ncurses/lib/" CPPFLAGS="-I/home/kakakikikeke/bin/libevent/include -I/home/kakakikikeke/bin/ncurses/include"
make
make install
wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.8/tmux-1.8.tar.gz?r=http%3A%2F%2Ftmux.sourceforge.net%2F&ts=1379053410&use_mirror=jaist
tar xvzf tmux-1.8.tar.gz
cd tmux-1.8
./configure --prefix=/home/kakakikikeke/bin/tmux LDFLAGS="-L/home/kakakikikeke/bin/libevent/lib -L/home/kakakikikeke/bin/ncurses/lib/" CPPFLAGS="-I/home/kakakikikeke/bin/libevent/include -I/home/kakakikikeke/bin/ncurses/include"
make
make install
5. 起動確認
/home/kakakikikeke/bin/tmux/bin/tmux
で起動することを確認する
上記をPATHに追加したりPATHへの追加が無理ならばalias等に設定しておけばOK
で起動することを確認する
上記をPATHに追加したりPATHへの追加が無理ならばalias等に設定しておけばOK
■参考サイト
2014年3月12日水曜日
【Ubuntu】checkinstallを使って独自のdebファイルを作成してみた(ruby1.9.3編)
今回、1.9.3のdebファイル作成方法を紹介しますが
同じ方法で2.0.0もビルドできましたので、2系のdebファイルが必要な方もこれから紹介する方法で大丈夫です
■環境
■checkinstall のインストール
■ruby1.9.3ソースのファイルのダウンロード
■debパッケージの作成
■Tips
同じ方法で2.0.0もビルドできましたので、2系のdebファイルが必要な方もこれから紹介する方法で大丈夫です
■環境
Ubuntu 12.04
checkinstall 1.6.2
debuild 2.11
checkinstall 1.6.2
debuild 2.11
■checkinstall のインストール
・aptitudeの場合
・apt-getの場合
aptitude update
aptitude install devscripts
aptitude install checkinstall
※aptitudeなら「aptitude」で起動して対話式でインストールすることも可能です
aptitude install devscripts
aptitude install checkinstall
※aptitudeなら「aptitude」で起動して対話式でインストールすることも可能です
・apt-getの場合
apt-get update
apt-get install devscripts
apt-get install checkinstall
apt-get install devscripts
apt-get install checkinstall
■ruby1.9.3ソースのファイルのダウンロード
wget http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz
tar zvxf ruby-1.9.3-p545.tar.gz
tar zvxf ruby-1.9.3-p545.tar.gz
■debパッケージの作成
cd ruby-1.9.3-p484
./configure
checkinstall
※checkinstall実行時にパッケージ情報(パッケージ名やバージョン、説明等)を編集できますので必要に合わせて修正してください
編集を完了する場合はそのままEnterを押せば大丈夫です
./configure
checkinstall
※checkinstall実行時にパッケージ情報(パッケージ名やバージョン、説明等)を編集できますので必要に合わせて修正してください
***************************************** **** Debian package creation selected *** ***************************************** This package will be built according to these values: 0 - Maintainer: [ root@ubuntu ] 1 - Summary: [ test ] 2 - Name: [ ruby-1.9.3 ] 3 - Version: [ p484 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ ruby-1.9.3-p484 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ ruby-1.9.3 ] 12 - Conflicts: [ ] 13 - Replaces: [ ] Enter a number to change any of them or press ENTER to continue:変更が必要な番号を入力してその後で変更したい情報を入力すればOKです
編集を完了する場合はそのままEnterを押せば大丈夫です
■Tips
checkinstallで作成する他にrpmbuildと同じように「debuild」というコマンドがあります
debuildでdebファイルを作成する場合はソースの取得方法から若干ことなります
checkinstallと違い対話的にパッケージの情報を変更することはできずや設定を変更する場合は
ruby-defaults-4.8/debian/rules
というファイルを変更する必要があります
rpmbuildで言うところのspecファイルに相当するものかと思います
デフォルトのrulesファイルはかなり複雑でdebuildで作成するとdebファイルも複数できてしまうので簡単に作成したくかつmakeでビルドできるのであればcheckinstallを使ったほうがいいと思います
'utime': No such file or directory
となってエラーになる場合には「--fstrans=no」をつけて再度実行してください> `utime': No such file or directory
rubyのインストールのよ> 'うに対話式に進めていく場合には上記のオプションが必要だそうです
debuildでdebファイルを作成する場合はソースの取得方法から若干ことなります
- apt-get source ruby
- apt-get build-dep ruby
- cd ruby-defaults-4.8
- debuild -uc -us -b
checkinstallと違い対話的にパッケージの情報を変更することはできずや設定を変更する場合は
ruby-defaults-4.8/debian/rules
というファイルを変更する必要があります
rpmbuildで言うところのspecファイルに相当するものかと思います
デフォルトのrulesファイルはかなり複雑でdebuildで作成するとdebファイルも複数できてしまうので簡単に作成したくかつmakeでビルドできるのであればcheckinstallを使ったほうがいいと思います
'utime': No such file or directory
となってエラーになる場合には「--fstrans=no」をつけて再度実行してください> `utime': No such file or directory
rubyのインストールのよ> 'うに対話式に進めていく場合には上記のオプションが必要だそうです
2014年3月7日金曜日
Edge13でWindows7をリカバリしたときのメモ
■環境
■リカバリ方法
■参考サイト
Windows7 Home Premium 64bit
Lenovo Edge13 キーボード/104 CPU/Corei3 Memory/2GB HDD/250GB
Lenovo Edge13 キーボード/104 CPU/Corei3 Memory/2GB HDD/250GB
■リカバリ方法
1. リカバリディスク作成
2. リカバリ実施
C:\Program Files (x86)\Lenovo\Factory Recovery\recovburncd.exe
を起動するとリカバリディスクを作成するためのウィザードが開きます
リカバリディスクを作成するためにはDVDが3枚必要です
特にディスクを作成する段階で問題になることはないと思います
ウィザードの手順にしたがって実行していけば問題ございません
また注意点としてリカバリディスクは一度しか作成することができないようなので作成後は大切に保管してください
(リカバリすれば再度作成できるようになります)
あとは当たり前ですがDVDをwriteできるドライブが必要です
を起動するとリカバリディスクを作成するためのウィザードが開きます
リカバリディスクを作成するためにはDVDが3枚必要です
- 1枚がリカバリディスク
- 2枚がデータディスク
特にディスクを作成する段階で問題になることはないと思います
ウィザードの手順にしたがって実行していけば問題ございません
また注意点としてリカバリディスクは一度しか作成することができないようなので作成後は大切に保管してください
(リカバリすれば再度作成できるようになります)
あとは当たり前ですがDVDをwriteできるドライブが必要です
2. リカバリ実施
ディスク作成後はドライブにリカバリディスクをセットした状態でWindowsを再起動するとリカバリが始まります
途中リカバリ時の言語を選択する部分がありますので日本語を設定します
また、リカバリの方法を2種類から選択します
あとは画面の指示にしたがってリカバリしていけば大丈夫です
ディスクを入れ替える順番は
全体の作業で特につまづくことがなければ2時間くらいで終了します
リカバリ完了後に簡単なWindowsの設定をします
(アクティベーションやPCの情報、キーボードの設定、言語の設定くらいで難しい設定は特にありませんでした)
完了したらドライブを取り外します
完了後は再起動が走るのでドライブを接続したままにするとまたリカバリが始まってしまいますので必ず外してください
途中リカバリ時の言語を選択する部分がありますので日本語を設定します
また、リカバリの方法を2種類から選択します
- 工場出荷時の状態に戻す(Biosの設定からすべて初期化する)
- Cドライブをクリーンする(OSレベルで初期化する)
あとは画面の指示にしたがってリカバリしていけば大丈夫です
ディスクを入れ替える順番は
リカバリ -> データディスク1 -> データディスク2の順番となります
全体の作業で特につまづくことがなければ2時間くらいで終了します
リカバリ完了後に簡単なWindowsの設定をします
(アクティベーションやPCの情報、キーボードの設定、言語の設定くらいで難しい設定は特にありませんでした)
完了したらドライブを取り外します
完了後は再起動が走るのでドライブを接続したままにするとまたリカバリが始まってしまいますので必ず外してください
■参考サイト
2014年3月4日火曜日
mongodbのsharding機能を使ってみた
■環境
■MongoDBインストール
■shardサーバの起動
■configサーバの起動
■mongosサーバの起動
■起動プロセス確認
■sharding設定
■データ登録確認
まだ未調査な部分(チャンクやreplecaSetとの複合など)が多いので何かあれば追記していきます
■参考サイト
CentOS 5.10 64bit
MongoDB 2.9.4
MongoDB 2.9.4
■MongoDBインストール
vim /etc/yum.repos.d/10gen.repo
yum -y install mongo-10gen mongo-10gen-server --disablerepo=\* --enablerepo=10gen
service mongod start
mongo
でmongoコンソールが利用できることを確認する
service mongod stop
確認ができたらshardingノードを立ち上げるため一旦停止しておく
[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1 priority=1yum clean all
yum -y install mongo-10gen mongo-10gen-server --disablerepo=\* --enablerepo=10gen
service mongod start
mongo
でmongoコンソールが利用できることを確認する
service mongod stop
確認ができたらshardingノードを立ち上げるため一旦停止しておく
■shardサーバの起動
mkdir /data/db/shard1/
mkdir /data/db/shard2/
mongod --shardsvr --port 27017 --dbpath /data/db/shard1/
mongod --shardsvr --port 27018 --dbpath /data/db/shard2/
「--shardsvr」オプションをつけてmongodプロセスを起動します
2つのshardサーバを異なるポートで立ち上げます
初回はデータを作成するので起動まで時間がかかります
「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
mkdir /data/db/shard2/
mongod --shardsvr --port 27017 --dbpath /data/db/shard1/
mongod --shardsvr --port 27018 --dbpath /data/db/shard2/
「--shardsvr」オプションをつけてmongodプロセスを起動します
2つのshardサーバを異なるポートで立ち上げます
初回はデータを作成するので起動まで時間がかかります
「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
■configサーバの起動
mkdir /data/db/config
mongod --configsvr --port 37017 --dbpath /data/db/config
shardingのメタ情報を保存しておくmogodプロセスです
shardsvr同様「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
mongod --configsvr --port 37017 --dbpath /data/db/config
shardingのメタ情報を保存しておくmogodプロセスです
shardsvr同様「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
■mongosサーバの起動
mongos --configdb localhost:37017 --port 47017
「--configdb」オプションで先ほど起動したconfigサーバを指定します
shardsvr同様「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
「--configdb」オプションで先ほど起動したconfigサーバを指定します
shardsvr同様「--logpath」と「--fork」オプションを付与することでバックグランドで実行することが可能です
■起動プロセス確認
ここまでで起動したプロセスが以下のようになってれば問題ないです
root 6202 0.0 1.9 423840 39312 pts/6 Sl+ 18:23 0:00 mongod --shardsvr --port 27017 --dbpath /data/db/shard1/ root 6227 0.0 1.8 421756 38720 pts/9 Sl+ 18:23 0:00 mongod --shardsvr --port 27018 --dbpath /data/db/shard2/ root 6462 0.4 1.9 403340 40196 pts/8 Sl+ 18:29 0:00 mongod --configsvr --dbpath /data/db/config --port 37017 root 6477 0.0 0.4 115524 9120 pts/5 Sl+ 18:29 0:00 mongos --configdb localhost:37017 --port 47017
■sharding設定
mongosプロセス上に「admin」というコレクションが作成されていますので
adminコレクションに対して設定を追加していきます
mongo admin --port 47017
次にshard対象とするDBとコレクションとコレクションのキーを指定します
DBおよびコレクションは作成されていなくても問題ございません
adminコレクションに対して設定を追加していきます
mongo admin --port 47017
mongos> sh.addShard("localhost:27017"); { "shardAdded" : "shard0000", "ok" : 1 } mongos> sh.addShard("localhost:27018"); { "shardAdded" : "shard0001", "ok" : 1 } mongos> sh.status() --- Sharding Status --- sharding version: { "_id" : 1, "version" : 3, "minCompatibleVersion" : 3, "currentVersion" : 4, "clusterId" : ObjectId("53144b7514a80c8a98d45417") } shards: { "_id" : "shard0000", "host" : "localhost:27017" } { "_id" : "shard0001", "host" : "localhost:27018" } databases: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "test", "partitioned" : false, "primary" : "shard0000" } { "_id" : "sharding_test", "partitioned" : false, "primary" : "shard0001" }27017と27018をシャードとして追加しました
次にshard対象とするDBとコレクションとコレクションのキーを指定します
DBおよびコレクションは作成されていなくても問題ございません
mongos> sh.enableSharding("sharding_test"); { "ok" : 1 } mongos> sh.shardCollection("sharding_test.test_collection",{name:1}); { "collectionsharded" : "sharding_test.test_collection", "ok" : 1 } { "ok" : 1 }これでtest_collectionはshardingできるようになったので実際にデータを投入して確認してみます
■データ登録確認
mongo --port 47017
データを登録してみます
mongosやshardサーバのログを眺めているとそれらしきログが流れていることがわかるかと思います
27017と27018にログインして確認したところ今回は27018にすべてのデータが入っていました
27017にはDBとコレクションのみ作成されていました
10万件ほどではデータは分散されないようで続けてデータを登録し続けたら100万件あたりでデータの分散が発生しました
データ27017と27018にありますがmongosから見るとその合計の値を確認することができます
■Tipsmongos> show dbs admin (empty) config 0.046875GB sharding_test 0.203125GB作成したsharding_testデータベースがあることがわかります
データを登録してみます
mongos> use sharding_test switched to db sharding_test mongos> i = 0; while ( i < 100000 ) { db.test_collection.save({name:i}); i = i + 1} 100000 mongos> db.test_collection.find(); { "_id" : ObjectId("531450466026cecc3ea4b71b"), "name" : 0 } { "_id" : ObjectId("531450466026cecc3ea4b71c"), "name" : 1 } { "_id" : ObjectId("531450466026cecc3ea4b71d"), "name" : 2 } { "_id" : ObjectId("531450466026cecc3ea4b71e"), "name" : 3 } { "_id" : ObjectId("531450466026cecc3ea4b71f"), "name" : 4 } { "_id" : ObjectId("531450466026cecc3ea4b720"), "name" : 5 } { "_id" : ObjectId("531450466026cecc3ea4b721"), "name" : 6 } { "_id" : ObjectId("531450466026cecc3ea4b722"), "name" : 7 } { "_id" : ObjectId("531450466026cecc3ea4b723"), "name" : 8 } { "_id" : ObjectId("531450466026cecc3ea4b724"), "name" : 9 } { "_id" : ObjectId("531450466026cecc3ea4b725"), "name" : 10 } { "_id" : ObjectId("531450466026cecc3ea4b726"), "name" : 11 } { "_id" : ObjectId("531450466026cecc3ea4b727"), "name" : 12 } { "_id" : ObjectId("531450466026cecc3ea4b728"), "name" : 13 } { "_id" : ObjectId("531450466026cecc3ea4b729"), "name" : 14 } { "_id" : ObjectId("531450466026cecc3ea4b72a"), "name" : 15 } { "_id" : ObjectId("531450466026cecc3ea4b72b"), "name" : 16 } { "_id" : ObjectId("531450466026cecc3ea4b72c"), "name" : 17 } { "_id" : ObjectId("531450466026cecc3ea4b72d"), "name" : 18 } { "_id" : ObjectId("531450466026cecc3ea4b72e"), "name" : 19 } Type "it" for more
mongosやshardサーバのログを眺めているとそれらしきログが流れていることがわかるかと思います
27017と27018にログインして確認したところ今回は27018にすべてのデータが入っていました
27017にはDBとコレクションのみ作成されていました
10万件ほどではデータは分散されないようで続けてデータを登録し続けたら100万件あたりでデータの分散が発生しました
データ27017と27018にありますがmongosから見るとその合計の値を確認することができます
shardサーバ、configサーバ、mongosサーバの停止はバックグラウンドで起動している場合はkillしてください
フォアグランドで実行している場合はCtrl+cで停止できます
とりあえず特定のコレクションに対してshardingさせるまではできましたフォアグランドで実行している場合はCtrl+cで停止できます
まだ未調査な部分(チャンクやreplecaSetとの複合など)が多いので何かあれば追記していきます
■参考サイト
2014年3月2日日曜日
Windows7のタスクバーにEclipseを表示する方法
1. eclipse.iniの編集
2. eclipse.exeのショートカットを作成する
3. 実行してタスクバーに表示する
以上です、なんでこんなことをしなければいけないかはよくわかりません
P.S 20141023
それでもダメな場合はEclipse Marcketplaceを開いた状態から「タスクバーにこのプログラムを表示する」をクリックしてください
自分はそれで表示されるケースがありました
なぜ、これをやらなければいけないかは相変わらずわかりません
ファイルの先頭に以下を追記します
-vm C:\Program Files\Java\jre7\bin
2. eclipse.exeのショートカットを作成する
exeファイルを右クリックして「ショートカットの作成」をクリックします
作成できたショートファイルは適当に配置してください
作成できたショートファイルは適当に配置してください
3. 実行してタスクバーに表示する
ここでポイントとして
ショートカットファイルを右クリックして「開く」からeclipseを実行
してください
ダブルクリックから実行してタスクバーに表示しても2重で表示されてしまいますので右クリックから開くようにしてください
ショートカットファイルを右クリックして「開く」からeclipseを実行
してください
ダブルクリックから実行してタスクバーに表示しても2重で表示されてしまいますので右クリックから開くようにしてください
以上です、なんでこんなことをしなければいけないかはよくわかりません
P.S 20141023
それでもダメな場合はEclipse Marcketplaceを開いた状態から「タスクバーにこのプログラムを表示する」をクリックしてください
自分はそれで表示されるケースがありました
なぜ、これをやらなければいけないかは相変わらずわかりません
登録:
投稿 (Atom)