ThinkpadにFuntooネイティブインストール続き(GUI)編
GNOME
http://www.gentoo.org/doc/ja/gnome-config.xml
を参考にしたけど、
emerge gnome
emerge gnome-light
どちらも実行してみると、いろいろ足りないといわれる
英語版を見てみると、フラグとか微妙に違う
http://www.gentoo.org/doc/en/gnome-config.xml
英語版をベースに進めてみた
emerge gnome-light
introspection を入れてくれ、といわれるので、
introspection をUSEフラグに追加
さらにemerge してみる。(USEフラグとemergeの関係がよくわかってない気がする。emergeだけでいいかも?)
--autounmask-write がどうのこうの言われる。
ぐぐる。
emergeのオプションでつければいいらしい?
つけてみる。
emerge --autounmask-write gnome-light
(中略)
Remember to run dispatch-conf.
dispatch-conf を走らせろ!といわれる。
やってみる。
dispatch-conf
コマンドを求めてくるので、とりあえず、uとうってEnter
もっかいemerge
すすむ。
待つ。
バツがいくつかついているけど、とりあえず終わった。
env-update && source /etc/profile
/etc/init.d/dbus start
rc-update add dbus default
getent group plugdev
# Substitute yourUserName with your user name ;-)
gpasswd -a yourUserName plugdevecho "exec gnome-session" > ~/.xinitrc
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
startx
起動しそうになるが、Errorとなる。
ログを見てみると、xscreensaver が Not Foundになっているので入れる
emerge xscreensaver
で、もっかい startx
GNOME起動!バンザイ!
あとはログインマネージャーをどうのこうのして、reboot!
ログイン画面 キタ━━━━(゚∀゚)━━━━!!
最後にFuntooから初つぶやきだ!とChromeをemergeしようとしたらバグってるから1日待ってね、的なメッセージが出たのでそっと閉じておいた。
あとは日本語使えるようにして、開発環境をいれれば使えるかなー。
ここまできて思ったこと
結構難しい。
portageってなにそれおいしいの?って状態では大変だったし時間がかかった。
英語ばかりで適当に読みとばしていたのが遠回りの原因だった気もする。
でも、楽しかった。
Funtooインストール続き
ブート用のUSBメモリがちゃんとできているか?
error: file '/isolinux/rescue64' not found.
といわれているので、USBの中身をチェックチェック。
「VirtualBox」フォルダとかなってて、ん?
USBメモリにSystemRescueCdをインストールしたとき、
(Windows8, systemrescuecd-x86-3.6.0.iso, LinuxLive USB Creator 2.8.21.exe)
http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick#B.29_Recommended_USB_installation_method_from_Windows
これを参考にしたんだけど、結局よくわからんかったんで、
If you have problems with the SystemRescueCd USB installer for Windows you can try linuxliveusb
って最後の行にかいてあったから、
http://www.linuxliveusb.com/
LinuxLive USB Createrというやつで作った。
このツールを使うときに、
STEP4:オプション
LinuxLiveをWindows上で起動可能にする(インターネット接続が必要)
ってやつにチェックが入っていた模様。このためにVirtualBoxフォルダができていたみたい。
チェックを外してUSBを作り直し。
今度こそUSB中身チェック
それらしいのができている!
で、問題となっている、
/isolinux/rescue64
があるかどうか、見たけど、ない。
このログは正しい。うん。
パスが間違っているようなので、書きかえる。
【対象ファイル名】boot/grub/grub-360.cfg
(誤)/isolinux/rescue64
(正)/syslinux/rescue64
全て書き換える。grub-360.cfg内に5箇所あった。
今度こそUSBメモリからブート(4回目)
なんかダラダラコンソールにでる。
きたこれ。
ここからがやっとスタートなんですけどねっ(涙目)
Partitioning Using gdisk
Windows8がプリインストールされているThinkpadを買ったので
もともとパーティションあるんすよね。
gdisk /dev/sda
pをやってみると、5個もある...
うーん、とりあえず見なかったことにしてやってみたけど、
1個目のパーティション作るところで+500MBも無いっていって怒られる。
そりゃそうだ。
空き領域なんてないさー。
ここで、Windows8をどうするかを悩む。
生かしておくか、と決断。
Windows8で入りなおし、Cドライブの容量を小さくする。
ここはググったら簡単にできて、半分くらい空いた。
750GB->350GBくらいになったので、350GB空いた。
USBメモリでブートしなおし、再度パーティションをきる。
Partition Number: 1、2、3、4 ってなっているところを、6、7、8、9と読み直してやる。
Creating filesystems
/dev/sda1 -> /dev/sda6
と読みなおしてやってみる。
(合っているのかは不明)
Installing the Stage 3 tarball
LANケーブルにつないで実行
Chroot into Funtoo
うんうん
Downloading the Portage tree
よしよし
Configuring your system
おっけー
Configuring and installing the Linux kernel
順調にここまできた。
なにこれ30分でおわた。
新しいPCバンザイ!
Installing a Bootloader
お?
Finishing Steps
おおっ
Funtooインストール講習会に参加してきました
http://esminc.doorkeeper.jp/events/3547
仕事ではWindowsばかりで、Rails案件になるとときどきCentOS使ったくらいしかLinuxとは縁がなかったけど、
そろそろちゃんとやっとかないと、と結構前から思っていたところに生涯を通じて楽しめるディストリビューションに出会う場としてという文言に惹かれてついつい申し込みしました。
開始(1回目)
Funtooのインストールページを元に、進める
http://www.funtoo.org/wiki/Funtoo_Linux_Installation
一つ一つコマンドの説明とか、必要/不必要を教えていただきながら何とかすすめてきたけど、カーネルビルドが終わらない...
emerge debian-sources
3時間たっても終わらない...
時間切れでPCをスリープして帰宅...
家で続きをやってみたけど、朝になっても終わらない...
CPUは使っているみたいなので、どっかで無限ループしちゃっているのかなー?と思い、一旦止める。
2回目
イメージを作り直してはじめからやり直し。
一度やっていたし、メモっていたのでさくさくカーネルビルド前まできた。
カーネルビルドなう。
1時間くらい待つ。
1回めより手前で止まっている...
3時間くらい待つ。
変わっていない...
また止める。
3回目
2回目で作ったイメージを元に3回目のカーネルビルド。
2回目より進んでいる。
よしよし。
3時間くらい待つ。
1回目と同じログがはかれていることを確認。
待つ。
3日くらい待つ。
終わらない...
3回目と時を同じくしてThinkpadを発注
イライラしてきたので、スペックのいい、壊れてもいいPCが欲しくなった。
そのうちLetinaのスペックいいやつが出て、値段が安くなったら買おうと思っていたのに、なぜかThinkpadを発注www
20%OFFで残り2個だったからついwww
念願のCorei7だし、メモリ16GBまでつめるし、しかも7万弱だったからついwww
で、Thinkpadさん到着。国内在庫の短納期だったので、2日くらいできた。
Thinkpadの準備
丁重に開封の儀式を行ったところで、Thinkpadさんにはリカバリディスクが無いことに気づく。(そんなことすっかり忘れていた)
USBメモリ買いに行く。
リカバリ領域からUSBメモリに書き出し。
(lenovoのサイトの通りに進めてたら、コントロールパネルのRecoveryアイコンとかないし、うそつきー。)
(ググって事なきを得る。正解は"復元"アイコンだった。)
(さらに、サイトにはUSBメモリは16GB以上ってかいているのに、実行していると8GB以上ってメッセージががが、うそつきー。)
ブート用USBメモリの準備
VirtualBoxでは必要なかったけど、SystemRescueCdを入れておくため、USBメモリを買いに(2回目)行く。
http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick
Linuxのとこを見ながら、Macでやろうとしたけど、ISO イメージをマウントするところでできなかった...
ThinkpadさんにはWindows8がプリインストールされているので、Windowsでやることに。
Windows8初めてで、使いづらい...
時間かかる...
シャットダウンはどこよ...
で完成。
仕事周り
なんだかんだでガッツリ忙しかったり、ネットワーク的に自由がなかったり、引越したり、とブログの存在すら忘れている毎日を経て、突然時間ができたので近況をつらつらと。
2011年9月から2月まで
ネットワーク的に自由のない現場でVB6→VB.NETのリプレース
このへんで引越し
2012年3月から10月まで
受託案件でC#.NETのリーダー的な位置で若すぎるチームの仕様とか設計とか折衝とかやって大変な目に合っていた
2013年1月から3月まで
Railsプロジェクト!!!自由のきく現場でプログラミング三昧
3月までの案件は新しいことばかりでとても楽しかったわー
Rails3にも滑り込めたし、CentOSはじめて開発で使ったし(サーバーで使用することはあったけど、ローカルで使ったのは初めて)、githubとか、bootstrapとかなんやらかんやら楽しかったわー
いや、1月は全然ついていけてなくて、申し訳ないことこの上ない状況でしたよ。斧は飛んでくるし。
2月中旬くらいから仕様と環境に慣れてきて何とかついていけるレベルまで来てからは楽しかったわーモクモクすぎて。
会話はSkypeでできるし、情報はインターネット上にあるので在宅も可能だし。
壁を使った時点で在宅がしづらくなるんだなーと知った。
やっぱプログラマー業が一番楽しいな。
6歳のあーちゃん
テレビがすき
プリキュア、ハム太郎、プリティリズム、ジュエルペット、はねとび、めちゃイケ、月9、江、ピカルの定理など
チョコレートがすき
ご飯はあまり食べないが、お菓子はよくたべる
あたりめもよく食べる
牛乳は1日4,5杯飲んでいる
鏡の前でポーズを決めたり、コーデをキメたりしているw
ミュールを履いて大はしゃぎ
キラキラしたものとか、ハートとか、ピンクとか、水色とかが好き
絵が上手になってきた
相変わらず、眠くなるとクマがひどい
テレビやiPhone、iPodの操作を自分でできる
にんじんや、きゅうりなどを切ったりお手伝いをしたがる
プールで顔はつけられない
頭から少しシャワーすることはできる
お片づけが苦手
子供向けのゲームを休みの日にやる(プリキュア、プリティリズム、リルぷりっ)
時間の感覚がまだない
お人形遊び、ぬりえ、お手紙書いたりしている
ママもお化粧したら可愛いのにーという
字はひらがなはだいたいかけるけど、小さい音の字(ゃ、ゅ、ょ)がつくのはよくわかってない
かたかなは少しかける
お誕生日プレゼントを決めるとき、たくさん欲しい物がでてきたので優先順位を付けさせたw
来年以降のお誕生日プレゼントもだいたい決まったw
保育園では口が達者なので強いほうらしい
お友達とはケンカしながらも、毎日楽しく遊んでいる様子。
手帳を買ってみた
なかなか気に入るのがないので社会人になってからはGoogleカレンダーでまかなっていたわけですが、ふらっと入った本屋の文房具コーナーで一目惚れしたので購入した。
見開きで1ヶ月分のカレンダーが表示され、残りはノートのみ。
デザインも素敵だし、シンプルでとてもいいっ!
UNITED BEES T114-A5-213
- 出版社/メーカー: UNITED BEES(ユナイテッドビーズ)
- メディア: オフィス用品
- クリック: 7回
- この商品を含むブログを見る
オープンしてから、結構行くんだけど、文房具が洋モノのかわいいやつがならんでいるのでオススメです。
RHODIAの品揃えもすばらしい。
啓文堂書店 神田駅前店
http://www.keibundo.co.jp/kandaekimae/index.html
初めてのAmazonEC2 + trac + svn + maven + jenkins + tomcat + MySQL
やりたいこと
定期的に新しいソースを取ってきて、テストして、コンパイルして、デプロイして最新バージョンのアプリを常に起動していたい
(要はCI環境構築)
詳細化してみる
・アプリケーションを動かしたい
・デプロイしたい
・テストしたい
・コンパイルしたい
・最新ソースを取りたい
・EC2にログインしたい
前提
サーバー(EC2)WindowsServer、ubuntu
今までの経験
EC2(初)
trac(プロジェクトで使ってた)
svn(プロジェクトで使ってた)
maven(ほぼ初。maven2が出たばかりのときに少し試してみただけ)
jenkins(hudsonセットアップ1回だけ)
tomcat(プロジェクトで使ってた)
MySQL(ほぼ初)
ubuntu(家のサーバーがubuntuだったので、2年か3年前trac入れてみたことがある程度)
linux(Cのプロジェクトでサーバーでしかコンパイルできない悲しい状況だったことがある程度。3ヶ月くらいかな。)
私が使ったPC
WindowsXP
MacBookAir
サーバーに対してすでにやってあること
Tomcatのインストール
MySQLのインストール
TracLightningのインストール
Javaのインストール
EC2にログインしたい
ubuntuにSSHでログインする
EC2の管理者は上司様。
キーファイルをありがたく頂戴する。
SSHポートを空けてもらう。
ログインしてみる。
へ?
上司様に聞く。
> ssh -i keyfile.pem ほげほげ.ap-northeast-1.compute.amazonaws.com
つながった!
WindowsServerにログインする
WindowsXPからリモートデスクトップで接続。
ユーザーとパスワードを上司様に聞く。
ログインできた!
最新ソースを取りたい
TracLightningが入っているので、svnはある。
Tracの画面からユーザーと権限をサーバー用に作成。
適当なディレクトリにチェックアウトしてみる。
できた。
コンパイルしたい
ここではじめてのMaven3を使ってみる。
本とGoogle先生にご教授願う。
apache-maven-3.0.3-bin.zip をダウンロード
http://maven.apache.org/download.html
zipを解凍。Cドライブの下におく。
C:\apache-maven-3.0.3
pathを通す。
mvnコマンドが使えるかためすために、バージョンを確認してみる。
> mvn --version
Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900)
Maven home: C:\apache-maven-3.0.3\bin\..
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_24\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"
きた!
チェックアウトしたプロジェクトの直下に初めてのpom.xmlを書く。
Maven Centralで使用するjarを検索しつつ、dependencyを追加していく。
http://search.maven.org/
など。使用するjarをすべて記述。
忘れずに、jarからwarに変える。
war
Mavenを使ってコンパイルしてみる。pom.xmlのあるディレクトリまで移動し、
C:\project\hello_world>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hello_world 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ hello_world ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\project\hello_world\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ hello_world ---
[INFO] No sources to compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.703s
[INFO] Finished at: Mon Jun 06 10:50:24 JST 2011
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------
きた!
warを作ってみる。
C:\project\hello_world>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hello_world 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ hello_world ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\project\hello_world\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ hello_world ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ hello_world ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\project\hello_world\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ hello_world ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ hello_world ---
[INFO] No tests to run.
[INFO] Surefire report directory: C:\project\hello_world\target\surefire-reports
- -
T E S T S
- -
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ hello_world ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.750s
[INFO] Finished at: Mon Jun 06 10:52:41 JST 2011
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
きた!
targetディレクトリができて、warファイルがそのなかにできている!
しかもテストも実行されている!
よしよし。
デプロイしたい
これまではWindowsServer内だけだったけど、これからubuntuにあるtomcatにデプロイする。
ここでjenkinsを使う。
TracLightningに同梱されているjenkinsを使う。
C:\TracLightning\project\hudson\.hudson\jenkins.xml
を修正する。(ポートやプレフィックスを指定)
-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --prefix=/jenkins
サービスから起動。
http://localhost:8080/jenkins/
へアクセス。
(ポートを8080に変更したので、httpd.confも修正しておく。)
デプロイプラグインを追加する。
Jenkinsの管理>プラグインの管理>利用可能タブ>Deploy Plugin をインストールして、サービスの再起動。
プロジェクトの設定で、Tomcatへのデプロイを設定する。
SVNの設定も入れておく。
JavaとMavenはインストールしたものを使う。(Tracのは使わないので設定変更)
Jenkinsの管理>システムの設定
ビルド実行リンクを押下!
アプリケーションを動かしたい
MySQLにdatabaseを作る。
> mysql -u root
> create database データベース名
> show databases;
作成したデータベース名が表示されていることを確認。
> use データベース名
あ、ddlサーバーにおくらなあかんのやった。
というわけで、ftpを使う。
> apt-get install vsftpd
/etc/vsftpd.confのアスキー設定とか、書き込み設定を許可する。
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
再起動
> /etc/init.d/vsftpd restart
ffftpでファイルを送ってみる。
MySQLでddlを実行。
> mysql database < text_file
私がはまったポイント
Tomcatが入っているところに、さらにTomcatをインストールして、EC2が応答しなくなった。
ftpサーバーを立てるのをやったことなくて、インストールしたけどつながらないなーとか思いつつ、ポートが閉じてるのか?とか考えた結果、ufwをinactiveからactiveに変更してしまった結果、sshポートを空けてなくてつなげることができなくなってしまった。
jenkinsの画面がポートを変えているせいで、外から見えなかった。
MySQLがすでにインストールされていることを知らず、インストールし、rootのパスワードを設定したのに設定と違っていてえーんってなった。
Javaをインストールしたのに、バージョンが違ってえ(ry
Tomcatのlibに入っているjarとwarに入っているjarがかぶっていて、以下のようなエラーがでた。
Unable to load configuration. - bean - jar:file:ほげほげ/WEB-INF/lib/struts2-core-2.2.1.1.jar!/struts-default.xml:29:72
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
ビルド環境から、つくったwarをローカルにコピーして、Tomcat managerでデプロイしようとしたら、以下のようなエラーがでた。
(ビルド環境からそのままデプロイしたら、エラーにならなかった。なぜかしら?)
SEVERE: Exception fixing docBase for context [/Training2011WebApp-1.0-SNAPSHOT]
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:114)
at java.util.jar.JarFile.(JarFile.java:135)
at java.util.jar.JarFile.(JarFile.java:72)
at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:72)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:48)
ビルドは正常終了するのに、デプロイされない><
(warファイルのありかをJenkinsのワークスペースから指定しなきゃいけないのに、できてなかった。)
EC2が応答しなくなった(壊した///)ときは、上司様にお願いして、インスタンスをターミナルして新しいインスタンスをバックアップしておいたAMIから起動してもらう。
Maven3ってのがでてるんだーとつぶやいたら、Maven2と互換性高いという情報をいただきましたので、Maven2の本で学習しました。
(E和の@koicさん、@ryhmrtさんありがとうございます。)
うーん、はまりすぎ。