[FUG-BR] Como verificar se o pkgng está instalado ou não via script [RESOLVIDO]

Renato Botelho rbgarga em gmail.com
Quarta Março 12 11:33:44 BRT 2014


On Qua, 2014-03-12 at 10:46 -0300, Tiago Ribeiro wrote:
> Em 12/03/2014, à(s) 10:23, Tiago Ribeiro <shasty at gmail.com> escreveu:
> 
> > 
> > Em 11/03/2014, à(s) 15:08, Nilton Jose Rizzo <rizzo at i805.com.br> escreveu:
> > 
> >> Em Tue, 11 Mar 2014 19:33:43 -0300, Tiago Ribeiro escreveu
> >>> Em 11/03/2014, à(s) 17:55, Marcelo Gondim <gondim at bsdinfo.com.br> escreveu:
> >>> 
> >>>> Em 11/03/14 15:47, Tiago Ribeiro escreveu:
> >>>>> Em 11/03/2014, à(s) 14:21, Renato Botelho <rbgarga at gmail.com> escreveu:
> >>>>> 
> >>>> Tiago,
> >>>> 
> >>>> O meu está errado, siga o exemplo do Renato que vai funcionar.  :)
> >>>> 
> >>>> []’
> >>> 
> >>> Godim, o problema é que o mesmo no micro que tem como o que não tem 
> >>> o pkgng eles ficam no mesmo lugar, no /usr/sbin/pkg e não no 
> >>> /usr/local/sbin/pkg com o Renato disse.
> >> 
> >> Fica sim olhe isso aqui
> >> 
> >> # ls /usr/sbin/pkg*
> >> /usr/sbin/pkg
> >> # ls /usr/local/sbin/pkg*
> >> /usr/local/sbin/pkg             /usr/local/sbin/pkg_glob
> >> /usr/local/sbin/pkg-static      /usr/local/sbin/pkg_sort
> >> /usr/local/sbin/pkg2ng          /usr/local/sbin/pkg_which
> >> /usr/local/sbin/pkg_deinstall   /usr/local/sbin/pkgdb
> >> /usr/local/sbin/pkg_fetch       /usr/local/sbin/pkgdu
> >> # uname -a
> >> FreeBSD valfenda 11.0-CURRENT FreeBSD 11.0-CURRENT #15 r262928: Sat Mar  8
> >> 15:45:19 BRT 2014     rizzo at valfenda:/usr/obj/usr/src/sys/VALFENDA  amd64
> >> # 
> >> 
> >> Rizzo
> >> 
> > 
> > 
> > 
> 
> 
> Só pra concluir, ficou assim:
> 
> 
> #!/bin/sh
> 
> nome_host=`uname -n`
> 
> notifica_admin(){
> 	mail -s "Admin - Atencao" email at dominio.com.br < $1
> }
> 
> if [ ! -f /usr/local/sbin/pkg ]; then
> 	echo “$nome_host nao possui pkgng, favor instalar" > /tmp/notifica
> 	notifica_admin /tmp/notifica
> 	rm /tmp/notifica
> fi
> 
> 
> 
> valeu pelo apoio de todos.

Olhei o src do bootstrap e vi que ele respeita uma variável de ambiente
chamada ASSUME_ALWAYS_YES, portanto, se quiser que o pkgng seja
instalado automaticamente nesses servers dá pra ter algo assim:

if [ ! -f /usr/local/sbin/pkg ]; then
	/usr/bin/env ASSUME_ALWAYS_YES=1 /usr/sbin/pkg >/dev/null 2>&1
	if [ $? -eq 0 ]; then
		/usr/local/sbin/pkg2ng
	fi
fi

[]s
-- 
Renato Botelho



Mais detalhes sobre a lista de discussão freebsd