Automating interactive console apps?


#1

I’m trying to deploy Wowza Media Server using Chef, but all of their
packages, including the .deb and .rpm packages, are wrapped in a .bin
self-extracting installer that uses ‘more’ to display a license
agreement and requires me to type ‘yes’ to accept the license before
proceeding. The rest of the install process is completely automatic
and works fine.

I’d like to somehow use chef to interactively hit ‘q’ to escape from
’more’ and then type ‘yes’ at the prompt. Is that possible? Do you
guys have any other alternative solutions?

Brian


#2

NB_INSTALL_CMD = “/bin/sh install < #{File.join(node.netbackup.home_dir,
“response”)}”

I did that with netbackup and deploy a template that has this in it:

2
y
2
"#{node.netbackup.backup_server1}"
"#{node.hostname}"
q

On Fri, Aug 5, 2011 at 3:00 PM, Brian McKelvey brian@worlize.com wrote:

I’m trying to deploy Wowza Media Server using Chef, but all of their
packages, including the .deb and .rpm packages, are wrapped in a .bin
self-extracting installer that uses ‘more’ to display a license
agreement and requires me to type ‘yes’ to accept the license before
proceeding. The rest of the install process is completely automatic
and works fine.

I’d like to somehow use chef to interactively hit ‘q’ to escape from
’more’ and then type ‘yes’ at the prompt. Is that possible? Do you
guys have any other alternative solutions?

Brian


#3

A caveat and a thought

caveat - chef-client typically is setup to run as a daemon, and executes
periodically… you’d want to be careful about installing repeatedly. use
some sort of marker file to detect the presence of an existing installation

Many .bin wrappers are just shell/python/some-script header followed by the
actually binary code. Use your favorite vi edition to see if you can get to
the raw installer (YMMV… not sure about Wowza Media)

a.

On Fri, Aug 5, 2011 at 4:04 PM, Sascha Bates sascha.bates@gmail.com wrote:

NB_INSTALL_CMD = “/bin/sh install < #{File.join(node.netbackup.home_dir,
“response”)}”

I did that with netbackup and deploy a template that has this in it:

2
y
2
"#{node.netbackup.backup_server1}"
"#{node.hostname}"
q

On Fri, Aug 5, 2011 at 3:00 PM, Brian McKelvey brian@worlize.com wrote:

I’m trying to deploy Wowza Media Server using Chef, but all of their
packages, including the .deb and .rpm packages, are wrapped in a .bin
self-extracting installer that uses ‘more’ to display a license
agreement and requires me to type ‘yes’ to accept the license before
proceeding. The rest of the install process is completely automatic
and works fine.

I’d like to somehow use chef to interactively hit ‘q’ to escape from
’more’ and then type ‘yes’ at the prompt. Is that possible? Do you
guys have any other alternative solutions?

Brian


#4

Alright thanks, I’ll give that a shot.

Cheers,
Brian

On Fri, Aug 5, 2011 at 1:04 PM, Sascha Bates sascha.bates@gmail.com wrote:

NB_INSTALL_CMD = “/bin/sh install < #{File.join(node.netbackup.home_dir,
“response”)}”

I did that with netbackup and deploy a template that has this in it:

2
y
2
"#{node.netbackup.backup_server1}"
"#{node.hostname}"
q

On Fri, Aug 5, 2011 at 3:00 PM, Brian McKelvey brian@worlize.com wrote:

I’m trying to deploy Wowza Media Server using Chef, but all of their
packages, including the .deb and .rpm packages, are wrapped in a .bin
self-extracting installer that uses ‘more’ to display a license
agreement and requires me to type ‘yes’ to accept the license before
proceeding. The rest of the install process is completely automatic
and works fine.

I’d like to somehow use chef to interactively hit ‘q’ to escape from
’more’ and then type ‘yes’ at the prompt. Is that possible? Do you
guys have any other alternative solutions?

Brian

Brian McKelvey
C.E.O & Co-Founder
Worlize Inc.
www.worlize.com