2011年6月5日日曜日

Wordpressのウィジェット

こんにちは、モリモルです。

Wordpressのウィジェット

「外観」→「ウェジェット」は使えない。



functions.phpに下記を記載すると有効になる。


register_sidebar(array(
'name'=>'SidebarA', //<-----識別する名前
'before_widget'=>'<div class="%1$s">', //<---ウィジェットを囲むタグ
'after_widget'=>'</div>',
'before_title'=>'<h3>', //<---タイトルを囲むタグ
'after_title'=>'</h3>'
));

register_sidebar(array(
'name'=>'SidebarB',
'before_widget'=>'<div class="%1$s">',
'after_widget'=>'</div>',
'before_title'=>'<h3>',
'after_title'=>'</h3>'
));




有効化されました。



表示するには下記を記載

index.php


dynamic_sidebar('SidebarA');
dynamic_sidebar('SidebarB'); //<----引数は識別する名前




下記のように展開される。


<div class="archives-4">
<h3>アーカイブ</h3>
<ul>
<li><a href='http://wp.morimoru.com/archives/date/2011/02'>2011年2月</a></li>
</ul>
</div>


<div class="categories-6"><h3>カテゴリ</h3><ul>
<li class="cat-item cat-item-13"><a href="http://wp.morimoru.com/archives/category/apache">apache</a></li>
</ul>
</div>

Wordpressのカスタムメニュー

こんにちは、モリモルです。



カスタムメニューは、function.phpに

register_nav_menus(array(
'header_navi' => 'ヘッダーナビ',
'fooer_navi' => 'フッターナビ'
));


て記述すると
管理画面の「外観」に「メニュー」が追加される。


表示するには


wp_nav_menu(array(
'theme_location' => 'header_navi', //<------ register_nav_menusで登録した名前
//'theme_location' => 'footer_navi'
'container' => 'div', //<------ divタグか、navタグ
'container_id' => 'navi', //<------ divタグのid
'container_class' => 'navi', //<------ divタグのclass
'menu_id' => 'navi_ul', //<------ ulのid
'menu_class' => 'navi_ul' //<------ ulのclass
));



下記みたいに出力される。



<div id="navi" class="navi">
<ul id="navi_ul" class="navi_ul">
<li id="menu-item-87" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-87"><a href="http://wp.morimoru.com/?cat=4">Ruby</a></li>


</ul>
</div>

2011年6月4日土曜日

Wordpressの移動メモ

こんにちは、モリモルです。

Woprdpressの移動メモ

■既存WordpressのDBをダンプ
$ mysqldump -u wp -pパスワード wp > wp.dmp;

■新しいDBを作成
create_db.sql
-------------------------
-- DB作成
create database wordpress default character set utf8 collate utf8_general_ci;

-- ユーザー作成
grant all on wordpress.* to 'wordpress'@'%' identified by 'パスワード';
grant all on wordpress.* to 'wordpress'@'localhost' identified by 'パスワード';


■DBを展開
$ mysql -u wordpress -pパスワード wordpress < wp.dmp



■ディレクトリを作成
$ sudo mkdir /home/wp.morimoru.com
$ sudo mkdir /home/wp.morimoru.com/logs
$ sudo mkdir /home/wp.morimoru.com/public


■Apacheの設定
$ sudo cd /etc/httpd/cond.d/

wp.morimoru.com.conf
------------------------------
<VirtualHost *:80>
ServerAdmin hmorihara@morimoru.com
DocumentRoot /home/wp.morimoru.com/public
ServerName wp.morimoru.com
ErrorLog /home/wp.morimoru.com/logs/error.log
CustomLog /home/wp.morimoru.com/logs/access.log common

<Directory /home/wp.morimoru.com>
AllowOverride FileInfo
</Directory>

</VirtualHost>

------------------------------

$ sudo /etc/rc.d/init.d/httpd restart


■worpdressをインスコ

以前のデータはドキュメントルートに展開をしていたので
まずはドキュメントルートに展開する。

$ sudo wget http://ja.wordpress.org/wordpress-3.1.3-ja.tar.gz
$ sudo tar xvfz wordpress-3.1.3-ja.tar.gz
$ sudo cd wordpress
$ sudo mv * /home/wp.morimoru.com/public/
$ sudo chown -R apache:apache wp.morimoru.com

■wp-config.phpを編集
$ sudo cd /home/wp.morimoru.com/public/
$ sudo -u apache cp wp-config-sample.php wp-config.php
$ sudo -u apache vim wp-config.php

・・・・編集・・・

■アクセス
http://wp.morimoru.com/
真っ白・・

http://wp.morimoru.com/wp-login.php
アクセスすると下記画面が出る。



トップが真っ白なのは、テーマがないからみたい。

デフォルトデーマ(Twenty Ten)にすると正常に表示される。


---------------------------------------------------------------------

■Wordpressフォルダを移動










sudo -u apache mkdir wp

wpフォルダにすべて移動

index.php
.htaccess
の2ファイルをドキュメントルートに移動

require('./wp-blog-header.php');

require('./wp/wp-blog-header.php');





Twnty tenのstyle.cssが何故か読み込めない。





削除して、再度インストールしなおすと正常に表示されました。

2011年5月28日土曜日

PHPの文字化けとphp.iniとhtaccessとCGI版とか

こんにちは、モリモルです。

PHPですでに動いているサイトを
別サーバーに移行したときに、文字化けで困った対応メモ。

■問題点
フォームに入力した文字が確認画面で文字化けする。

■解決方法

http://www.beny.to/2008/05/mbstringencoding-translationon.html

おお、これだ!
「mbstring.encoding_translation」は「Off」にすればいいのね。

「mbstring.encoding_translation」は
ini_set()で変更できないのか、php.iniかhtaccessでやるのか。


htaccessだと、
「mbstring.encoding_translation Off」て書くのね。

あれれ、、htaccessで「Internal Server Error」が。。

CGI版PHPを利用する場合、.htaccessにて"php_value"、"php_flag"を利用して PHPの各種設定ができないんだ。

phpinfo();でみると、「Server API」項目が「CGI」じゃん。
ああ、このレンタルサーバーはCGI版なのですね。

お、CGI版だと、php.iniを設置できるのか。


「mbstring.encoding_translation 0」と書いたphp.iniを置いたら文字化けが解消されました。


試してないけど、htaccessで、php.iniの場所を指定できるみたい。
--------------------------------------------------------------
suPHP_ConfigPath /usr/home/morimoru/html/


以上、メモだからいいや。

2011年2月5日土曜日

vim文字コード

こんにちは、モリモルです。

いろいろな記事を見ても????な感じで、
いまいち理解できなかったvimの文字コード変換ですが、
下記ブログの記事がとてもわかりやすくまとめてありました。

http://peace-pipe.blogspot.com/2006/04/mac-6-vim-mac.html

.vimrcで、
set encoding=utf-8
set fileencodings=euc-jp,cp932

とした場合、
対象ファイルがcp932の場合、
euc-jp -> utf-8
cp932 -> utf-8と
変換を試していき、
成功したところでfencにcp932を設定してくれる。

「基本的に ‘fencs’ の中に ‘enc’ と同じ文字コードを書くのは無意味なばかりか,
‘fencs’ の途中で ‘enc’ と同じものが登場すると以降の変換試行が行われない.」
とのこと。すごーく理解できました。

サクラにvimとbash

こんにちは、モリモルです。

メモです。

■シェルをbashに変更

chsh -s /usr/local/bin/bash

bashの設定ファイルを作成

.profile
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi

.bashrc
umask 022
export LSCOLORS=bxfxcxdxbxegedabagacad
alias ls=’/bin/ls -FG’

「LSCOLORS」と「ls=’/bin/ls -FG’」でlsをカラフルに。

■vimをいれる。

mkdir -p $HOME/local/src/vim
cd $HOME/local/src/vim
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz

mkdir patches
cd patches
curl -O “ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.[001-245]”

cd ..
tar jxf vim-7.2.tar.bz2
tar zxfv vim-7.2-extra.tar.gz
tar zxfv vim-7.2-lang.tar.gz

cd vim72
cat ../patches/7.2.* | patch -p0

./configure \
–enable-multibyte \
–enable-xim \
–enable-fontset \
–with-features=big \
–prefix=$HOME/local

make
make install

参考URL:
http://www.hazama.nu/t2o2/archives/002697.shtml
http://www.hazama.nu/t2o2/archives/002696.shtml
http://www.big.or.jp/~crane/cocoa/0800_internet/curl/
http://d.hatena.ne.jp/morningmist7/20080901/1220244621
http://www.chrysolite.jp/2009/04/14/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABvim%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

2010年10月5日火曜日

ttmapをオープンしました。

こんにちは、モリモルです。

Twitterアカウントで地図上にツイートできる
ttmapとうサイトをオープンしました。

http://tt.morimoru.com/

2010年7月12日月曜日

モリモマップ

こんにちは、モリモルです。

モリモマップというサイトをオープンしました。

2009年7月31日金曜日

GoogleMapsAPIでマーカーとマップにイベントを入れる場合に悩んだメモ

こんにちは、モリモルです。

GoogleMapsAPIで、マーカーとマップのそれぞれにイベントを入れたい場合に悩んだメモです。

GEvent.addListener(map,'click',function(){/*マップがクリックされたら*/});
GEvent.addListener(marker,'click',function(){/*マーカーがクリックされたら*/});

みたいで良いのかと思ってたら、マーカーをクリックした時に、マップのアクションまで実行されて悩んでたら、以下のようにすればいいんですね。。


GEvent.addListener(map, 'click', function(overlay,latlng){
if(overlay){
/*マーカーがクリックされた場合*/
}else{
/*マーカーじゃない場合*/
}

});

2009年7月28日火曜日

マルチバイト文字の設定

こんにちは、モリモルです。

マルチバイト文字関数の設定をphp.iniではなく、アプリ実行時にやっているのですが、よくよく忘れる設定のメモ。

mb_internal_encoding   →  mb_strlen とか
mb_regex_encoding    →  mb_ereg とか
mb_detect_order   → mb_detect_encoding

2009年7月14日火曜日

mod_rewriteムズカシ

こんにちは、モリモルです。

mod_rewriteで、アクセス対象ファイルがある場合はルールを摘要しないみたいなのは、以下のようなるのですが、それがVirtualHostディレクティブでうまく動作しなかった際のメモ。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]


以下のようにしたらうまくいきました。

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1 [L]
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]


mod_rewriteが複雑で理解できてません。。
上記も間違っててるかも。。とりあえず動いたのでよしとします。うん。

2009年6月26日金曜日

__autoloadとPEAR Pagerでコケる

こんにちは、モリモルです。

smarty->cakePHP1.1->ruby->rails->cakePHP1.2->smartyという流れでsmartyに戻りました。

さて、ページ送りをつけるのに、cakeではPaginationなる便利なものがあるのですが、
フレームワークが使えないので、PEAR Pagerを利用してます。

アプリ全体で、__autoloadを利用していると、Pager::factoryで「Pager_Sliding.phpが見つからないよ!」とエラーになります。
Pager.phpのclass_existsの第二引数にfalseを入れて、__autoloadを抑制するとうまくいくようです。


if (!class_exists($classname, false)) {
include_once $classfile;
}

2009年3月18日水曜日

WEBrick/Windowsでのエラーについて

こんにちは、モリモルです。


windowsでwebrickを動かす際に、「cgi_runner.rb:47:in `exec':Exec format error」が出る際のメモ。
こちらを参考にしたら動きました。

:CGIInterpreterを追加すると解消されました。


server = HTTPServer.new(
:Port => "8088",
:BindAddress => "localhost",
:DocumentRoot => DOCROOT,
:CGIInterpreter => %("C:/Ruby/bin/ruby.exe")
)

2009年3月6日金曜日

Debian/syslog

こんにちは、モリモルです。syslog(ロギングデーモン)のメモです。

サーバープログラムには、ログの出力に「syslogを利用するもの」「使用しないもの」の2種類がある。
Apacheはsyslogを利用しない。



/sbin/syslogd
syslogデーモン

/etc/init.d/sysklogd
起動スクリプト

/var/run/syslogd.pid
pidファイル

/etc/syslog.conf
設定ファイル



設定ファイルの書式

[ファシリティ].[プライオリティ] [アクション]

ファシリティ
auth、authpriv、cron、daemon、kern、mail、syslog、local0 ~ local7など
デーモンがどのファシリティを使うかは、ソフト開発者が指定

プライオリティ
ログの重要度を示す
低 <-- debug、info、、notice、warning、err、crit、alert、emerg --> 高
ソフト開発者が指定

アクション
「ファシリティ」「プライオリティ」で分類されたログをどのように処理するかを指定
・ファイル出力
・コンソール出力
・パイプでプログラムへ渡す
・ユーザーに通知 など


ファシリティ・プライオリティの指定例


mail,ftp.warn
ファシリティ「mail」と「ftp」の「warn」以上を処理

mail.err
ファシリティ「mail」の「err」以上を処理

mail.*;mail.!warn
ファシリティ「mail」の「warn」以下を処理

「*」----全てのプライオリティ

kern.=warn
ファシリティ「kern」の「warn」のみを処理

.;daemon.none
ファシリティ「daemon」以外の全てを処理


アクションの指定例


/var/log/sample.log
ファイルへ出力

| /usr/bin/***.sh
パイプで他のプログラムへ渡す

/dev/console
ローカルコンソールへ出力

@remotehost
リモートホストのsyslogdへ送信

root,morimoru
rootとmorimoruのターミナルへ出力

*
全てのオンラインユーザーのターミナルへ出力



syslogdの設定を変えたら再起動
$sudo /etc/init.d/sysklogd restart

2009年2月28日土曜日

Debian/cronのメモ

こんにちは、モリモルです。

cron(クローン)のメモです。

/etc/init.d/cron
cronのrcスクリプト

/var/log/cron.log
cronのログファイル


ユーザーのcron設定

/var/spool/cron/crontabs/(ユーザー名)
各ユーザーのcronファイル

crontab [-u (ユーザー名)] {-l | -r | -e}

-e:編集、-r:削除、-l:表示

-eで起動するエディタは環境変数EDITOR or alternativeのeditor

書式
分 時 日 月 曜日 コマンド

[分の場合]
*/3 ----- 3分ごとに
0,1,10,45 ----- 0分、10分、45分
0,20-30,50 ----- 0分、20~30分、50分

[曜日の場合]
1-5 ----- 月~金

環境変数の設定
必要な場合は記述できる。

PATH=/usr/local/bin:/usr/bin
# m h dom mon dow command



rootのcron設定

/etc/crontab

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

test -x /usr/sbin/anacron....run-parts....
anacronがなければ、
run-partsコマンドで/etc/cron.*ディレクトリにある実行ファイルを全て実行する。

/etc/cron.dディレクトリ
細かい設定が必要な場合は、/etc/crontabと同じ書式でファイルを置いておく。

Debian/ユーザー管理

こんにちは、モリモルです。

ユーザー管理のメモです。


グループ

addgroup [--gid 1000] (新規グループ名)
グループIDは1000~29999の間で。

/etc/group
[グループ名]:x:[グループID]:[所属ユーザー]
パスワードはshadowなんでx
所属ユーザーは、デフォルトグループではなく、追加グループとして登録されたユーザー名。

グループにユーザーを追加
usermod [-g (デフォルトグループ)] [-G (追加グループ)] (ユーザ名)
adduser (ユーザー名) (グループ名)

グループの削除
groupdel (グループ名)
デフォルトグループに所属ユーザーがいる場合は削除できない


ユーザー

ユーザー追加
adduser [--uid 1000] [--gid 1000] [--disabled-password] (新規ユーザー名)

--disabled-password
パスワードをロック、プロンプトからログインできない。rootからはログイン可

/etc/skel
新規ユーザーを作成時に/home/ユーザー名でコピーされる

/etc/passwd
(ユーザー名):(ユーザーID):(所属グループID):,,,:(ホームディレクトリ):(シェルのパス)
morimoru:x:1000:1002:morimoru,,,:/home/morimoru:/bin/bash

/etc/shadow
(ユーザー名):(暗号化パスワード):(パスワードの有効期限とか、、)

ユーザー情報の変更
usermod [-d (ホームディレクトリ)] [-L] [-U] (ユーザー名)
-L:パスワードをロック
-U:パスワードをアンロック

ユーザーの削除
userdel [-r] (ユーザー名)
-r:ホームディレクトリも削除

2009年2月21日土曜日

Debian/init、ランレベルとか

こんにちは、モリモルです。

Debianのinitとか、ランレベルのメモです。

ランレベルの変更
telinit [-t 秒数] 【ランレベル】

/etc/iniitabを読み込み
telinit q
kill -HUP 1
initのプロセスIDが1。

以下、起動からの流れ

1--起動

2--init(/sbin/init)

3--/etc/inittabを読み込み

/etc/inittab

id:2:initdefault: <---ランレベルの指定
si::sysinit:/etc/init.d/rcS <---rcSスクリプトを実行

ランレベル
0:停止/1:シングルユーザー/2-5:マルチユーザー/6:再起動


4--rcSを実行、/etc/rcS.d/内のファイルを実行
これらスクリプトは、ハードウェアなどの基本的な設定を行う。

【S or K】【数値】【スクリプト名】
S:起動/K:停止、数値は実行する順番。

各ファイルは/etc/init.d/にある各rcスクリプトへのシンボリックリンクになっている。
/etc/rcS.d/

lrwxrwxrwx 1 root root 18 2009-02-02 22:54 S01glibc.sh -> ../init.d/glibc.sh
lrwxrwxrwx 1 root root 21 2009-02-02 22:55 S02hostname.sh -> ../init.d/hostname.sh



5--指定ランレベルのスクリプトを実行
/etc/rc*.dにあるスクリプトを実行。
rcS.dと同じで、/etc/init.d/にある各rcスクリプトへのシンボリックリンク。
K(停止)→ S(起動)の順で実行。

2009年2月14日土曜日

sudo

こんにちは、モリモルです。

sudoのメモです。

設定ファイル
/etc/sudoers

visudo
visudoコマンドで編集するエディタは、環境変数 EDITORに指定する。
export EDITOR=vim

この環境変数がないと、altervertiveのeditorが使われる。

debian:~# update-alternatives --display editor
editor - status is auto.
link currently points to /bin/nano


【ユーザー名】 【ホスト】=(【代行するユーザ】) 【実行できるコマンド】
morimoru ALL=(ALL) ALL
ユーザーmorimoruは、全てのホストから、全てのユーザーを代行して、全てのコマンドを実行できる。

%【グループ名】 【ホスト】=(【代行するユーザ】) 【実行できるコマンド】
%wheel ALL=(ALL) ALL
wheelグループのユーザーは、全てのホストから、全てのユーザーを代行して、全てのコマンドを実行できる。

(【代行するユーザー】)を省略すると、rootということになります。



Aliasを作っていろいろとまとめる

ローカルネットワークのエイリアス
Host_Alias LOCAL = 192.168.91.0/24

ユーザーをまとめたエイリアス
User_Alias DEV = morimoru, takaki

コマンドをまとめたエイリアス
Cmnd_Alias IFCONFIG = /sbin/ifconfig
Cmnd_Alias REMOVE = /bin/rm, /usr/bin/unlink, /bin/rmdir, /sbin/newfs
Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/poweroff


DEV LOCAL=(ALL) ALL, !IFCONFIG, !REMOVE, !SHUTDOWN

ユーザー(morimoruとtakaki)は、ローカルアドレスのホストからののみ、全てのユーザーとして、
コマンドエリアス(IFCONFIG/REMOVE/SHUTDOWN)意外のコマンドを全て実行できる。

morimoru@debian:~$ sudo -u root ifconfig
Sorry, user morimoru is not allowed to execute '/sbin/ifconfig' as root on debian.localdomain.



sudoのログ
sudoしたログは、/var/log/auth.logに記録されます。

morimoru@debian:~$ sudo tail -2 /var/log/auth.log
Feb 18 18:15:02 debian sudo: morimoru : TTY=pts/0 ; PWD=/home/morimoru ; USER=root ; COMMAND=/usr/bin/tail -2 /var/log/auth.log
Feb 18 18:15:14 debian sudo: morimoru : command not allowed ; TTY=pts/0 ; PWD=/home/morimoru ; USER=root ; COMMAND=/sbin/ifconfig

2009年2月9日月曜日

APT/インストール

こんにちは、モリモルです。

APT関連のメモが続きます。
APTでパッケージのインストールする場合です。

apt-get [-s] install パッケージ名/Debianバージョン

-sオプションを付けると、実際にはインストールせずに、インストール時にどうなるかを確認できます。


debian:~# apt-get -s install rails
(省略)
The following extra packages will be installed:
irb1.8 liberb-ruby libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 libredcloth-ruby1.8 rake rdoc rdoc1.8 ruby
Suggested packages: <---- 入れたほうがよいパッケージ
libapache2-mod-ruby libapache-mod-ruby libapache2-mod-fcgid libfcgi-ruby1.8
Recommended packages: <---- 入れると便利なパッケージ
irb
The following NEW packages will be installed: <---- 依存パッケージ(APTが自動でインスコ
irb1.8 liberb-ruby libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 libredcloth-ruby1.8 rails rake rdoc rdoc1.8 ruby
0 upgraded, 11 newly installed, 0 to remove and 3 not upgraded.
Inst libreadline-ruby1.8 (1.8.5-4etch4 Debian-Security:4.0/stable)
(省略)
Conf libreadline-ruby1.8 (1.8.5-4etch4 Debian-Security:4.0/stable)
(省略)

Inst ----- パッケージの展開
Conf ----- パッケージの設定
Rmv ----- パッケージの削除


パッケージのDLが途中で終了した場合
再度、「apt-get install パッケージ名」でダウンロードを再開してくれるみたいです。


debian:~# apt-get install rails
Reading package lists... Done
(省略)
Do you want to continue [Y/n]? y
Get:1 http://security.debian.org etch/updates/main libreadline-ruby1.8 1.8.5-4etch4 [197kB]
(省略)
10% [4 irb1.8 65813/236kB 27%] [3 libpq4 38728/290kB 13%]
【DLを中断】


debian:~# ls -l /var/cache/apt/archives/
total 208
-rw-r--r-- 1 root root 3530 Jan 12 2005 liberb-ruby_2.0.4+ruby1.8.2-1_all.deb
-rw-r--r-- 1 root root 197442 Dec 6 22:00 libreadline-ruby1.8_1.8.5-4etch4_i386.deb
【途中までダウンロード済み】


debian:~# apt-get install rails <-----再度インストール
debian:~# ls -l /var/cache/apt/archives/
-rw-r--r-- 1 root root 235540 Dec 6 20:55 irb1.8_1.8.5-4etch4_all.deb
-rw-r--r-- 1 root root 3530 Jan 12 2005 liberb-ruby_2.0.4+ruby1.8.2-1_all.deb
(残りのパッケージもDL)
-rw-r--r-- 1 root root 39354 Oct 17 2006 libpgsql-ruby1.8_0.7.1-10_i386.deb
(省略)
-rw-r--r-- 1 root root 18980 Jan 12 2005 ruby_1.8.2-1_all.deb


パッケージの展開 or 設定に失敗した場合
パッケージの展開で失敗した場合、パッケージの状態がUになります。
設定で失敗した場合は、Cになります。

debian:~# dpkg --list | grep iU
iU irb1.8 1.8.5-4etch4 Interactive Ruby (for Ruby 1.8)
iU liberb-ruby 2.0.4+ruby1.8.2-1 Tiny eRuby
(省略)


dpkg --configure --pending
設定をし直します。

debian:~# dpkg --configure --pending
Setting up libpq4 (8.1.15-0etch1) ...

Setting up liberb-ruby (2.0.4+ruby1.8.2-1) ...
(省略)


debian:~# dpkg --list | grep ruby
ii irb1.8 1.8.5-4etch4 Interactive Ruby (for Ruby 1.8)
ii liberb-ruby 2.0.4+ruby1.8.2-1 Tiny eRuby
(省略)


編集中

APT/依存性の確認

こんにちは、モリモルです。

まだまだ、APT関連のメモが続きます。

パッケージの依存性を確認するには、
apt-cache depends パッケージ名


debian:~# apt-cache depends rails
rails
Depends: ruby <------railsが依存してるパッケージ
(省略)
|Suggests: libapache2-mod-ruby <-----一緒に入れると便利なパッケージ
(省略)
Recommends: irb <---------入れないと機能の一部に支障があるかも。。
(省略)
Conflicts: <-----競合パッケージ(おそらくAPTが削除してくれる)

「Suggests」「Recommends」はAPTが自動的にインストールしてくれないようです。



逆に指定したパッケージに依存している、パッケージを調べるには、
apt-cache showpkg パッケージ名


debian:~# apt-cache showpkg rails
Package: rails
Versions:
(省略)
Reverse Depends:
mongrel,rails <------railsを必要とするパッケージ
(省略)
Dependencies:
(省略)
Reverse Provides:
(省略)