Koozali.org: home of the SME Server

Oh my God - Ripristinare una template [risolto]

Oh my God - Ripristinare una template [risolto]
« on: January 11, 2008, 12:34:42 PM »
Salve a tutti.
Premetto che l'esperienza con SME mi dice che quando non si trova una soluzione al proprio problema, significa che non lo si è capito appieno. Giusto per mettere le mani avanti eh...

Ora, mi ritrovo con il seguente vergognoso dilemma: a causa della mia malsana abitudine di editare file di configurazione con vim e dell'uso indiscriminato di :wq "senza controllare prima", ho combinato un pasticcio, e cioé ho espanso un file di template-custom (per la precisione /etc/profile) che conteneva un'unica riga di codice (un miserrimo tentativo di modificare il prompt: export PS1='\w >') e ovviamente ora il mio file /etc/profile consiste di questa unica riga, con grande sdegno del mio server SME 7.3
Ora, in 4 anni di uso di SME, non mi era mai capitato di dover annullare gli effetti di una expand-template, quindi non ho idea di come fare a riottenere il file /etc/profile originale (cioè quello che inizia con "pathmunge qualcosa" per intenderci)
Spulciando il forum, per la precisione qui: http://forums.contribs.org/index.php?topic=28338.0, ho trovato la più semplice delle soluzioni, che ovviamente nel mio caso non funziona.

Any hints?



« Last Edit: January 11, 2008, 07:24:58 PM by Lord Quicksilver »

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Oh my God - Ripristinare una template
« Reply #1 on: January 11, 2008, 12:48:42 PM »
Any hints?

se, come dici, hai modificato un frammento in /etc/e-smith/templates-custom allora è semplice:

- cd directory dove c'è il frammento
- mv frammento /root (così lo puoi modificare ecc)
- expand-template nomefile

HTH

Stefano

Re: Oh my God - Ripristinare una template
« Reply #2 on: January 11, 2008, 12:55:24 PM »
Sì, è la stessa soluzione che avevo provato io.

cd /etc/e-smith/templates-custom/
mv etc/profile /root/          #questo è il frammento di una sola riga
/sbin/e-smith/expand-template profile

Il risultato è questo errore:

ERROR: No templates were found for profile.
 at /sbin/e-smith/expand-template line 45

Boh?

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Oh my God - Ripristinare una template
« Reply #3 on: January 11, 2008, 12:57:29 PM »
Sì, è la stessa soluzione che avevo provato io.

cd /etc/e-smith/templates-custom/
mv etc/profile /root/          #questo è il frammento di una sola riga
/sbin/e-smith/expand-template profile

Il risultato è questo errore:

ERROR: No templates were found for profile.
 at /sbin/e-smith/expand-template line 45

Boh?

rileggi ATTENTAMENTE quello che ti ho scritto.. non è la stessa cosa..

Ciao

Stefano

Re: Oh my God - Ripristinare una template
« Reply #4 on: January 11, 2008, 01:06:34 PM »
Se ti riferisci al fatto che nel post ho scritto:
/sbin/e-smith/expand-template profile
invece di:
/sbin/e-smith/expand-template /etc/profile
è stato solo un errore di trascrizione, in realtà avevo provato la seconda, e mi dà quell'errore.

(PS: leggo sempre ATTENTAMENTE, poi che non capisco è un altro discorso ;-) )
« Last Edit: January 11, 2008, 01:09:31 PM by Lord Quicksilver »

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Oh my God - Ripristinare una template
« Reply #5 on: January 11, 2008, 02:13:55 PM »
allora facciamo un po' il punto:

- hai in /etc/e-smith/templates/etc una directory "profile"?
- versione di SME?

ciao

Stefano

Re: Oh my God - Ripristinare una template
« Reply #6 on: January 11, 2008, 06:17:10 PM »
Scusa la risposta tardiva.
No il problema infatti è proprio quello, /etc/e-smith/templates/etc/profile non esiste, e non capisco perché. Ci sono 284 file ma non quello, e giuro che io non c'entro niente, nel senso che non l'ho cancellato per errore o cose così. Magari qualcuno mi può postare il contenuto di default del file in questo thread? Così me lo ricreo da solo, è sicuramente il modo più veloce per chiudere il problema.

Vedo che hai detto "directory" profile, ma che io sappia è un file, a meno che non ti riferissi a profile.d, che comunque sotto etc/e-smith/templates/etc non c'è comunque.

La versione di SME che uso è la 7.3, ed è una fresh install su cui non ho toccato (quasi) nulla, a parte creare un paio di user e di ibay, e scaricare gli aggiornamenti dal server manager.

La cappella che ho commesso, in linea di massima, è stata soprattutto di usare expand-template con un file che evidentemente non è una template, dal momento che
1) non esiste sotto etc/e-smith/template/
2) non contiene il commento che ti ricorda di non modificare il file originale, altrimenti la tua modifica finirà nella geenna insieme a te

Sigh.
« Last Edit: January 11, 2008, 07:11:03 PM by Lord Quicksilver »

Re: Oh my God - Usare expand-template su un file che non è una template
« Reply #7 on: January 11, 2008, 07:18:52 PM »
Mi rispondo da solo, l'ho trovato per CentoS e mi sembra uguale (come dovrebbe essere) a quello di SME:

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}

# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi

pathmunge /usr/X11R6/bin after

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done

unset i
unset pathmunge
« Last Edit: January 11, 2008, 07:25:48 PM by Lord Quicksilver »