Blog Archives

Multiples versiones de PHP desde un mismo servidor Apache

Podemos enfrentar muchas situaciones en donde sea necesario correr múltiples versiones de PHP en paralelo. En el caso del cual extraigo este ejemplo la necesidad pasaba por brindar soporte a una aplicación moderna con PHP 7.2 y, al mismo tiempo, a un desarrollo personalizado que no permitía dejar la rama 5.x.

Como punto de partida utilizamos Debian 9 Stretch, ya que cuenta con una nueva infraestructura para paquetes PHP que maneja el versiones de manera nativa.

Instalar PHP

PHP 7.2

Instalamos PHP 7.2 desde los repositorios de Debian.

$ apt-get install php7.2-cli php7.2-fpm

Versiones anteriores de Debian usaban simplementephp5mientras que la nueva infraestructuraphpX.Y. De esta manera podemos instalar múltiples versiones de PHP en paralelo.

PHP 5.6

Debian ofrece solamente una única versión de PHP en el repositorio oficial. Afortunadamente existe un repositorio mantenido por el encargado de los paquetes oficiales de PHP en Debian, Ondřej Surý. Visita su página acerca de paquetería para aprender más. (También existe un repositorio PPA en caso que uses Ubuntu en lugar de Debian.)

Agregamos este repositorio (al tiempo que habilitamos HTTPS para APT y registramos la clave APT):

$ apt-get install apt-transport-https
$ curl https://packages.sury.org/php/apt.gpg | apt-key add -
$ echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
$ apt-get update

Ahora podemos instalar los paquetes desde allí:

$ apt-get install php5.6-cli php5.6-fpm

Esto instalará PHP 5.6 en paralelo con el PHP 7.2 instalado anteriormente. Podemos verificar esto con:

$ php7.2 -v
PHP 7.2.0-1 (cli)
$ php5.6 -v
PHP 5.6.32-1 (cli)

Configurar PHP

La configuración se almacena en ubicaciones versionadas también. Además, la configuración está separada para cada SAPI. Lo mismo se aplica para los módulos PHP así que no habrá que preocuparse acerca de módulos incompatibles entre versiones.

La configuración de PHP 7.2 FPM se almacena en /etc/php/7.2/fpm y PHP 5.6 en /etc/php/5.6/fpm. Cada instancia FPM consiste de múltiples pools. Cada sitio/proyecto debería tener su pool separado así que creamos una copia de la configuración predeterminada.

$ cp /etc/php/7.2/fpm/pool.d/www.conf /etc/php/7.2/fpm/pool.d/php72.conf
$ cp /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/php56.conf

Buscamos la opción listen. Tendría que ser igual a /run/php/php7.2-fpm.sock o similar. Ahora hacemos los mismo para 5.6, debería contener lo mismo pero con 5.6 en lugar de 7.2. Esto también podría ser una dirección vinculada, ej. dirección IP con puerto (lo cual es más conveniente, en términos de desempeño, que sockets para entornos de producción).

Configurar Apache

Creamos un VirtualHost para cada versión de PHP, ej. /etc/apache2/sites-available/php7.2.conf

Agregamos


<VirtualHost>
...
<FilesMatch "\.php$">
   SetHandler proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost
</FilesMatch>
...
</VirtualHost>

Habilitamos el sitio

$ a2ensite php7.2

Y hacemos lo mismo con la configuración para PHP 5.6

Luego habilitamos los módulos necesarios

$ a2enmod proxy_fcgi

Y, por último, reiniciamos los servicios

$ systemctl restart php5.6-fpm php7.2-fpm apache2

Probando todo

Para probar que todo funcione de la manera que esperamos creamos un archivo PHP con la instrucción phpinfo, si todo está bien FPM/FastCGI aparecerá en la salida.

$ echo '<?php phpinfo(); ?>' > /var/www/sitio-php7.2/info.php

 

 

Fuentes |

Publicado en General

Convertir imagenes a PDF desde la línea de comandos

La herramienta ImageMagick nos permite llevar a cabo esta tarea de manera sencilla.

La sintáxis es la siguiente:

$ convert a.png b.png c.png (...) x.png multipagina.pdf

Ahora bien, es muy probable que el resultado no se ajuste a un tamaño de papel estándar para lo cual debemos definir de manera explícita para el destino mediante la opción ‘resize’:

$ i=150; convert a.png b.png c.png -compress jpeg -quality 70 \
 -density ${i}x${i} -units PixelsPerInch \
 -resize $((i*827/100))x$((i*1169/100)) \
 -repage $((i*827/100))x$((i*1169/100)) multipagina.pdf

El comando convert no siempre usa DPI como la unidad predeterminada para la densidad/formato de página, así pues debemos especificar de manera explicita los DPI con la opción -units (de otro modo es probable que obtengamos resultados diferentes con distintas versiones/combinaciones de formato de entrada). El nuevo tamaño (especificado vía -resize) es la dimensión de una hoja A4 en pixeles. El argumento resize especifica el tamaño máximo de página. La resolución y calidad exacta a escoger depende del uso en cada caso. En el ejemplo se seleccionó 150 DPI y calidad promedio para ahorrar algo de espacio al tiempo que no se ve tan mal una vez impreso.

Debemos notar que convert no cambia la relación de aspecto de manera predeterminada con la operación resize:

Resize encajará la imágen en el tamaño requerido. Aunque NO rellena el tamaño de caja.

Manual de ImageMagick: http://www.imagemagick.org/Usage/resize/#resize

Dependiendo de la versión de ImageMagick y el formato de entrada involucrado se podría omitir la opción -repage. Pero algunas veces se requiere y sin esa opción el encabezado del PDF podría contener dimensiones muy pequeñas. En cualquier caso, -repage no debería molestar.

El cómputo usa aritmética de enteros ya que bash soporta eso solamente. Con zsh las expresiones pueden ser simplificadas – ej. $((i*8.27))x$((i*11.69)).

 

 

unix.stackexchange.com

Publicado en General, Miniguías

Como reparar el error ‘initramfs’ en Ubuntu y derivados

En este artículo se describe como subsanar el problema que nos arroja Ubuntu cuando al arrancar vemos una pantalla negra con el prompt (initramfs).

initramfs

  1. Arrancar con un live CD o USB.
  2. Hallar el número de partición usando:
    sudo fdisk -l|grep Linux|grep -Ev 'swap'
  3. Listar todos los superbloques usando el comando:
    sudo dumpe2fs /dev/sdax | grep superblock 
    NOTA: x es el número de dispositivo hallado con el comando anterior.
  4. Ahora verificamos y reparamos el sistema de archivos de nuestro GNU/Linux usando el superbloque alternativo # 32768:
    fsck -b 32768 -y /dev/sdax
    NOTA: -y pasará “si” a todas las preguntas y realizará las correcciones automáticamente.
  5. Ahora intentaremos montar la partición:
    mount /dev/sdax /mnt
  6. Ahora, intentaremos recorrer el sistema de archivos con los siguientes comandos:
    sudo cd /mnt
    sudo ls -l
  7. En caso que hayamos podido concretar los comandos anteriores, es muy probable que hayamos corregido el error.
  8. Reiniciamos el equipo y debería poder arrancar con normalidad.

 

boot-up-fails-drops-to-initramfs-prompt-12-04 en #2

Publicado en Miniguías, Sistemas, Ubuntu Etiquetado con:

Última versión de LibreOffice en LinuxMint

En versiones de Linux Mint anteriores a la 17.3, a los repositorios propios les fue asignada una prioridad APT de 700 (a diferencia del valor estándar de 500 para Ubuntu, Debian y repositorios de terceros). A raíz de eso era necesario hacer hacer apt-pinning para poder utilizar múltiples repositorios en nuestro sistema y especificar cuando instalar un paquete de cuál repo.

LibreOffice-Mint

Esto fue modificado en Linux Mint 17.3:

  • Para el componente “upstream” de los repositorios de Linux Mint se mantuvo la prioridad 700.
  • A todos los demás componentes (“main”, “import”, “backport”, “romeo”) así como el repositorio “extra”, se bajó la prioridad a 500.

Instalar LibreOffice 5.1.0

Para instalar LibreOffice 5.1.0 en Ubuntu 15.10 Wily/14.04 Trusty abrimos una terminal y copiamos los siguientes comandos:

sudo add-apt-repository ppa:libreoffice/libreoffice-5-1
sudo apt-get update
sudo apt-get install libreoffice libreoffice-style-breeze

Instalar LibreOffice 5.0

Para instalar LibreOffice 5.0 en Ubuntu 15.10 Wily/14.04 Trusty/12.04 Precise/Linux Mint 13 abrimos una terminal y copiamos los siguientes comandos:

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice libreoffice-style-breeze

Para actualizar de LibreOffice 4.x a 5.0, ejecutar el siguiente comando:

sudo apt-get dist-upgrade

Para instalar LibreOffice en Linux Mint 17.x/17 abrir la terminal y copiar el siguiente comando en la terminal (podés reemplazar nano con el editor que prefieras):

gksu nano /etc/apt/preferences.d/libreoffice-libreoffice-5-1.pref

Ahora pegar las siguientes lineas en el archivo de texto:

Package: *
Pin: release o=LP-PPA-libreoffice-libreoffice-5-1
Pin-Priority: 701

Ahora ingresar estos comandos para instalar:

sudo add-apt-repository ppa:libreoffice/libreoffice-5-1
sudo apt-get update
sudo apt-get install libreoffice libreoffice-style-breeze

Para actualizar desde versiones previas de LibreOffice, ejecutar el siguiente comando:

sudo apt-get dist-upgrade
Publicado en LibreOffice, Ubuntu

Almanaque 2016

¿Quieren un calendario rápido?, abran una terminal y tecleen cal 2016.

calendario-cli-2016

¿Lo quieren imprimir? cal 2016 > calendario.txt, abren el archivo txt y listo 🙂

Publicado en Miniguías Etiquetado con: , ,

Simplificar la línea de comandos de administración de paquetes con apt en lugar de apt-get

APT, la herramienta de gestión de paquetes del proyecto Debian involucra el uso de una gran cantidad de herramientas independientes para llevar a cabo diversas tareas. En el pasado, los usuarios necesitaban saber múltiples sintaxis de comandos como apt-get, apt-cache, apt-config, y muchos más para utilizar todas las características de APT.

por Michael Tunnell

simplificar-apt

APT fue creado originalmente para resolver muchos de los problemas de gestión de paquetes como poner fin al infierno de dependencias que muchas personas experimentaron en los primeros días de los sistemas operativos basados ​​en Linux. Por desgracia, APT sufre de un tipo diferente de infierno, algo que yo llamo “el infierno de documentación dispersa” (DDH, por sus siglas en inglés). La documentación relacionada con APT está dispersa en varias herramientas diferentes y en algunos casos, como el comando principal apt, prácticamente imposible de encontrar.

Durante más de una década, prácticamente todos los tutoriales y guías para la instalación y eliminación de paquetes en un sistema basado en Debian / Ubuntu han sugerido apt-get a los usuarios. En el pasado, esa fue la sugerencia correcta porque “apt” como comando no habían existido en ese momento, pero debido al infierno de documentación dispersa muchas personas no son conscientes de que ahora sí existe.

Si quisiera instalar un paquete de casi todas las guías sugieren:

sudo apt-get install package

pero ahora, en cambio, se puede simplificar eso con

sudo apt install package

Algunos pueden argumentar que “apt” no es muy diferente de “apt-get” y eso es cierto, pero creo que el guión en el comando es lo que crea un cuello de botella para muchos usuarios. Usar apt les ahorrará tiempo así como la cantidad de pulsaciones de teclas necesarias para realizar la misma tarea.

Infierno de documentación dispersa

 

documentation-hell

El problema fundamental con la documentación respecto de APT es que depende donde se mire y como se busque, se puede encontrar algo o nada en absoluto. Si buscamos en Google, o DuckDuckGo, por “documentación apt” encontraremos tres tipos de resultados:

  1. Documentación relacionada con apt-get
  2. Información general básica con respecto a APT
  3. Información que no tienen relación

Si se incluye “linux”, “ubuntu”, o incluso “debian” en la búsqueda los tipos de resultados que non va a cambiar. La DDH es tan grave que podemos encontrar documentación de Debian.org marcada como Documentación Obsoleta antes de encontrar algo útil relacionada con el comando “apt”, si es que alguna vez se encuentra algo.

Páginas man

Las páginas man son las páginas de documentación que se pueden utilizar de forma local en el sistema o a través de los directorios en línea. Anotaciones locales pueden estar al día o no en función de la versión de nuestra distribución. Por ejemplo, Ubuntu 15.10 tiene la última página man, pero 14.04 no de manera predeterminada. Sin embargo, si se mantiene la versión 14.04 de Ubuntu actualizada entonces deberíamos tener la página del manual actualizada. Podemos verificar si tenemos la última versión de la página de manual con el siguiente comando.

man apt

Por otro lado, si buscamos la página del manual en línea, entonces casi siempre encontraremos información general vieja. Si seguimos buscando, sin embargo, podemos llegar a encontrar la página man de Ubuntu 15.10 que está actualizada o podemos encontrarnos con la página man de 14.04 que está desactualizada.

Simplificar la línea de comandos con APT

La siguiente lista contiene las opciones más útiles disponibles vía el comando apt y que antiguos comandos simplifican.

  • apt install paquete(s)
    • reemplaza a apt-get install paquete
  • apt remove paquete(s)
    • reemplaza a apt-get remove paquete
  • apt search query
    • reemplaza a apt-cache search query
  • apt show paquete(s)
    • reemplaza a apt-cache show paquete(s)
  • apt update
    • reemplaza a apt-get update
  • apt upgrade
    • reemplaza a apt-get upgrade
  • apt list –installed
    • reemplaza a dpkg –get-selections | grep -v deinstall
    • reemplaza a dpkg -l
  • apt list –upgradable (no se requiere sudo)
    • reemplaza a apt-get -u upgrade –assume-no” (se requiere sudo)
  • apt edit-sources
    • reemplaza a echo ‘nueva línea de texto’ | sudo tee -a /etc/apt/sources.list
    • reemplaza a sudo nano /etc/apt/sources.list

Linux Mint está mejorando la simplicidad

 

linux-mint

La mayoría de los sistemas operativos recientes basadas en Debian o Ubuntu tienen la versión actualizada de APT que permite simplificar algunas tareas, pero el equipo detrás de Linux Mint decidió que APT podría estar mucho mejor si se tratara de simplificar más tareas. Linux Mint ha creado un script python para hacer APT aún más útil al sustituir en más funciones ese comando APT estándar que aún no había sido abordado. Esta es una decisión que se espera Debian decida adoptar en el futuro para que el comando APT alcance su pleno potencial.

La siguiente lista contiene las opciones adicionales más útiles disponibles a través del comando apt de Linux Mint y qué comandos vieja simplifican. Nota:  de momento la lista siguiente sólo se aplica a los usuarios de Linux Mint.

  • apt autoclean
    • reemplaza a apt-get autoclean
  • apt autoremove
    • reemplaza a apt-get autoremove
  • apt purge paquete(s)
    • reemplaza a apt-get remove –purge paquete(s)
  • apt depends paquete(s)
    • reemplaza a apt-cache depends paquete(s)
  • apt rdepends paquete(s)
    • reemplaza a apt-rdepends paquete(s)
  • apt policy paquete(s)
    • reemplaza a apt-cache policy paquete(s)
  • apt held
    • reemplaza a dpkg –get-selections | grep hold
  • apt hold paquete

    • reemplaza a echo paquete hold | sudo dpkg –set-selections
  • apt unhold paquete

    • reemplaza a echo paquete install | sudo dpkg –set-selections
  • apt download paquete (descar el archivo deb de un paquete)
    • reemplaza a LC_ALL=C apt-cache depends paquete |grep -v “Conflicts:\|Replaces:”|awk ‘{print $NF}’|sed -e ‘s/[<>]//g’|xargs aptitude download -r

APT: Hacer más con mucho menos

El comando apt ha simplificado muchas tareas con la gestión de paquetes desde la linea de comandos en los escritorios Linux (basados en Debian) y con Linux Mint tomando la iniciativa para mejorarla aún más, espero que ayude a la transición de la comunidad para el nuevo método. El único comando cuya ausencia noté en el script apt de Linux Mint es “apt add-repository” para reemplazar el incómodo comando add-apt-repository, así que escribí un parche para agregar esta característica al script. Me complace anunciar que ese parche fue aceptado por lo cual está característica estará disponible en una futura versión de Linux Mint.

 

www.howtogeek.com

Publicado en Distros, Miniguías Etiquetado con: , , ,

Comandos Linux que los nuevos usuarios deben conocer

Una de las bellezas de los sistemas basados ​​en Linux es que se puede gestionar todo el sistema desde la línea de comandos. La ventaja de hacerlo así es que se puede emplear el mismo conocimiento y las habilidades para manejar cualquier distribución de Linux.

terminal-huayra

Esto no es posible a través de la interfaz gráfica de usuario (GUI), ya que cada distro, y entorno de escritorio (DE), ofrece a sus propias interfaces de usuario. Para ser claro, hay casos en los que necesitarás diferentes comandos para realizar ciertas tareas en diferentes distribuciones, pero más o menos el concepto y las ideas siguen siendo las mismas.

En este artículo, vamos a hablar sobre algunos de los comandos básicos que un nuevo usuario de Linux debe saber. Te mostraré cómo actualizar tu sistema, administrar software, manipular archivos y cambiar a superusuario usando la linea de comandos en tres principales distribuciones: Ubuntu (que también incluye sus sabores y sus derivados, y Debian), openSUSE y Fedora.

¡Empecemos!

Mantén tu sistema seguro y actualizado

Linux es seguro por diseño, pero el hecho es que todo software tiene errores y podría haber agujeros de seguridad. Así que es muy importante mantener tu sistema actualizado. Pensalo de esta manera: la utilización de un sistema operativo desactualizado es como estar en un tanque blindado con las puertas abiertas. ¿La armadura te protegerá? Cualquiera puede entrar a través de las puertas abiertas y causar daño. Del mismo modo que puede haber agujeros sin parches en el sistema operativo con capacidad de comprometer tus sistemas. Las comunidades de código abierto, a diferencia del mundo privativo, son extremadamente rápidas en liberar parches para los agujeros, por lo que si mantenés tu sistema actualizado que quedarás a salvo.

Mantené un ojo en los sitios de noticias para estar al tanto de las vulnerabilidades de seguridad. Si se descubre un agujero, leé sobre él y actualizá tu sistema tan pronto como un parche sea liberado. De cualquier manera tenés que adoptar la práctica de ejecutar los comandos de actualización al menos una vez a la semana en las máquinas de producción. Si tenés un servidor complicado tendrás que ser muy cuidadoso y revisar la lista de cambios para asegurar actualizaciones no rompan tu personalización.

Ubuntu: Tené en cuenta: siempre hay que actualizar los repositorios (aka repos) antes de actualizar el sistema o instalar cualquier software. En Ubuntu, puede actualizar su sistema con los siguientes comandos. El primer comando actualiza los repositorios:

sudo update apt-get

Una vez que los repositorios están actualizados se puede ejecutar el comando de actualización del sistema:

sudo apt-get upgrade

Sin embargo, este comando no actualiza el kernel y algunos otros paquetes, por lo que también tendrás que ejecutar este comando:

sudo apt-get dist-upgrade

openSUSE: Si estás en openSUSE, podés actualizar el sistema utilizando estos comandos (como de costumbre, el primer comando sirve para actualizar los repos)

sudo zypper refresh
sudo zypper up

Fedora: Si estás en Fedora, podés utilizar el comando ‘dnf’, que es algo así como un equivalente de zypper y apt-get:

sudo dnf update
sudo dnf upgrade

Instalación y eliminación de software

Podés instalar sólo los paquetes que están disponibles en los repositorios habilitados en tu sistema. Cada distro incluye algunos repos oficiales o de terceros habilitados de forma predeterminada.

Ubuntu: Para instalar cualquier paquete en Ubuntu, actualizá primero el repositorio y luego utilizá esta sintaxis:

sudo apt-get install [nombre_del_paquete]

Ejemplo:

sudo apt-get install gimp

openSUSE: Los comandos serían:

sudo zypper install [nombre_del_paquete]

Fedora: Fedora ha descartado ‘yum’ y ahora utiliza ‘dnf’ por lo que el comando sería:

sudo dnf install [nombre_del_paquete]

El procedimiento para eliminar el software es el mismo, sólo hay que cambiar ‘install’ por ‘remove’.

Ubuntu:

sudo apt-get remove [nombre_del_paquete]

openSUSE:

sudo zypper remove [nombre_del_paquete]

Fedora:

sudo dnf remove [nombre_del_paquete]

¿Cómo gestionar el software de terceros?

Hay una gran comunidad de desarrolladores que ofrecen su software a los usuarios. Diferentes distribuciones utilizan diferentes mecanismos para que el software de terceros se encuentre a disposición de sus usuarios. También depende de cómo un desarrollador ofrece su software a los usuarios; algunos ofrecen binarios y otros lo ofrecen a través de repositorios.

Ubuntu depende fuertemente de los PPA (archivos del paquete personal), pero, por desgracia, no hay ninguna herramienta integrada que puede ayudar a un usuario en la búsqueda de los PPA. Tendrás que buscar el PPA y luego añadir el repositorio manualmente antes de instalar el software. Así es como se agregaría cualquier PPA a tu sistema:

sudo add-apt-repository ppa:<nombre-del-repositorio>

Ejemplo: Digamos que quiero añadir el PPA de LibreOffice a mi sistema. Buscaría el PPA y luego conseguiría el nombre del repo de Launchpad, que en este caso es “libreoffice/ppa”. Luego, añado el PPA con el siguiente comando:

sudo add-apt-repository ppa:libreoffice/ppa

Te pedirá que presiones la <Intro> para importar las llaves. Una vez hecho esto, actualizar los repositorios con el comando ‘update’ y luego instalar el paquete.

openSUSE tiene una solución elegante para aplicaciones de terceros. Podés visitar software.opensuse.org, buscar el paquete e instalarlo con un solo clic. Se añadirá automáticamente el repositorio a tu sistema. Si querés agregar cualquier repo manualmente, utilizá este comando:

sudo zypper ar -f url_of_the_repo name_of_repo
sudo zypper ar -f http://download.opensuse.org/repositories/LibreOffice:Factory/openSUSE_13.2/LibreOffice:Factory.repo LOF

Entonces actualizá el repositorio e instalá el software:

sudo zypper refresh
sudo zypper install libreoffice

Los usuarios de Fedora pueden simplemente añadir RPMFusion (repos tanto libres como no libres) que contienen la mayoría de las aplicaciones. En caso de que necesites añadir un repo, este es el comando:

dnf config-manager --add-repo http://www.ejemplo.com/ejemplo.repo

Algunos comandos básicos

Aquí están algunos de los comandos básicos que son comunes en todas las distribuciones.

Copiar los archivos o directorios a una nueva ubicación:

cp ruta_del_archivo_1 ruta_del_directorio_a_donde_queres_copiar/

Copiar todos los archivos de un directorio a una nueva ubicación (notá la barra diagonal y el asterisco, lo que implica todos los archivos dentro de ese directorio):

cp ruta_del_archivos/* ruta_del_directorio_a_donde_queres_copiar/

Mover un archivo de una ubicación a otra (la barra diagonal significa dentro de ese directorio):

mv ruta_del_archivo_1 ruta_del_directorio_a_donde_queres_mover/

Mover todos los archivos de un lugar a otro:

mv ruta_del_directorio_donde_estan_los_archivos/* ruta_del_directorio_a_donde_queres_mover/

Borrar un archivo:

rm ruta_del_archivo

Eliminar un directorio:

rm -r ruta_del_directorio

Eliminar todo el contenido del directorio, dejando la carpeta del directorio intacta:

rm -r ruta_del_directorio / *

Crear nuevo directorio

Para crear un nuevo directorio, primero introducía la ubicación en la que querés crear un directorio. Digamos que querés crear una carpeta ‘fundación’ dentro de tu directorio de documentos. Vamos a cambiar el directorio usando el comando cd (aka cambiar directorio):

cd /home/alumno/Documentos

(cambiá ‘alumno’ por el usuario de tu sistema)

A continuación, creá el directorio con el comando mkdir:

mkdir fundación

También podés crear un directorio desde cualquier lugar, dando a la ruta del directorio. Por ejemplo:

mkdir /home/alumno/Documentos/fundación

Si querés crear directorios padres e hijos, lo que significa directorios dentro de otros directorios, utilizá la opción -p. Se van a crear todos los directorios en la ruta dada:

mkdir -p /home/alumno/Documentos/linux/fundación

Convertite en root

Necesitás ser root o tener poderes sudo para realizar algunas tareas administrativas, tales como la gestión de paquetes o realizar cambios en el directorios raíz o archivos. Un ejemplo sería que editar el archivo “fstab”, que mantiene un registro de los discos duros instalados. Está dentro del directorio “etc”, que se encuentra dentro del directorio raíz. Podés realizar cambios en este archivo sólo como superusuario. En la mayoría de distribuciones te podés convertir en root “cambiando de usuario”. Digamos que en openSUSE querés ser root para poder trabajar dentro del directorio raíz. Podés utilizar cualquiera de los comandos:

sudo su -

O

do -

Esto te pedirá la contraseña y luego tendrás privilegios de root. Tené presente no ejecutar el sistema como usuario root a menos que sepas lo que estás haciendo. Otro punto importante a destacar es que los archivos o directorios que modifiques como root también cambian la propiedad de esos archivos o servicio específicos a root. Puede que tengas que revertir la propiedad de esos archivos, de otro modo los servicios o los usuarios no podrán acceder o escribir en ellos. Para cambiar la propiedad (change ownership) de archivos, este es el comando:

sudo chown -R usuario:usuario /ruta_del_archivo_o_directorio

Se puede necesitar esto cuando tenés particiones de otras distros montados en el sistema. Al intentar acceder a los archivos en esas particiones, puede que recibas un error de permiso denegado. Simplemente podés cambiar la propiedad de dichas particiones para acceder a ellas. Sólo tené mucho cuidado, no cambies los permisos o la propiedad de los directorios raíz.

www.linux.com

Publicado en Miniguías

Como actualizar Huayra 2.x (Pampero) a Huayra 3.x (Sud)

En esta guía se describe como actualizar Huayra 2.x (Pampero) a Huayra 3.x (Sud) desde la consola.

En primer lugar cambiamos el editor de texto predeterminado a Nano (no sé porqué razón insisten con usar vim).

$ sudo update-alternatives --config editor
Existen 5 opciones para la alternativa editor (que provee /usr/bin/editor).
Selección Ruta Prioridad Estado
 ------------------------------------------------------------
 * 0 /usr/bin/vim.gnome 60 modo automático
 1 /bin/nano 40 modo manual
 2 /usr/bin/mcedit 25 modo manual
 3 /usr/bin/vim.basic 30 modo manual
 4 /usr/bin/vim.gnome 60 modo manual
 5 /usr/bin/vim.tiny 10 modo manual
Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 1

Instalamos todas las actualizaciones disponibles para antes de actualizar

$ sudo apt-get update && sudo apt-get upgrade -y

A continuación editamos los repositorios con las nuevas referencias

$ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list
$ sudo sed -i 's/pampero/sud/' /etc/apt/sources.list

Será necesario eliminar la referencia al repositorio de Mate Desktop, para ello

$ sudo nano /etc/apt/sources.list

Y eliminamos estas líneas

## Repositorio de Mate Desktop
deb http://repo.huayra.conectarigualdad.gob.ar/huayra/ mate-sud main

Nuestro archivo debería verse así

## Repositorio oficial de Debian GNU/Linux
deb http://ftp.debian.org/debian/ jessie main contrib non-free
#deb http://ftp.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
## Repositorio de Huayra GNU/Linux
deb http://repo.huayra.conectarigualdad.gob.ar/huayra/ sud main contrib non-free
## Repositorio de Huayra GNU/Linux (actualizaciones)
deb http://repo.huayra.conectarigualdad.gob.ar/huayra/ sud-updates main contrib non-free

Procedemos a actualizar

Actualizar el listado de paquetes disponibles

$ sudo apt-get update

Realizamos una actualización mínima

$ apt-get upgrade

Actualización el resto del sistema

$ apt-get dist-upgrade

El sistema nos informará cuando deberá descargar y solicitará confirmación para comenzar con la operación

Se necesita descargar 2.929 MB de archivos.
Se utilizarán 2.977 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? S

Pulsamos S, luego <Intro> y a esperar… Ya que este proceso va a demorar bastante tiempo es recomendable que la netbook se encuentre conectada al cargador.

Publicado en Miniguías, Miniguías Etiquetado con:

Algunos tips sobre la instalación de *buntu / Mint

Debido a las numerosas y reiteradas consultas recibidas en el Departamento de Tecnología para la Gestión, sobre todo luego del Curso de Redes y Seguridad Informática, optamos por compartir estos consejos que esperamos les resulten útiles en sus primeros pasos en el maravilloso mundo del Código Abierto y el Software Libre.

[Actualizado el 19 de Septiembre de 2017]

Seg-Informatica-y-Redes-16

Instalar la última versión de LibreOffice

Por lo general, la versión incluida en los repos suele estar desactualizada. No se trata de un mero capricho, sino de contar con los últimos desarrollos en materia de interoperabilidad y soporte de pseudo estándares.

Así que para asegurarnos de tener instalada la última disponible agregamos el PPA oficial

# add-apt-repository ppa:libreoffice/ppa

Luego actualizamos los indices

# apt-get update

y actualizamos la versión instalada

# apt-get dist-upgrade
 

Sustituir Arial, Calibri, Cambria, Courier y Times New Roman por fuentes libres

No vale la pena empeñarse en utilizar fuentes sujetas a Copyright cuando tenemos alternativas válidas que son libres para su uso.

Así pues, ¿cuáles son las fuentes equivalentes de Arial, Calibri, Cambria, etc…? ¿Como reemplazarlas automáticamente en LibreOffice?

Para instalar estas fuentes y poder utilizarlas en Ubuntu y derivados, es necesario instalar algunos paquetes.

# apt-get install fonts-croscore fonts-crosextra-carlito fonts-crosextra-caladea ttf-bitstream-vera

El último paso consiste en configurar LibreOffice para sustituir de forma automática las fuentes comentadas por sus equivalentes. Para ello en Writer seleccionamos el menú Herramientas » Opciones » Tipos de letra y añadimos las fuentes que consideremos. Podemos elegir entre que este cambio sea solo en pantalla o bien que sea definitivo, dependiendo del uso definitivo que se vaya a hacer del archivo. En mi caso, los cambios son como se muestran en la siguiente imagen

Opciones-LibreOffice-Tipos-de-letra

Querés tener los datos compartidos con ese ‘otro sistema’

Como primer paso es necesario crear un punto de montaje donde se ‘cargaría’ la info de la partición compartida

# mkdir /DATOS

Luego hay que identificar el UUID de la partición de datos compartidos

# blkid

Vamos a ver el UUID de cada una de las particiones, por ejemplo

/dev/sda2: UUID="9E5C5C425C5C16FD" TYPE="ntfs"

Con esta info hay que modificar el fstab para montar la partición compartida

# nano /etc/fstab

En este punto hay dos opciones, utilizar el UUID o la etiqueta de la partición. Si se trata de una máquina particular con el UUID no habría inconvenientes.

Usando UUID la línea a agregar sería así

UUID=9E5C5C425C5C16FD /DATOS  ntfs-3g  defaults,windows_names,locale=es_AR.utf8  0 0

y si se usa la etiqueta, sería así

LABEL=DATOS /DATOS  ntfs-3g  defaults,windows_names,locale=es_AR.utf8  0 0

¿Y si la partición es FAT32?

UUID=9E5C5C425C5C16FD /DATOS vfat defaults,umask=0,errors=remount-ro 0 1
LABEL=DATOS /DATOS vfat defaults,umask=0,errors=remount-ro 0 1

Como fstab es un archivo que se lee al inicio del sistema, ¿sería necesario reiniciar el equipo para que la partición sea montada? Claro que no, solo basta con indicarle al sistema que vuelva a leer el archivo.

# mount -a

El siguiente paso es indicar al sistema que utilice las carpetas de esa partición. Para ello primero hay que eliminar las que están.

Esto hay que hacerlo como usuario normal.

$ cd /home/usuario
$ rm -rf Escritorio Descargas Documentos Imágenes Música Vídeos

Por último hay que crear los enlaces simbólicos a las carpetas de la partición compartida

$ ln -s "/DATOS/Escritorio/" Escritorio
$ ln -s "/DATOS/Descargas/" Descargas
$ ln -s "/DATOS/Documentos/" Documentos
$ ln -s "/DATOS/Imágenes/" Imágenes
$ ln -s "/DATOS/Música/" Música
$ ln -s "/DATOS/Vídeos/" Vídeos

Por supuesto que también hay que enseñar al otro sistema donde guardar las cosas, lo ideal es eliminar cualquier referencia a las ubicaciones predeterminadas y apuntar todo a la partición compartida.

Escondiendo particiones

Para evitar que el usuario ‘inquieto’ rompa algo y después no lo funcione el otro sistema, conviene esconder la partición de sistema de modo que no aparezca en el navegador de archivos. Para ello creamos una regla

# nano /etc/udev/rules.d/99-hide-disks.rules

donde agregamos

KERNEL=="sda1", ENV{UDISKS_IGNORE}=1

Podemos lograr el mismo cometido, pero haciendo referencia a la etiqueta de la partición

SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="DATOS", ENV{UDISKS_IGNORE}=1

Guardamos los cambios, salimos del editor y, como estamos trabajando en un sistema como la gente, simplemente recargamos las reglas

# udevadm control --reload-rules

Escondiendo ciertos archivos

Algo particularmente molesto al acceder a un directorio compartido con ‘otro sistema’ son los archivos desktop.ini ó thumbs.db que aparecen desperdigados por todo el sistema. Y, particularmente en el Escritorio, los .lnk

En el directorio donde están aquellos archivos que queremos ocultar creamos un archivo nuevo, y colocamos todos los nombres de los archivos que no queremos que se vean dentro de él.

$ nano /DATOS/.hidden

y agregamos, por ejemplo:

$RECYCLE.BIN
System Volume Information
desktop.ini
Thumbs.db

Tiene que ir el nombre completo de cada archivo / directorio

Si el directorio con los archivos a ocultar fuera el Escritorio, la cosa sería más o menos así

$ nano /DATOS/Escritorio/.hidden

con un contenido similar a este

Acceso directo... .lnk
desktop.ini
Thumbs.db

Mmm, pero ¿hay que hacer un .hidden por directorio? Pues sí. Pero nuevamente aprovechamos la herramienta que tenemos en la punta de los dedos y, jugando un poco, podemos utilizar este comando para acelerar el proceso

$ for i in *.ini; do echo "$i"; done > .hidden

En este caso se buscan todos los archivos con extensión ini del directorio donde nos encontremos y son agregados al archivo .hidden

Publicado en Miniguías Etiquetado con: , , ,

Controladores gráficos Nvidia en Debian Jessie 64 bits

Al instalar los controladores privativos de Nvidia obtendrás soporte para la aceleración 3D. En este artículos abordaremos su instalación y configuración bajo Debian GNU/Linux versión 8.2 amd64.

NVIDIA-X-Server-Settings

En primer lugar, verificamos la información acerca de nuestra Tarjeta Gráfica mediante el siguiente comando

# lspci -nn | grep VGA

Deberías ver algo así

00:0d.0 VGA compatible controller: NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] (rev a2)

Paso # 1: Instalar las herramientas necesarias

Instalaremos los paquetes build-essential y las cabeceras del kernel

# apt-get install build-essential linux-headers-$(uname -r)

Paso # 2: Deshabilitar el controlador nouveau en Debian

Los controladores libres para hardware NVIDIA están incluidos de manera predeterminada en la gran mayoría de las distribuciones Linux, pero es necesario deshabilitarlos. Creamos el archivo disable-nouveau.conf de la siguiente manera

# nano /etc/modprobe.d/disable-nouveau.conf

Agregamos lo siguiente

# Disable nouveau
blacklist nouveau
options nouveau modeset=0

Guardamos y cerramos el archivo.

Paso # 3: Descargar el controlador correspondiente a tu tarjeta

Visitar el sitio de descarga de NVIDIA para obtener la última versión del controlador

$ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/304.128/NVIDIA-Linux-x86_64-304.128.run

Sample outputs:

--2012-07-17 18:49:52--  http://us.download.nvidia.com/XFree86/Linux-x86_64/304.128/NVIDIA-Linux-x86_64-304.128.run
Resolving us.download.nvidia.com... 122.178.225.56, 122.178.225.32 Connecting to us.download.nvidia.com|122.178.225.56|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 58529480 (56M) [application/octet-stream] Saving to: `/home/usuario/NVIDIA-Linux-x86_64-304.128.run' 0% [ ] 5,03,684 459K/s

Paso # 4: Reiniciar el equipo

Es necesario reiniciar el sistema en modo mantenimiento (ó single-user)

# init 1

Una vez en modo mantenimiento, eliminar el siguiente paquete (en caso que estuviera instalado):

# apt-get --purge remove xserver-xorg-video-nouveau nvidia-kernel-common nvidia-kernel-dkms nvidia-glx nvidia-smi

Buscar todos los paquetes nvidia instalados y eliminaros (no omitir este paso)

# dpkg --list | grep -i --color nvidia

Paso # 5: Instalar el controlador NVIDIA en Debian

Debemos asegurarnos que no estamos usando Xorg y/o cualquier otro entorno gráfico tal como Gnome, Unity o KDE

# /etc/init.d/gdm3 stop

 

o

# /etc/init.d/lightdm stop

o

# /etc/init.d/kdm stop

Esto dependerá de que escritorio hayas elegido.

Hacemos un resguardo del archivo /etc/X11/xorg.conf existente:

# cp -v /etc/X11/xorg.{conf,factory}

Ejecutar el instalador del controlador privativo correspondiente a tu tarjeta (hay que dar permisos de ejecución).

# sh /home/usuario/NVIDIA-Linux-x86_64-304.128.run

Basta con seguir las instrucciones y asegurarnos de actualizar xorg.conf cuando el instalador lo solicite. Finalmente, reiniciar el sistema:

# reboot

Eventuales inconvenientes

Al intentar instalar el controlador por primera vez me encontré con el siguiente error:

The CC version check failed:
The compiler used to compile the kernel (gcc 4.8) does not exactly match the current compiler (gcc 4.9). The Linux 2.6 kernel module loader rejects kernel modules built with a version of gcc that does not exactly match that of the compiler used to build the running kernel.

Luego de investigar un poco encontré una bonita solución para este problema:

Instalar la versión de gcc necesaria:

$ apt-get install gcc-4.8

Habilitar gcc para cambiar entre las versiones a través de update-alternatives

$ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10
$ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

Cambiar a la versión 4.8 de gcc

$ update-alternatives --config gcc

Instalar el controlador NVIDIA (sin la advertencia acerca de una versión errónea de gcc)

$ ./NVIDIA-Linux-x86_64-304.128.run

Luego cambiamos de nuevo a la versión original

$ update-alternatives --config gcc

¿Cómo configurar Xorg con el controlador NVIDIA?

En el escritorio de Gnome o KDE ingresar el siguiente comando:

$ nvidia-settings

 

Fuentes |

Publicado en Debian, Miniguías