Net::SSH で sudo
できたっぽい。
Net::SSH.start( host, port, user, pass ) do |session| sh = session.shell.sync print sh.sudo( "-S yum update", pass ).stdout sh.exit end
Capistrano だと非同期でやってるぽい。
で、複数の処理をさせる場合、
sudo su
してからでもいいかもしれないけど、
sh.su do sh.yum( "update" ) sh.shutdown( "-r now" ) end
とか書けるようにがんばるとみんな幸せになれるかも。