2011年10月28日金曜日

Ubuntuにrpmパッケージインストール

rpmパッケージをインストールするにはalienというrpmをdebに変換するコマンドが便利らしい。参考UbuntuでRPMをインストールする件 - システムエンジニア奮闘記 ~ダメダメSEの備忘録~


alienをインストール


[bash]
sudo apt-get install -y alien
[/bash]

rpmのインストール


alienを使ってrpm -> deb 変換
[bash]
sudo alien Package.rpm
[/bash]
直接インストール
[bash]
sudo apt-get install -y Package.rpm
[/bash]

2011年9月9日金曜日

Wordpress移転

http://wordpress.takkyuuplayer.vagrant/ 上のWordpressをローカルの Ubuntu11.04 にバックアップ。その手順のまとめ。これはWordpress移転にも使える。

DBのエクスポート


phpmyadminを用いて、Wordpress関連の全テーブルをエクスポート。その際、
[text]
DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT
[/text]
にチェックを入れるのを忘れずに。仮にnetau.sqlというファイル名で保存されたものとする。

Wordpressファイルのダウンロード


FileZilla のインストール
[bash]
~$ sudo apt-get install filezilla
[/bash]
/var/www/の権限変更
[bash]
~$sudo chown -R takkyuuplayer:www-data /var/www/
~$sudo chmod 750 /var/www/
~$sudo usermod -g www-data takkyuuplayer
[/bash]
Filezillaを起動しhttp://wordpress.takkyuuplayer.vagrant/のpublic_htmlディレクトリの中身を/var/www/netauに突っ込んだ。

local環境の準備


mod_rewriteをONにする。
[bash]
~$sudo a2enmod rewrite
[/bash]
Overrideを許可する。
[bash]
~$ sudo vi /etc/apache2/sites-available/default
[/bash]
[text]

Options Indexes FollowSymLinks MultiViews
AllowOverride None -> Allに変更
Order allow,deny
allow from all

[/text]
apache再起動
[bash]
~$ sudo /etc/init.d/apache2 restart
[/bash]
.htaccessのpermissionを777に。
[bash]
~$ chmod 777 /var/www/netau/.htaccess
[/bash]

データベースの作成


/var/www/netau/wp-config.phpを開く
[bash]
~$ vi /var/www/netau/wp-config.php
[/bash]
ホスト名はlocalhostに変える。その他も変えたければ変更する。
[php]
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
[/php]
wp-config.phpファイルを参考に、ローカルのMySQLサーバー上にDBを作成。文字コードの照合順序(utf8_general_ciにする)に注意。
エディタでnetau.sqlを開き、wordpress.takkyuuplayer.vagrant→wordpress.takkyuuplayer.vagrantに全置換
phpmyadminにnetau.sqlをインポートし実行。

バックアップできているか確認


http://wordpress.takkyuuplayer.vagrant/にアクセスし、正常に表示されるか見てみる。
文字化けしたら

データベースの照合順序やnetau.sqlの文字コードを確認しよう。
404になったら

mod_rewriteの設定が怪しい。パーマリンク設定をデフォルトに変えて記事が表示されるようなら、mod_rewrite関連や.htaccessの設定を見直す必要がある。それでも表示されないならデータベースの作成をもう一度やり直そう。

以上で完了だ。

2011年9月8日木曜日

Ubuntuでキーカスタマイズ

私のPCのキーボードはいくつかのキーが反応しなくなったために、キーを入れ替える必要がある。「Ubuntu キーボード 変更」で検索するとCtrlとかWindowsキーの入れ替えについてはたくさんドキュメントが出てくるのだが、肝心の個別のキー入れ替えについてはあまり出てこなかった。しばらく探してようやく見つけたLento ma non troppo  Ubuntu キーカスタマイズを参考にキーボードを入れ替えた。その備忘録。

keycodeの取得


GNOME端末を起動し
[bash]
$ xev
[/bash]
を実行。すると小さなウィンドウが出てくる。変更したいキーを押すと
[text]
KeyRelease event, serial 36, synthetic NO, window 0x4600001,
root 0xb2, subw 0x0, time 5490328, (-486,266), root:(158,319),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
[/text]
のような結果が出力されるのでこのkeycodeをメモしておこう。

keyeventの取得


[bash]
$ xmodmap -pke | grep 111
keycode 111 = Up NoSymbol Up
$ xmodmap -pke | grep 113
keycode 113 = Left NoSymbol Left
[/bash]
この Up NoSymbol Up などがkeyeventだ。

.xmodmap ファイルの作成


ホームディレクトリに .xmodmap ファイルを作成する
[bash]
$ vi ~/.xmodmap
[/bash]
そのファイルに[keycode] = [keyevent]という形で記述し保存すれば良い。例えばUpキーとDownキーを入れ替えるには
[text]
keycode 111 = Down NoSymbol Down
keycode 114 = Up NoSymbol Up
[/text]
と記述する。

設定を反映


[bash]
$ xmodmap ~/.xmodmap
[/bash]
これでUpキーとDownキーが入れ替わった。

ログイン時の自動キー設定読み込み


ホームディレクトリに .xinitrc ファイルを作成し
[bash]
$ vi ~/.xinitrc
[/bash]
以下のように記述する。
[text]
xmodmap $HOME/.xinitrc
[/text]

Ubuntu11.04をインストール

先日、ふと間違えてUbuntuの起動ディスクを入れたまま電源を入れてしまい、あちゃーミスったーと思っていたら Ubuntu 爆速!! ということに気づいた。その速さに取り付かれ、2日後にはもっっっっっっさりしていた Windows Server 2008 R2 から Ubuntu 11.04 へとOSを入れ替えた。しばらくUbuntuをデスクトップとして使ってみようと思う。

ハードウェア的な性能は
 HDD: 40GB
 Memory: 2GB
 Swap?: 2GB
 CPU: Core 2 Duo T7300 2.00GHz × 2

という感じ。HDDは40GB/120GBでパーティション区切って、あとでWindowsをデュアルブートできるようにしておいた。Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese TeamからDLした日本語版Ubuntuをインストール。セキュリティアップデート完了ですべて終了。この間30分ほど。


なんか普通にデスクトップとして使えそうな感じですなー

システムモニタはこんなかんじ。

(いろいろソフト導入したのもあるけど)Windowsのときは起動しただけで1.3GBくらいメモリ使ってたのが今は300MB程度。CPU使用率ももともと20%くらいだったのが10%前後。Ubuntuは軽くていいね!これからどんどんカスタマイズしていこう。

2011年6月9日木曜日

SRM 408 DIV2

191.64/250
[java]
public class TournamentJudging {

public int getPoints(int[] rawScores, int[] conversionFactor) {
System.out.println("!");
int score = 0;
for(int i=0; i int tmp = rawScores[i] % conversionFactor[i] < (conversionFactor[i]+1)/2 ?
rawScores[i]/conversionFactor[i] :
rawScores[i]/conversionFactor[i]+1;
System.out.println(tmp);
score += tmp;
}
return score;
}
}

[/java]

SRM 148 DIV1|177.09/250

トランプのゲームの問題
[java]
public class CircleGame {
public int cardsLeft(String deck) {
boolean end = false;
deck = deck.replaceAll("K", "");
System.out.println(deck);
for(int i=0; i if( parse(deck.charAt(i)) + parse(deck.charAt(i+1) ) == 13 ) {
deck = deck.substring(0, i) + deck.substring(i+2);
i++;
}
}

while (deck.length() > 1 && parse(deck.charAt(0))+parse(deck.charAt(deck.length()-1)) == 13 )
deck = deck.substring(1, deck.length()-1);

return deck.length();
}

public int parse(char ch) {
if ('A' == ch)
return 1;
else if ('T' == ch)
return 10;
else if('J' == ch)
return 11;
else if('Q' == ch)
return 12;

return ch - '0';

}
}
[/java]

2011年6月4日土曜日

無料レンタルサーバーでWordpress

無料レンタルサーバーといえば広告がついたり、サーバーの性能が悪くてWordpressが重かったりする。そんな中、ある程度快適な無料レンタルサーバーを発見。

Free Web Hosting with PHP, MySQL and cPanel, No Ads

海外サーバで英語である点、時々DBエラーが発生する点は少し難点だが、広告無し、容量1.5GB、Wordpressが快適に動くという利点は捨てがたい。なおPHP以外のRubyとかPerlとかは有料アカウントにアップグレードしないと使えないので注意。導入方法は以下が参考になる。

WordPressも使える無料レンタルサーバー | Adsense Mania アドセンスマニア - Google Adsense アドセンスで稼ぐ攻略ブログ

なお上記サイトではWordpressをサーバーにアップロードする手段としてSota's Web Page (FFFTP)の利用を推奨しているが、FFFTPはサーバー負荷を下げるためか大量のファイルを転送するとエラーが発生する。つまりWordpressのアップロードがうまくいかない。そこで、FTPクライアントとしてはFileZilla - Client Downloadをお勧めする。ちゃんと日本語化されているのでご安心を。