[Capistrano] Re: you must have a tty to run sudo

2008-06-30 Thread miss.magenta

For a more global fix that will resolve this for any other application
you may have that is attempting to execute sudo remotely, edit your
sudoers file on the remote machine(s) via visudo.  Search for
'Defaultsrequiretty' and comment it out.

On Jun 27, 1:56 pm, Jamis Buck [EMAIL PROTECTED] wrote:
 Incidentally, if you want to run without a pty in general (which is  
 handy, because then your .bashrc will be loaded for each command), you  
 can specify :pty = true on specific commands to force those to use a  
 pty:

    sudo foo, :pty = true

 - Jamis

 On Jun 27, 2008, at 2:42 PM, Jamie Orchard-Hays wrote:



  Thanks, Jamis!

  Jamie

  On Jun 27, 2008, at 4:32 PM, Jamis Buck wrote:

  You need to tell cap to create a pty for each process:

   default_run_options[:pty] = true

  Annoying, but some commands that have interactive components (like
  sudo) won't run if they aren't run with a tty.

  - Jamis

  On Jun 27, 2008, at 2:20 PM, Jamie Orchard-Hays wrote:

  I'm getting this error when I try to use sudo to copy a file from a
  tmp dir to init.d. I'm using Cap 2.4.1 *without* Cap's deploy file,
  as
  this is a non-rails deployment. Here's the error:

  * executing sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /
  etc/init.d/xtfd
    servers: [myserver.com]
    [myserver.com] executing command
  *** [err :: myserver.com] sudo:
  *** [err :: myserver.com] sorry, you must have a tty to run sudo
  *** [err :: myserver.com]
    command finished
  command sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /etc/
  init.d/xtfd failed on myserver.com

  Here's my task:

  set :user, deploy
  # etc...

  namespace :xtf do

  desc Setup the XTF server, including the init.d/xtfd script
  task :setup, :roles = :xtf do
    file = File.join(File.dirname(__FILE__), templates, xtfd)
    template = File.read(file)
    buffer = ERB.new(template).result(binding)

    run(mkdir -p #{xtf_tmp})

    put buffer, #{xtf_tmp}/xtfd, :mode = 0766
    sudo(cp #{xtf_tmp}/xtfd #{xtfd})
    sudo(rm -f #{xtf_tmp}/xtfd)
    sudo(chmod 755 #{xtfd})
    sudo(#{chkconfig} xtfd on)
  end
  end

  Thanks,

  Jamie


--~--~-~--~~~---~--~~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~--~~~~--~~--~--~---



[Capistrano] Re: you must have a tty to run sudo

2008-06-27 Thread Jamis Buck

You need to tell cap to create a pty for each process:

   default_run_options[:pty] = true

Annoying, but some commands that have interactive components (like  
sudo) won't run if they aren't run with a tty.

- Jamis

On Jun 27, 2008, at 2:20 PM, Jamie Orchard-Hays wrote:



 I'm getting this error when I try to use sudo to copy a file from a
 tmp dir to init.d. I'm using Cap 2.4.1 *without* Cap's deploy file, as
 this is a non-rails deployment. Here's the error:

   * executing sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /
 etc/init.d/xtfd
 servers: [myserver.com]
 [myserver.com] executing command
 *** [err :: myserver.com] sudo:
 *** [err :: myserver.com] sorry, you must have a tty to run sudo
 *** [err :: myserver.com]
 command finished
 command sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /etc/
 init.d/xtfd failed on myserver.com

 Here's my task:


 set :user, deploy
 # etc...

 namespace :xtf do

   desc Setup the XTF server, including the init.d/xtfd script
   task :setup, :roles = :xtf do
 file = File.join(File.dirname(__FILE__), templates, xtfd)
 template = File.read(file)
 buffer = ERB.new(template).result(binding)

 run(mkdir -p #{xtf_tmp})

 put buffer, #{xtf_tmp}/xtfd, :mode = 0766
 sudo(cp #{xtf_tmp}/xtfd #{xtfd})
 sudo(rm -f #{xtf_tmp}/xtfd)
 sudo(chmod 755 #{xtfd})
 sudo(#{chkconfig} xtfd on)
   end
 end

 Thanks,

 Jamie

 


--~--~-~--~~~---~--~~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~--~~~~--~~--~--~---



[Capistrano] Re: you must have a tty to run sudo

2008-06-27 Thread Jamie Orchard-Hays


Thanks, Jamis!

Jamie

On Jun 27, 2008, at 4:32 PM, Jamis Buck wrote:



 You need to tell cap to create a pty for each process:

   default_run_options[:pty] = true

 Annoying, but some commands that have interactive components (like
 sudo) won't run if they aren't run with a tty.

 - Jamis

 On Jun 27, 2008, at 2:20 PM, Jamie Orchard-Hays wrote:



 I'm getting this error when I try to use sudo to copy a file from a
 tmp dir to init.d. I'm using Cap 2.4.1 *without* Cap's deploy file,  
 as
 this is a non-rails deployment. Here's the error:

  * executing sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /
 etc/init.d/xtfd
servers: [myserver.com]
[myserver.com] executing command
 *** [err :: myserver.com] sudo:
 *** [err :: myserver.com] sorry, you must have a tty to run sudo
 *** [err :: myserver.com]
command finished
 command sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /etc/
 init.d/xtfd failed on myserver.com

 Here's my task:


 set :user, deploy
 # etc...

 namespace :xtf do

  desc Setup the XTF server, including the init.d/xtfd script
  task :setup, :roles = :xtf do
file = File.join(File.dirname(__FILE__), templates, xtfd)
template = File.read(file)
buffer = ERB.new(template).result(binding)

run(mkdir -p #{xtf_tmp})

put buffer, #{xtf_tmp}/xtfd, :mode = 0766
sudo(cp #{xtf_tmp}/xtfd #{xtfd})
sudo(rm -f #{xtf_tmp}/xtfd)
sudo(chmod 755 #{xtfd})
sudo(#{chkconfig} xtfd on)
  end
 end

 Thanks,

 Jamie




 




--~--~-~--~~~---~--~~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~--~~~~--~~--~--~---



[Capistrano] Re: you must have a tty to run sudo

2008-06-27 Thread Jamis Buck

Incidentally, if you want to run without a pty in general (which is  
handy, because then your .bashrc will be loaded for each command), you  
can specify :pty = true on specific commands to force those to use a  
pty:

   sudo foo, :pty = true

- Jamis

On Jun 27, 2008, at 2:42 PM, Jamie Orchard-Hays wrote:



 Thanks, Jamis!

 Jamie

 On Jun 27, 2008, at 4:32 PM, Jamis Buck wrote:



 You need to tell cap to create a pty for each process:

  default_run_options[:pty] = true

 Annoying, but some commands that have interactive components (like
 sudo) won't run if they aren't run with a tty.

 - Jamis

 On Jun 27, 2008, at 2:20 PM, Jamie Orchard-Hays wrote:



 I'm getting this error when I try to use sudo to copy a file from a
 tmp dir to init.d. I'm using Cap 2.4.1 *without* Cap's deploy file,
 as
 this is a non-rails deployment. Here's the error:

 * executing sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /
 etc/init.d/xtfd
   servers: [myserver.com]
   [myserver.com] executing command
 *** [err :: myserver.com] sudo:
 *** [err :: myserver.com] sorry, you must have a tty to run sudo
 *** [err :: myserver.com]
   command finished
 command sudo -p 'sudo password: ' cp /var/www/apps/tmp/xtfd /etc/
 init.d/xtfd failed on myserver.com

 Here's my task:


 set :user, deploy
 # etc...

 namespace :xtf do

 desc Setup the XTF server, including the init.d/xtfd script
 task :setup, :roles = :xtf do
   file = File.join(File.dirname(__FILE__), templates, xtfd)
   template = File.read(file)
   buffer = ERB.new(template).result(binding)

   run(mkdir -p #{xtf_tmp})

   put buffer, #{xtf_tmp}/xtfd, :mode = 0766
   sudo(cp #{xtf_tmp}/xtfd #{xtfd})
   sudo(rm -f #{xtf_tmp}/xtfd)
   sudo(chmod 755 #{xtfd})
   sudo(#{chkconfig} xtfd on)
 end
 end

 Thanks,

 Jamie









 


--~--~-~--~~~---~--~~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~--~~~~--~~--~--~---