読者です 読者をやめる 読者になる 読者になる

今年もそろそろ一週間なので、2012年の目標でも。

  • 体重75kg。
  • 嫁と旅行に行く。
  • 冷蔵庫とダイニングテーブルを買う。
  • 真面目に転職先を探す。
  • できたら、子どもの最初の言葉はパパがいい。
  • 英語。

Unbuntu 9.10 Server に MySQL 5.1 と InnoDB Plugin と Q4M をインストール。

MySQLはソースからではなく、aptitudeでdpkg版を入れて、それにInnoDB PluginとQ4Mをインストールする。


MySQLインストール

$ sudo aptitude install mysql-server libmysqlclient16-dev

途中でrootパスワードの設定を求められので、入力すると完了。
Ubuntu 9.10 からはMySQL 5.1が標準でインストールされる。リリースノート和訳
libmysqlclient16-devもMySQL関連の諸々をインストールしたりする際に必要なので、インストールしといた方が俄然良い。


インストールされたバージョンは5.1.37。

$ dpkg -l | grep mysql
ii  libdbd-mysql-perl                   4.011-1ubuntu1                    A Perl5 database interface to the MySQL data
ii  libmysqlclient-dev                  5.1.37-1ubuntu5                   MySQL database development files
ii  libmysqlclient16                    5.1.37-1ubuntu5                   MySQL database client library
ii  libmysqlclient16-dev                5.1.37-1ubuntu5                   MySQL database development files - empty tra
ii  mysql-client-5.1                    5.1.37-1ubuntu5                   MySQL database client binaries
ii  mysql-common                        5.1.37-1ubuntu5                   MySQL database common files (e.g. /etc/mysql
ii  mysql-server                        5.1.37-1ubuntu5                   MySQL database server (metapackage depending
ii  mysql-server-5.1                    5.1.37-1ubuntu5                   MySQL database server binaries
ii  mysql-server-core-5.1               5.1.37-1ubuntu5                   MySQL database core server files

InnoDB Plugin インストール

MySQLのバージョンが5.1.38以上であればInnoDB Pluginが同梱されているが、イントールされたのが5.1.37なので別途イントールするべし。


本家INNOBASE社のサイトに最新版(1.0.4)のMySQL 5.1.37向けのバイナリが用意されてるので、これを使う。
本家サイトのインストール手順はこちら

1. ダウンロードして、展開してコピー。

libmysqlclient16-devをインストールしてない場合は、/usr/lib/mysql/plugin/がない。

$ sudo /etc/init.d/mysql stop
$ wget http://www.innodb.com/download/innodb_plugin/innodb_plugin-1.0.4-linux-i686-glibc23.tar.gz
$ tar zxvf innodb_plugin-1.0.4-linux-i686-glibc23.tar.gz
$ cd innodb_plugin-1.0.4-linux-i686-glibc23/
$ sudo cp ha_innodb.so /usr/lib/mysql/plugin/
2. /etc/mysql/my.cnfに設定を追加。
[mysqld]
ignore_builtin_innodb
plugin_load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_innodb.so;innodb
_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so
3. mysqldを起動する。
$ sudo /etc/init.d/mysql start
4. show pluginsで確認して、ha_innodb.soが読み込まれてればOK。
$ mysql -uroot -p
Enter password:

mysql> show plugins;
+---------------------+----------+--------------------+--------------+---------+
| Name                | Status   | Type               | Library      | License |
+---------------------+----------+--------------------+--------------+---------+
| binlog              | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| partition           | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| ARCHIVE             | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| BLACKHOLE           | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| CSV                 | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| FEDERATED           | DISABLED | STORAGE ENGINE     | NULL         | GPL     | 
| MEMORY              | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| MyISAM              | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| MRG_MYISAM          | ACTIVE   | STORAGE ENGINE     | NULL         | GPL     | 
| InnoDB              | ACTIVE   | STORAGE ENGINE     | ha_innodb.so | GPL     | 
| INNODB_TRX          | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_LOCKS        | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_LOCK_WAITS   | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_CMP          | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_CMP_RESET    | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_CMPMEM       | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
| INNODB_CMPMEM_RESET | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so | GPL     | 
+---------------------+----------+--------------------+--------------+---------+
17 rows in set (0.00 sec)

mysql>quit;


InnoDB Plugin が如何に素晴らしいかは専門家の方々の記事を読めば一目瞭然。
Open database life: InnoDB Plugin 1.0.4 - InnoDB史上極めて重要なリリース
SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin - SH2の日記

注意

Ubuntu 9.10 をインストールした直後の状態だと、上記の手順通りに実行してもha_innodb.soが読み込まれない。
なぜならAppArmorが動いているから。


AppArmorを止めるか、プロファイルを追加するかという事になるわけだが、迷わず止めた。
止め方はこちら

Q4Mインストール

こちらはMySQL 5.1.37向けのバイナリはないので、最新版をソースからコンパイルする。
MySQLのソースも必要になるので、これはdpkg用のやつを使う。


本家サイトのインストール手順はこちら

1. 必要になるライブラリなどをインストール。

libssl-devはコンパイル時に、dpkg-debはソースパッケージが展開される際に必要になる。
コンパイル時に必要なg++やlibstdc++なんかも一緒にインストールされるので一石二鳥。
ちなみに、gccとかlibc6-devなんかはlibmysqlclient16-devをインストールした時に入っている。

$ sudo aptitude install libssl-dev dpkg-dev
2. ソースパッケージを取得。

ダウンロード後に展開してpatchあてまでやってくれる。
aptitudeでソースはどうやって取得するんだ?

$ cd /tmp
$ sudo apt-get source mysql-server
3. Q4Mをダウンロードして、コンパイルして、インストール

'--with-mysql'の指定だけだと、make時にヘッダが読み込めなくてエラーになるので、CPPFLAGも指定してやる。
0.8.5以降はboostのヘッダが同梱されているので、boostをインストールしなくてもコンパイル出来る。

$ wget http://q4m.31tools.com/dist/q4m-0.8.9.tar.gz
$ tar zxvf q4m-0.8.9.tar.gz
$ cd q4m-0.8.9
$ ./configure CPPFLAGS=-I/usr/include/mysql  --with-mysql=/tmp/mysql-dfsg-5.1-5.1.37
$ make
$ sudo make install
$ mysql -uroot -p -f mysql < support-files/install.sql

4. show pluginsで確認して、libqueue_engine.soが読み込まれてればOK。

InnoDB Plugin の場合と同様AppArmorが動いてると読み込まれない。

$ mysql -uroot -p
Enter password: 

mysql> show plugins;
+---------------------+----------+--------------------+--------------------+---------+
| Name                | Status   | Type               | Library            | License |
+---------------------+----------+--------------------+--------------------+---------+
| binlog              | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| partition           | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| ARCHIVE             | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| BLACKHOLE           | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| CSV                 | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| FEDERATED           | DISABLED | STORAGE ENGINE     | NULL               | GPL     | 
| MEMORY              | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| MyISAM              | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| MRG_MYISAM          | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     | 
| InnoDB              | ACTIVE   | STORAGE ENGINE     | ha_innodb.so       | GPL     | 
| INNODB_TRX          | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_LOCKS        | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_LOCK_WAITS   | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_CMP          | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_CMP_RESET    | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_CMPMEM       | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| INNODB_CMPMEM_RESET | ACTIVE   | INFORMATION SCHEMA | ha_innodb.so       | GPL     | 
| QUEUE               | ACTIVE   | STORAGE ENGINE     | libqueue_engine.so | GPL     | 
+---------------------+----------+--------------------+--------------------+---------+
18 rows in set (0.00 sec)

mysql> quit;
5.テストも実行してみる

DBIとかDBD::mysqlはMySQLをインストールした時に、依存関係でインストールされてる。
その他のテストに必要なモジュールもdpkg版があったのでそっちをインストール。
DBI_PASSWORDにはmysqlのrootのパスワードを入れる。

$ sudo aptitude install libdata-compare-perl liblist-moreutils-perl
$ mysqladmin -uroot -p create test
$ DBI_PASSWORD='passowrd' ./run_tests.pl
t/01-base-rnd_pos.........................ok                                 
t/01-base.................................ok                                 
t/02-queue-cond...........................ok                                 
t/02-queue-owned-delete...................ok                                 
t/02-queue................................ok                                 
t/03-queue-error-wait.....................ok                                 
t/03-queue-error..........................ok                                 
t/04-blob-cond............................ok                                 
t/04-blob.................................ok                                 
t/05-multireader..........................

Multireader benchmark result:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            1.647 seconds
    Throughput:         3885.558 mess./sec.

t/05-multireader..........................ok                                 
t/05-multirw..............................ok 1/4                             

Multi-reader-writer benchmark result:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            2.315 seconds
    Throughput:         2764.806 mess./sec.

t/05-multirw..............................ok                                 
t/05-multiwait............................ok 1/4                             

Multi-reader-writer benchmark result under semi-starvation:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            2.694 seconds
    Throughput:         2375.909 mess./sec.

t/05-multiwait............................ok                                 
t/06-multi................................ok                                 
t/07-trans................................ok                                 
t/08-forward..............................ok                                 
t/09-pqueue-single-table-wake-listener....ok                                 
t/09-pqueue-single-table..................ok                                 
t/10-largedata............................skipped
        all skipped: set BIG_TESTS=1 to run theese tests
All tests successful, 1 test skipped.
Files=18, Tests=68921, 183 wallclock secs (77.56 cusr +  7.83 csys = 85.39 CPU)

$ mysqladmin -uroot -p drop test

Ubuntu 9.10 Server に vim をインストール。


デフォルトで入ってるvimはHuge版なので大部分の機能が有効になってるんだけど、rubyのアレとかが有効になってない。

$ vi --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Sep 21 2009 11:22:49)
適用済パッチ: 1-245
Compiled by buildd@rothera.buildd
Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent 
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse -mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save 
      システム vimrc: "$VIM/vimrc"
        ユーザ vimrc: "$HOME/.vimrc"
         ユーザ exrc: "$HOME/.exrc"
       省略時の $VIM: "/usr/share/vim"
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -Wall -g -O2     -I/usr/include/python2.6 -pthread   
リンク: gcc   -Wl,--as-needed -o vim       -lncurses -lselinux  -lacl -lgpm -L/usr/lib/python2.6/config -lpython2.6 -L/usr/lib -lz -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions


で、9.04みたいにvim-full入れようかなと思ったら、vim-fullがない。

$ aptitude search vim
v   gvim                                         -                                                             
p   iceweasel-vimperator                         - Iceweasel extension to make it have vim look and feel.      
p   jvim-canna                                   - Japanized VIM (Canna version)                               
p   jvim-doc                                     - Documentation for jvim (Japanized VIM)                      
i   vim                                          - Vi IMproved - enhanced vi editor                            
p   vim-addon-manager                            - manager of addons for the Vim editor                        
i   vim-common                                   - Vi IMproved - Common files                                  
p   vim-dbg                                      - Vi IMproved - enhanced vi editor (debugging symbols)        
p   vim-doc                                      - Vi IMproved - HTML documentation                            
p   vim-gnome                                    - Vi IMproved - enhanced vi editor - with GNOME2 GUI          
p   vim-gtk                                      - Vi IMproved - enhanced vi editor - with GTK2 GUI            
p   vim-gui-common                               - Vi IMproved - Common GUI files                              
p   vim-latexsuite                               - view, edit and compile LaTeX documents from within Vim      
p   vim-nox                                      - Vi IMproved - enhanced vi editor                            
v   vim-perl                                     -                                                             
v   vim-python                                   -                                                             
p   vim-rails                                    - plugins for vim to allow easier editing of Rails Application
v   vim-ruby                                     -                                                             
i   vim-runtime                                  - Vi IMproved - Runtime files                                 
p   vim-scripts                                  - plugins for vim, adding bells and whistles                  
p   vim-syntax-gtk                               - Syntax files to highlight GTK+ keywords in vim              
v   vim-tcl                                      -                                                             
i   vim-tiny                                     - Vi IMproved - enhanced vi editor - compact version          
p   vim-vimoutliner                              - script for building an outline editor on top of Vim         
p   vimhelp-de                                   - Vi IMproved - Documentation files (German translation)


vim-noxってやつが全部盛りっぽい。

$ aptitude show vim-nox
パッケージ: vim-nox
新規: yes
状態: インストールされていません
バージョン: 2:7.2.245-2ubuntu2
優先度: 特別
セクション: universe/editors
メンテナ: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
展開サイズ: 1,888k
依存: vim-common (= 2:7.2.245-2ubuntu2), vim-runtime (= 2:7.2.245-2ubuntu2), libacl1 (>= 2.2.11-1), libc6 (>= 2.4),
        libgpm2 (>= 1.20.4), libncurses5 (>= 5.6+20071006-3), libperl5.10 (>= 5.10.0), libpython2.6 (>= 2.6),
        libruby1.8 (>= 1.8.7.174), libselinux1 (>= 2.0.85), tcl8.4 (>= 8.4.16)
提案: cscope, vim-doc
提供: editor, vim, vim-perl, vim-python, vim-ruby, vim-tcl
説明: Vi IMproved - enhanced vi editor
 Vim is an almost compatible version of the UNIX editor Vi. 
 
 Many new features have been added: multi level undo, syntax highlighting, command line history, on-line help,
 filename completion, block operations, folding, Unicode support, etc. 
 
 This package contains a version of vim compiled with support for scripting with Perl, Python, Ruby, and Tcl but no
 GUI.
ホームページ: http://www.vim.org/


ということでインストール。

$ sudo aptitude install vim-nox


無事にrubyのアレや、perlのアレも有効になってます。

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Sep 21 2009 11:21:59)
適用済パッチ: 1-245
Compiled by buildd@rothera.buildd
Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent 
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse -mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft +ruby +scrollbind 
+signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white +tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save 
      システム vimrc: "$VIM/vimrc"
        ユーザ vimrc: "$HOME/.vimrc"
         ユーザ exrc: "$HOME/.exrc"
       省略時の $VIM: "/usr/share/vim"
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -Wall -g -O2    -D_REENTRANT -D_GNU_SOURCE -DDEBIAN  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl/5.10/CORE  -I/usr/include/python2.6 -pthread -I/usr/include/tcl8.4  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -I/usr/lib/ruby/1.8/i486-linux 
リンク: gcc   -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic  -Wl,-E  -Wl,--as-needed -o vim       -lncurses -lselinux  -lacl -lgpm -Wl,-E  -L/usr/local/lib  -L/usr/lib/perl/5.10/CORE -lperl -L/usr/lib/python2.6/config -lpython2.6 -L/usr/lib -lz -lutil -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib -ltcl8.4 -lieee -lruby1.8 -lrt -lm


~/.vimrcはこんな感じ。ほとんど何もない。

set tabstop=2
set shiftwidth=2
set expandtab
set autoindent
set nocompatible
set backspace=2
syntax on
filetype on
filetype indent on
filetype plugin on
let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_classes_in_global = 1
let g:rubycomplete_rails = 1

imap <C-o> <C-x><C-o>

"ステータス行を表示
set laststatus=2

"ステータス行の指定
set statusline=%<%f\ %m%r%h%w
set statusline+=%{'['.(&fenc!=''?&fenc:&enc).']['.&fileformat.']'}
set statusline+=%=%l/%L,%c%V%8P

"コメントの自動挿入しない
autocmd FileType * setlocal formatoptions-=ro

"rubyマジックコメント
iab u8 # -*- coding: utf-8 -*-


vim-rubyとかは組み込まれてるので改めてインストールしなくても、syntaxハイライトやオムニ補完は使える。rails.vimは入ってなさげなので必要なら入れる。

Ubuntu 9.10 Server 初期設定メモ


インストール後の諸々の設定。

固定IPへ変更

/etc/network/interfacesを編集。

$ sudo vi /etc/network/interfaces

dhcpからstaticに変更する。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx


続いて/etc/resolve.confも編集

$ sudo vi /etc/resolve.conf

VMwareの場合はネームサーバはGatewayと同じでよし。

nameserver xxx.xxx.xxx.xxx

何はともあれパッケージを更新

Kernelとかもアップデートされるかもしれないので、アップデート後は次の作業に移る前に、一応再起動する。

$ sudo aptitude update
$ sudo aptitude full-upgrade
$ sudo reboot

AppArmorは無効にしときます。

9.10ではデフォルトでAppArmorがKernel組み込みで動いている。セキュリティを考えると止めないほうがいいだろうけど、SELinux同様にプチはまりの元になるので(てか嵌まったので)止める。以前のバージョンはサービスを止めればよかったみたいだけど、組み込みになってるのでKernelの起動オプションを指定して止める。


/etc/default/grubを編集

$ sudo vi /etc/default/grub

GRUB_CMDLINE_LINUXにapparmor=0を追加する。

GRUB_CMDLINE_LINUX="apparmor=0"

編集したらupdate-grubを実行して、/boot/grub/grub.cfgを更新する。

$ sudo update-grub
$ sudo reboot

AppArmorの細かい話は以下のリンクあたりを参照。
https://help.ubuntu.com/community/AppArmor

OpenSSHの設定を公開鍵認証に変更。

ローカルのVMwareで使用するだけならパスワード認証でも良いんだけど、公開鍵認証を習慣づけとくということで。キーペアはクライアント側で作成して公開鍵をサーバ側へ設置するというスタンス。


まずはサーバ側で公開鍵を保存するディレクトリを作成しておく。

$ cd ~/
$ mkdir .ssh
$ chmod 700 .ssh


そしてMac側でキーペアを作成。Windowsは知らん。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yourname/.ssh/id_rsa):  Enter
Enter passphrase (empty for no passphrase):  パスフレーズを入力してEnter
Enter same passphrase again:  もう一度入力してEnter
Your identification has been saved in /Users/yourname/.ssh/id_rsa.
Your public key has been saved in /Users/yourname/.ssh/id_rsa.pub.


公開鍵をサーバへ転送。(これもMac側の作業)

$ cd ~/.ssh
$ scp id_rsa.pub yourname@xxx.xxx.xxx.xxx:.ssh/authorized_keys


転送した公開鍵のパーミッションを変更する。(ここからはサーバ側の作業)

$ cd ~/.ssh
$ chmod 600 authorized_keys


sshd_configでパスワード認証とrootログインを禁止する。

$ sudo vi /etc/ssh/sshd_config

変更するとこだけ抜粋。

PermitRootLogin yes
           ↓               rootログイン禁止
PermitRootLogin no

#PasswordAuthentication yes
           ↓                パスワード認証禁止
PasswordAuthentication no

保存したら、sshdを再起動

$ sudo /etc/init.d/ssh restart


後はMacからsshで接続してみて「Enter your password for the SSH key "id_rsa".」って聞いてきて、ログイン出来ればOK。

Ubuntu 9.10 Server インストールメモ


ダウンロードはここから。
Server | Ubuntu



『日本語』を選択して、Enter。
スクリーンショット(2009-11-08 0.19.47)


Ubuntuサーバーをインストール』でEnter。
スクリーンショット(2009-11-08 0.20.00)


キーボードの選択。今回はMacbookVMwareへインストールなので、『Apple Laptop』を選択。普通に日本語キーボードとかの場合は、『Generic 105-key』とかでいいと思う。多分。
スクリーンショット(2009-11-08 0.21.32)


キーボードの言語選択。『Japan』でEnter。
スクリーンショット(2009-11-08 0.21.45)


キーボードレイアウトの選択。『Japan』でEnter。
スクリーンショット(2009-11-08 0.21.54)


ホスト名の設定。ホスト名を入力して、Enter。
スクリーンショット(2009-11-08 0.23.50)


ディスクのパーティショニング。今回はデフォルトのままで行くので、『ディスク全体を使いLVMをセットアップする』を選択して、Enter。
スクリーンショット(2009-11-08 0.24.27)


ディスクを選んでEnter。
スクリーンショット(2009-11-08 0.24.40)


書き込みの確認。『はい』を選択してEnter。
スクリーンショット(2009-11-08 0.24.52)


ボリュームサイズの指定。とりあえずデフォルトでEnter。
スクリーンショット(2009-11-08 0.24.59)


書き込みの確認。『はい』を選択して、Enter。
スクリーンショット(2009-11-08 0.25.15)


アカウント設定。自分の場合はフルネームの設定はいつもログインアカウントと一緒。
スクリーンショット(2009-11-08 0.27.44)


アカウントを入力してEnter。
スクリーンショット(2009-11-08 0.28.32)


パスワードを入力してEnter。
スクリーンショット(2009-11-08 0.28.43)


パスワードを再入力してEnter。短いパスワードを設定しようとすると「脆弱なパスワード云々〜」って言われる。
スクリーンショット(2009-11-08 0.29.05)


ホームディレクトリを暗号化するかどうか。『いいえ』を選択してEnter。
スクリーンショット(2009-11-08 0.29.25)


プロキシの設定。有れば入れて、無ければそのままEnter。
スクリーンショット(2009-11-08 0.29.34)


アップデートの設定。『自動的にアップデートしない』を選択してEnter。
スクリーンショット(2009-11-08 0.30.09)


インストールするソフトウェアの選択。必要なものは後で個別に入れるので、とりあえず『OpenSSH Server』だけ選んでEnter。後はインストールが完了するまで待つだけ。
スクリーンショット(2009-11-08 0.31.36)


インストールが完了したら再起動。
スクリーンショット(2009-11-08 0.34.10)

Magic Mouseが届いたよ!

昨日受け取れなくて、今日の午前指定で再配達にしてたMagic Mouseが届いたよ!


アップル - Magic Mouse - 世界初、マルチタッチ対応のMagic Mouse登場。


初期設定の手順。

  1. 『システム環境設定』→『Bluetooth』からデバイス設定
  2. 『システム環境設定』→『ソフトウェア・アップデート』を実行して『Wireless Mouse ソフトウェア・アップデート 1.0』をインストールし、再起動。
  3. 『システム環境設定』→『マウス』で設定を微調整


快適ですね!!


何よりもカッコイイ!!


これに尽きる。

Ubuntu 9.10 を早速インストールしてみたよ。

デスクトップ版:Desktop | Ubuntu
サーバ版:Server | Ubuntu


SnowLeopard上のVMwareFusion2.0.6にUbuntu9.10(デスクトップ版)をインストールしてみた。
仮想ディスクのサイズや、メモリ割当はお好みでどうぞ。


1.『日本語』を選択してEnter。
スクリーンショット(2009-10-30 0.37.37)


2.『Ubuntuをインストール』を選択してEnter。
スクリーンショット(2009-10-30 0.37.52)


3.『日本語』を選択して『進む』。
スクリーンショット(2009-10-30 0.39.16)


4.『アジア』の『日本時間』で『進む』。
スクリーンショット(2009-10-30 0.39.45)


5.『既定値』の『Japan』で『進む』。
スクリーンショット(2009-10-30 0.40.36)


6.『ディスク全体を削除してから使用する』で『進む』。パーティションはとりあえずデフォルトのまま。
スクリーンショット(2009-10-30 0.41.10)


7.アカウント、パスワード、ホスト名を入力して『進む』。
スクリーンショット(2009-10-30 0.41.28)


8.『インストール』。
スクリーンショット(2009-10-30 0.42.10)


9.少しだけ待って
スクリーンショット(2009-10-30 0.42.29)


10.再起動したら完了です。
スクリーンショット(2009-10-30 0.53.16)


相変わらずのあっという間ですね。多分ダウンロードが一番時間掛かったですかね。で、日本語Remix版のISOイメージはまだリリースされていないので、日本語Remix版と同じパッケージをインストールしたい場合は、http://www.ubuntulinux.jp/products/JA-Localized:title=を参考に

$ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
$ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
$ sudo wget https://www.ubuntulinux.jp/sources.list.d/karmic.list -O /etc/apt/sources.list.d/ubuntu-ja.list
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install ubuntu-desktop-ja
$ sudo reboot

てな感じでOKじゃないでしょうか。


で、この時点でマウスもシームレスに移動できてるし、解像度もMacbookに合わせて1280x800にちゃんと設定できるし、特に問題ないんだけど、一応vmware-toolsをインストールしてみたら、vmxnetのコンパイルがコケちゃいました。

このあたりはVMwareの対応待ちでも良いんじゃないですかね。でもそうすると、VMwareFusion3を買わないといけないのかな?うむむ。。。


今日は取り急ぎここまで。