Entradas etiquetadas como ‘Linux’

Escrito por Iván Alonso el Domingo 27 de Diciembre de 2009

Tras trastear un rato con sed y distinta posibilidades de búsqueda de archivos para poder aplicarlo a varios de ellos, he encontrado esta única instrucción en perl que acaba siendo mucho más sencilla:

perl -pi -w -e 's/texto viejo/texto nuevo/g;' *.php

En las secciones a buscar y reemplazar hay que acordarse de escapar con la barra invertida (‘\’) determinados caracteres, como paréntesis, barras, etc.

Actualizado: para hacerlo recursivo desde un determinado directorio, la mejor solución que he encontrado ha sido:

perl -pi -w -e 's/oldstring/newstring/g;' `grep -ril oldstring *`
Escrito por Iván Alonso el Domingo 27 de Septiembre de 2009

Finalmente me he convertido en un switcher, abandono los terrenos inhóspitos del PC para adentrarme en los verdes pastos del Mac. Después de trastear bastante con un par de Hackintosh (un equipo de sobremesa y un netbook), disfrutar de un iPod Classic y de un iPhone como teléfono particular, creo que he aprendido bastante de los productos de Apple como para atreverme con un portátil con el que no me da miedo actualizar software “por si se rompe”, como pasaba con los Hackintosh.

Hace un tiempo, concretamente a finales de 2006 (que ya ha llovido desde entonces), cansado de una serie de efectos extraños que mostraba el Windows XP que utilizaba por entonces, me cambié a GNU/Linux en el equipo de sobremesa, lo que me permitió poder seguir utilizando mi equipo en perfectas condiciones sin necesitar actualizarlo hasta el día de hoy. Con el paso de los años, el equipo de sobremesa se fue convirtiendo en un servidor de descargas, y para el (escaso) trabajo diario fuera de la oficina me bastó con un pequeño netbook en el que tenía instalados los tres sistemas operativos (Windows XP, Ubuntu y OS X).

Hace unos días, el equipo de sobremesa del que os hablaba se fundió. Así, sin más. Unos cuantos años de funcionamiento 24/7 es lo que tienen. Y entre unas cosas y otras, y que el netbook se me queda pequeño para algunas tareas, empecé a plantearme varios cambios en mi “infraestructura informática local”, que han llevado (entre otras cosas) a la compra de un Mac.

apple-logo

¿Por qué un portátil?

En la red casera tenemos todo compartido, para poder acceder desde el media center del salón (aunque es un sistema que también va a mejorar con un nuevo NAS), así que no tenía mucho sentido comprar un equipo que es más grande, hace más ruido, y que no me puedo llevar a ningún sitio. Ya tengo un monitor accesorio de 22″ para utilizar junto al portátil con escritorio extendido, por lo que me parecía la mejor opción. Portabilidad.

¿Por qué Mac y no otro PC portátil?

Otro PC implicaría trabajar con un producto Microsoft o uno GNU/Linux. Nunca he trabajado con Vista, ni a nivel profesional, ya que aún no lo he visto utilizado en ninguna empresa, y el nuevo Service Pack de Vista el nuevo Windows 7 no veo cercano el día que lo utilice, aunque lo cierto es que lo que he oido hablar de él es bastante positivo.

Y aunque nunca me cansaré de cantar las excelencias de los productos GNU, especialmente desde que Ubuntu se está llevando el mercado de calle, en mi caso particular estoy cansado. ¿Cansado? ¿De qué? Cansado de pegarme con la tecnología. Estoy cansado de no saber por qué no funciona un producto de Microsoft y estoy cansado de saber por qué no funciona algo en Ubuntu y de buscar la información para arreglarlo.

Con honestidad, estoy cansado hasta de discutir sobre tecnología. Si no estás de acuerdo con lo que he dicho, bien por ti, me da igual y no voy a responder comentarios al respecto. El mundo es grande y hay sitio para todos, Sega vs Nintendo, XBox vs PlayStation, PC vs Mac, Fagor vs Zanussi. En serio, me da igual. Yo tengo mis razones y los demás tienen las suyas.

Pero no voy a poder hacer <tarea x>

Hoy en día se puede hacer de todo en todas partes. Y si alguien quiere llorar con que “en mi trabajo utilizo no se qué software que sólo existe para Windows” mi respuesta sólo puede ser: el equipo de mi trabajo lo compra mi empresa y ellos deciden lo que quieren, el equipo de mi casa lo compro yo. El trabajo no me lo llevo a casa, se queda en la oficina.

Y si, aún así, alguien está empeñado en utilizar algo concreto, tanto para Linux como para Mac existen múltiples tecnologías de virtualización capaces de solucionar (casi) cualquier problema.

Pero los Mac son caros

Sí, son caros. Pero si los estáis comparando con los portátiles de baja gama que se ofertan por 500 euros os estáis confundiendo de segmento. Los MacBook son aparatos muy completos que no compiten con esos, sino con los de primera línea de las principales marcas (las caras, vaya): HP, Sony, etc. Aun así seguirán siendo algo más caros que su competencia, pero no tanto como puede parecer si os vais a comparar con los productos de línea baja, lógicamente. Ya queda a la decisión de cada uno si esa diferencia de precio la merecen los acabados, los materiales, la facilidad de uso o la calidad del software. Yo he considerado que lo vale. Y, de todas formas, dado que no necesito más potencia de cálculo para nada, mi compra ha sido la del MacBook Pro más “pequeño” que se comercializa, 2GB de RAM, 2,26 GHzs de CPU, que sale por unos mil euros.

Conclusión

Es un producto que se adapta a mis necesidades mejor que los otros que he considerado. A otro perfil de usuario es posible que se adapte mejor otro tipo de equipo u otro sistema operativo. Pero yo, ahora mismo, acostumbrado al mundo PC, estoy disfrutando como un enano de la facilidad de uso, de los interfaces limpios e increiblemente intuitivos, del touchpad multitáctil, del teclado iluminado y de los sensores de luz ambiente que cambian automáticamente el brillo de la pantalla, entre otras cosas.

En próximos posts, más sobre esta compra.

Escrito por Iván Alonso el Viernes 15 de Mayo de 2009

En una hábil maniobra por mi parte, tratando de quitar la marca de agua con la fecha que estaba insertando en todas las fotos la nueva cámara digital de mis padres, me puse a buscar las opciones de “formato de las fotos”. Al escoger la opción formato la tarjeta de memoria se formateó por completo, sin pedir confirmación de la operación ni pasar por la casilla de salida, en un alarde de horrendo interfaz de usuario que no supe ver a tiempo.

Así que, para apaciguar la ira paterna, he tenido que buscar algún modo de recuperar las fotos que estaban antes en la tarjeta de memoria. Consejos básicos:

  • no seguir usando la cámara ni la tarjeta de memoria para nada, la información de las fotos sigue residiendo en ella, pero está marcada como borrada, por lo que cualquier nueva foto se escribirá sobre las antiguas.
  • no enchufarla a sistemas windows que, nada más enchufar cualquier cosa, comienzan a escribir en ellos información que quizá no queramos utilizar.

Así que he buscado un software disponible para GNU/Linux que me haga lo que intento: gracias a un sencillo tutorial de Be Linux my friend, he dado con PhotoRec. Se instala con el paquete testdisk, por lo tanto, en sistemas Debian o Ubuntu:

sudo apt-get install testdisk

Y directamente lo lanzamos con

sudo photorec

Lo único que nos preguntará será el tipo de particiones que tiene la tarjeta de memoria (en mi caso estaba directamente dentro de la cámara, enchufada con un cable USB), que suele ser Non partitioned media, y el tipo de sistema de ficheros que utiliza, que en mi caso era msdos (FAT), aunque lo podéis comprobar simplemente con ver las propiedades de la cámara (click derecho sobre su icono, propiedades).

Y comenzará un proceso de búsqueda en el que irá encontrando (con suerte) todas las fotos borradas (en mi caso un par de centenares de fotos que ya había dado por perdidas, en una media hora de proceso, duración que dependerá, lógicamente, de la capacidad de la tarjeta). Encuentra también los archivos con los vídeos, pero no los restaura correctamente, así que no se pueden ver. Ideas al respecto serán bienvenidas.

Escrito por Iván Alonso el Martes 14 de Abril de 2009

Título de post muy largo para algo tan sencillo. Dependiendo del tipo de servidor sshd y su configuración, o de las conexiones intermedias entre tu máquina y el destino final, tras un tiempo de inactividad la sesión ssh puede cortarse, lo que es bastante incómodo porque tienes que volver a hacer login, volver al directorio en el que estabas, etc, etc… y tu trabajo se ve interrumpido.

La solución pasa por editar el archivo de configuración del cliente local ssh (que en linux estará generalmente en /etc/ssh/ssh_config, y en Mac estará en /etc/ssh_config). Ahí tendremos que añadir el siguiente texto:

ServerAliveInterval 60

Donde 60 es el número de segundos que queremos que pase entre cada aviso por parte del cliente de que seguimos vivos, y no queremos que se cierre la conexión. Esta línea debe añadirse dentro de la sección Host *, de modo que se aplicará para la conexión con cualquier servidor:

Host *
ServerAliveInterval 60

O puede personalizarse para un servidor concreto, con:

Host *hostname.com
ServerAliveInterval 60

Por supuesto, todo esto puede hacerse únicamente para un único usuario, editando tu archivo $HOME/.ssh/ssh_config, pero como yo suelo ser el usuario único de mis máquinas, he optado por dejarlo como configuración general para cualquier usuario.

Solución encontrada vía The how-to geek.

Escrito por Iván Alonso el Lunes 2 de Marzo de 2009

Tras empezar a utilizar un disco con formato vfat en mi equipo Linux, me he dado cuenta de que algunas cosas pueden resultar complicadas, como por ejemplo cambiar el nombre del disco. Necesitamos instalar las mtools para trabajar con particiones ms-dos:

sudo apt-get install mtools

Y utilizar entonces la herramienta mlabel que tiene un manual bastante poco intuitivo. Con este comando obtendremos el nombre asignado actualmente:

sudo mlabel -i /dev/sdc1 -s ::

Y con este asignamos uno nuevo:

sudo mlabel -i /dev/sdc1 ::Nombre

sudo mlabel -i /dev/sdc1 ::'Nombre con espacios'

Curiosidad: Es importante tener en cuenta que se trata de un sistema de archivos que no admite distinción entre mayúsculas y minúsculas, por lo que en teoría siempre se debería montar utilizando como nombre de disco el equivalente en letras mayúsculas… y, sin embargo, tras un reinicio el nombre del disco se verá usando las mayúsculas y minúsculas que hayamos utilizado. Otra curiosidad: no he sido capaz de que el sistema mostrara el nuevo nombre del disco hasta que no ha habido un reinicio, independientemente de que montara o desmontara el disco. Si alguien sabe explicarme la razón, bienvenido sea.

Averiguado gracias a: el sistema de documentación comunitario de Ubuntu.

Escrito por Iván Alonso el Lunes 2 de Marzo de 2009

Me he instalado en el salón un sistema de media center bastante chulo del que os hablaré en breve, y estaba ya bastante cansado del funcionamiento habitual de descargar, tostar en dvds, llevar la salón, etc para poder ver las cosas en la tele “grande”. Ahora puedo ver las cosas en cuanto hayan terminado de descargarse. Este sistema que he instalado detecta automáticamente las carpetas compartidas de Windows que haya en la red, pero mi servidor es Linux (Ubuntu), por lo que he tenido que instalar Samba para compartir utilizando los mismos protocolos. Pasos a seguir en tu servidor:

(más…)

Escrito por Iván Alonso el Lunes 2 de Marzo de 2009

He desmontado un disco externo usb para poder sacar el disco físico (un IDE) y enchufarlo al equipo de sobremesa que utilizo como ’servidor’ en mi red local. Estos discos suelen estar formateados con algún tipo de sistema de archivos FAT, que es bastante simple y no permite almacenar datos como usuario o grupo propietario de un archivo, distintos permisos de lectura/escritura, etc. Así, al montarlo por defecto sólo aparecerá como dueño el usuario root y para modificar cualquier cosa tendremos líos de permisos constantemente.

Opciones:

  1. Mover todo el contenido a otro disco, reformatear como ext3 (por ejemplo) y volver a poner los datos en su lugar. En mi caso no podía porque eran demasiados GBs y no tenía espacio libre en otro sitio (ni ganas de esperar a que se copiara todo), o
  2. Montarlo como si tuviera un usuario y grupo concreto y con una máscara de permisos para simular un sistema de permisos real.

Para optar por esta segunda posibilidad, editamos el archivo /etc/fstab (donde está incluida la información sobre montaje de discos) y añadimos la información siguiente al disco que nos ocupa:

# Antiguo disco usb
/dev/sdc1 /media/<punto_montaje> vfat rw,user,auto,utf8,uid=<tu_usuario>,gid=<tu_grupo>,umask=022 0 1

Con esto estamos montando el disco que nos interesa (cambiad /dev/sdc1 por el disco que corresponda, o includo mejor si usáis el UUID del disco, ver nota al final), que tiene formato vfat, y le estamos indicando los siguiente parámetros:

  • rw: con capacidad para lectura y escritura.
  • user: permite a un usuario ordinario montar el disco (y, por tanto, también desmontarlo tras el montado automático en el inicio).
  • auto: se puede montar con mount -a (que intenta montar todo lo que esté especificado en el archivo /etc/fstab).
  • utf8: para usar una codificación de caracteres amplia y que no os aparezcan signos raros en los nombres de archivo.
  • uid=<tu_usuario> y gid=<tu_grupo>, cambiando por tu usuario y el grupo al que perteneces, o aquellos que te interesen para el disco. Todas las operaciones devolverán que tu usuario es el dueño de los archivos, en lugar de root. Podéis comprobarlo luego con un ls -lah para ver quién es el owner, o hacedlo en vuestra home para ver cómo se llama vuestro usuario y grupo.
  • umask=022 para enmascarar los permisos. Con esta máscara pasarán a ser rwxr-xr-x, por lo que el dueño (tú) tiene permisos de lectura y escritura, cualquier otro usuario puede al menos leer el archivo, y también hemos asignado permisos de ejecución (que a mí me eran necesarios para compartir carpetas con Samba, si vosotros no necesitáis este permiso de ejecución, con utilizar la máscara 033 os valdrá).

Nota: Si en lugar de utilizar un identificador tipo /dev/lo_que_sea (que es algo que puede cambiar) queréis utilizar los UUID de los discos (que son únicos para cada disco, el formato debe ser:

UUID=<id> /media/<punto_montaje> vfat etcétera

Este id será un código alfanumérico generalmente bastante largo, que podéis averiguar mediante el comando:

ls /dev/disk/by-uuid -lah

Y así veréis fácilmente qué id corresponde a cada disco.

Escrito por Iván Alonso el Martes 10 de Febrero de 2009

Otro de los posibles fallos que pueden aparecer durante la instalación de un OS X en un sistema con dual o triple boot, es que durante el arranque aparezca un mensaje de este estilo:

/com.apple.boot.S/Library/Preferences/SystemConfiguration/com.apple.boot.plist not found

Esto puede ser debido a que, durante el particionado del disco duro, se nos ha marcado como activa la partición que no debía. Por ejemplo, en mi caso creé dos particiones distintas con el sistema de archivos HFS+ durante la instalación del OS X (una para el sistema y otra para backups de Time Machine), y fue la segunda la que se marcó como activa sin que me diera cuenta. La solución más sencilla es cambiar las marcas de Activa de las particiones, que puede hacerse desde Linux (en mi caso otro de los sistemas del mismo equipo, que sí estaba funcionando, aunque también podéis iniciar desde un Live-CD).

Ejecutamos el comando sudo cfdisk, navegamos (cursor arriba y abajo) hasta las particiones que nos interesan y las marcamos/desmarcamos con enter. Pulsamos el cursor derecha hasta llegar a la opción de escribir la tabla de particiones y aceptamos. Nos pedirá confirmación avisando de que puede producirse pérdida de datos, pero en mi caso no se modificó ningún dato y todas las particiones han seguido funcionando perfectamente.

Update: cfdisk me pide que escriba sí (con acento) pero no me deja escribir el acento.

Update (II): Si por alguna razón queréis echarle un vistazo a algo de lo contenido en las particiones Mac desde vuestro Linux, recordad que podéis montarlas con un

sudo mount -t hfsplus /dev/<particion> /mnt/<destino>
Escrito por Iván Alonso el Martes 10 de Febrero de 2009

He estado un rato investigando cual sería la solución más “elegante”, pero al final la más sencilla ha resultado ser suficiente:

En lugar de ejecutar sudo cfdisk, que hará que “herede” los lenguajes que estén definidos en nuestra sesión de terminal, los machacamos en la misma instrucción:

$LANG=en_EN.UTF-8 sudo cfdisk /dev/sdb

Y así iniciaremos la utilidad en inglés, pudiendo aceptar la operación escribiendo ‘yes’.

Escrito por Iván Alonso el Viernes 1 de Agosto de 2008

Windows Vista también ha ayudado a Linux. Es tan malo, hay tantas cosas equivocadas en él, que cuando Microsoft le dice a la gente que tienen que migrar desde XP todos piensan que es hora de pasarse a Linux.

Jon Hall [20minutos.es]