Noticias:

Jóvenes egipcios se unen al grupo de Facebook "Por la libertad del pueblo". Serán frikis, como si fuesen a salir a la calle.

Menú Principal

Dudas de Linux

Iniciado por Mskina, 26 de Abril de 2009, 00:19

0 Miembros y 1 Visitante están viendo este tema.

Orestes

Neo, como no sé otra manera de contactar contigo y eres con creces []la persona[] el ente que más sabe de Linux del planeta que yo sepa y además si alguien se ve en la misma tesitura le puede servir que esté aquí en abierto resuelto, vengo a ponerte más consultas:

Necesito saber más de expresiones regulares (para usarlas en el sed), he buscado en Google pero no sé si es que soy un zote o es que no sé muy bien que buscar pero no he encontrado mucho, no sé si sabrás tú de algún sitio o manual para echarle un vistazo.

Y otra cosa, para hacer pruebas con el script he declarado arriba variables con los paths de los archivos de configuración que va a utilizar para poder redirigirlos a archivos de prueba, en plan
# archivoDHCP="/etc/dhcp/dhcpd.conf"
archivoDHCP="/home/user/archivoDHCPprueba"


El caso es que el script hace una copia de seguridad del archivo antes de editarlo, hasta ahora poniendo el nombre a mano (dhcpd.conf.copia) y me preguntaba si se puede mecanizar de alguna manera, yo que sé, poniendo "${archivoDHCP}.copia" o "$archivoDHCP+.copia" o similar.

Sorry but you are not allowed to view spoiler contents.

Paradox

#121
Cita de: Orestes en 11 de Mayo de 2012, 10:21
Necesito saber más de expresiones regulares (para usarlas en el sed), he buscado en Google pero no sé si es que soy un zote o es que no sé muy bien que buscar pero no he encontrado mucho, no sé si sabrás tú de algún sitio o manual para echarle un vistazo.
El mejor libro de regexps es Mastering regular expressions de O'Reilly (lo encontrarás en pdf por la red) pero para aprender yo me miraría el perltut (tutorial de perl) de regexps: http://perldoc.perl.org/perlre.html
http://perldoc.perl.org/perlretut.html
Las regexps de Perl son distintas (mejores :D) en algunos aspectos (por ejemplo te permiten evitar que las expresiones regulares sean greedy añadiendo un simple ?).
Pero por lo general te servirá el mismo tutorial, si no busca "regexp sed" en google y estoy convencido que no te los acabarás ;)

Cita de: Orestes en 11 de Mayo de 2012, 10:21
Y otra cosa, para hacer pruebas con el script he declarado arriba variables con los paths de los archivos de configuración que va a utilizar para poder redirigirlos a archivos de prueba, en plan
# archivoDHCP="/etc/dhcp/dhcpd.conf"
archivoDHCP="/home/user/archivoDHCPprueba"


El caso es que el script hace una copia de seguridad del archivo antes de editarlo, hasta ahora poniendo el nombre a mano (dhcpd.conf.copia) y me preguntaba si se puede mecanizar de alguna manera, yo que sé, poniendo "${archivoDHCP}.copia" o "$archivoDHCP+.copia" o similar.
Se puede hacer, pero no entiendo exactamente lo que quieres decir.
Si usas bash se pueden hacer sustituciones pero seguramente en tu caso con una concatenación es suficiente. Puedes explicarme mejor lo que quieres hacer? (estoy bastante espeso hoy)
I am not under any orders to make the world a better place.

Orestes

La idea es que en vez de poner a mano en todas partes /etc/dhcp/dhcpd.conf lo sustituya por una variable declarada con ese valor al principio, y así puedo hacer pruebas con ficheros que no sean el /etc/dhcp/dhcpd.conf fácilmente, porque si pongo que apunte a un fichero de prueba en el principio todo el script se hará sobre el fichero de prueba y no el fichero "bueno".

El caso es que no sé cómo se concatena en bash, si poniéndolo junto o con un + o con corchetes o comillas o qué, para en un momento dado añadir por ejemplo a la cadena "/etc/dhcp/dhcpd.conf" un ".copia" detrás.

Sorry but you are not allowed to view spoiler contents.

Paradox

No hace falta concatenar:

#!/bin/sh

DIR=/fakeroot/etc/dhcp/
FILE=${DIR}dhcpd.conf

echo ${FILE}.bak

FILEBAK=${FILE}.bak
echo $FILEBAK

echo "Fichero normal $FILE fichero de respaldo $FILEBAK"


En este ejemplo se define un directorio y luego un fichero usando la variable anterior. Luego te muestro como escribir por pantalla directamente una variable modificándola o como modificarlo en una nueva variable y mostrarlo después.

Los {} se deben poner sólo y sólo si puede existir confusión. Por ejemplo:
echo $FILE. <-- no hay confusión
echo ${FILE}1 <-- el 1 podría ser parte del nombre por lo que debe especificarse el nombre de la variable.

Aún así mírate las string substitutions porque son MUY potentes y seguramente en la mayoría de los casos te irá mejor que concatenar variables con cadenas:
http://tldp.org/LDP/abs/html/string-manipulation.html
I am not under any orders to make the world a better place.

Orestes

Chachi. Muchas gracias ^^:

Sorry but you are not allowed to view spoiler contents.

Sertori0

Cita de: Mr Winters en 03 de Mayo de 2012, 17:07
Nada, ya está, he instalado el cliente para Linux :gñe:

Instrucciones detalladas por favor
Sorry but you are not allowed to view spoiler contents.

Mr Winters

Pues vas a la web de spotify y ahí está. O busca "spotify linux" en google y te sale.



Orestes

Se me ha ocurrido comentarle a un colega que tenemos aquí este hilo para preguntar dudas y ya me ha convencido para que pregunte una suya xD

Viene a ser lo siguiente: Cómo meter un script en una instalación de una distro CENTOS desatendida para que ejecute en el primer reinicio tras finalizar la instalación

Sorry but you are not allowed to view spoiler contents.

Paradox

CentOS al igual que Fedora/RH usan kickstart para instalaciones desatendidas. No es posible (en principio) ejecutar un script después del primer reinicio pero sí al final de la instalación. El predicado para incluir el script es: %post.
Puedes ver más información en la ayuda del kickstart en la web de Fedora (kickstart original) o de CentOS:

http://fedoraproject.org/wiki/Anaconda/Kickstart#Chapter_5._Post-installation_Script
http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-postinstallconfig.html

Con eso puedes ejecutar las acciones que consideres necesarias después de la instalación. Ahora bien, si es _necesario_ que el servidor haya reiniciado puedes usar opciones más creativas.

En el fichero de instalación desatendida de kickstart puedes indicar que se reinicie automáticamente y en el %post poner un script que lo que haga es crear un script independiente y que se lance usando rc.local o similar. Ese script debería desactivarse cuando se haya ejecutado una vez (si eso es lo que quieres).
Hacer eso es relativamente sencillo, de hecho yo lo he hecho alguna vez para instalaciones desatendidas de máquinas de laboratorio en mi trabajo.

Si es lo que quieres (que se reinicie antes de ejecutar el script) me lo dices y os pongo la forma. Si no pues usar %post a saco, como te indica el manual del Kickstart :lol:
I am not under any orders to make the world a better place.

Orestes

CitarYa se que poniendo un script en %post se ejecuta (si el script contiene ordenes especificas), pero no si es un script interactivo es decir con menu y diversas opciones. Preguntale cual es la forma de hacer que un script interactivo arranque desde %post pasale si hace falta el script. Yo quiero que se ejecute el script una vez instalado me da igual si se reinicia o no pero que se ejecute.

A mí lo que decís me suena a chino :yao:

Pero es entretenido esto de hacer de mensajero :gñe:

Sorry but you are not allowed to view spoiler contents.

Últimos mensajes

El gran hilo de las imágenes chorrilongas de YoYo
[Hoy a las 14:27]


A revisitar de YoYo
[Hoy a las 14:25]


El gran hilo para animar a la peña de Logan
[Hoy a las 13:09]


The cat concerto de Mskina
[Hoy a las 12:34]


Errores del foro de Mskina
[Hoy a las 12:31]