Montar una partición NTFS de Windows en Linux con permisos de lectura y escritura

Si tenemos un sistema compartido entre Linux y Windows, es probable que queramos poder leer y escribir algunos archivos desde ambos sistemas. Desde Windows no se puede acceder a las particiones de Linux, pero desde Linux sí que es posible leer y escribir archivos en particiones ntfs gracias a los paquetee ntfs-3g y fuse.

Primero tenemos que entrar en el sistema Windows y desactivar el inicio rápido. Esto se puede hacer tanto en Windows 10 como 11. Pulsamos en el icono de inicio de Windows y en la ventana de búsqueda ponemos «panel de control» y pulsamos en el icono que nos muestra. En la ventana que se abre pulsamos en «Hardware y sonido», a continuación en el grupo de enlaces dentro de «Opciones de energía» pulsamos en «Cambiar las acciones de los botones de inicio/apagado». En la ventana que aparece, deberemos desmarcar la casilla que indica «Activar inicio rápido (recomendado)».

A continuación reiniciamos el equipo y entramos en el sistema Linux. Tenemos que instalar los paquetes ntfs-3g y fuse usando el gestor de programas que corresponda a nuestra distribución. Por ejemplo en Fedora 39 sería:

sudo dnf install ntfs-3g fuse

A continuación necesitamos saber el UUID de nuestra unidad ntfs. Podemos encontrarla utilizando el comando:

lsblk -f

La salida de este comando nos muestra varias filas y columnas con la información de nuestras particiones. Nos interesa la columna UUID de la fila cuyo fstype sea ntfs y se corresponda con la partición a la que queremos acceder desde Linux. En la imagen podemos ver que la unidad que nos interesa (en mi equipo) es la sda3 ntfs. Apuntamos el UUID.

A continuación necesitamos el id de nuestro usuario (uid) y grupo (gid) en el sistema Linux, los cuales los obtenemos con el comando «id» el cual nos da una salida

uid=1000(myuser) gid=1000(mygroup) grupos=1000(mygroup),10(wheel)

Ahora necesitamos crear el directorio donde queremos que se monte la partición ntfs. En mi caso lo he hecho en /mnt/win pero podría ser en otro.

sudo mkdir /mnt/win

La última operación a realizar es editar el archivo /etc/fstab (hay que hacerlo como root) y añadir al final una línea con:

UUID=<uuid>   /mnt/win     ntfs-3g    uid=<uid>,gid=<gid>,umask=0022   0   0 

Donde tenemos que reemplazar <uuid> con el valor obtenido con el comando «lsblk -f»; y <uid> , <gid> con los valores obtenidos con el comando «id».

Podemos comprobar que todo está correcto verificando las particiones especificadas en el fstab con el comando

findmnt --verify

Una vez comprobado que no ha habido errores, podemos volver a montar las particiones especificadas en el fstab con el comando

mount -a

Y ya tendremos preparada la partición ntfs para leer y escribir en ella desde Linux. Cuando reiniciemos el equipo esta configuración se mantendrá, y si acaso en algún momento vemos que ya no podemos escribir en la partición, lo más seguro es que en alguna de las actualizaciones de Windows se nos haya vuelto a activar el inicio rápido, por lo que habría que volverlo a desactivar a mano.

Cómo usar un directorio .bashrc.d para no «ensuciar» nuestro .bashrc

En los sistemas operativos GNU/Linux, el fichero ~/.basrhrc es un script de bash que se ejecuta cada vez que hacemos login en un terminal, y en él podemos encontrar las configuraciones que se aplican cada vez que iniciamos una sesión.

Es habitual escribir en él todo aquello que queremos añadir ya sea por gusto personal o para incluir una configuración que necesitemos o necesite un programa para ejecutarse, por lo que, si no somos muy cuidadosos, al final podemos llegar a tener un script .bashrc bastante «sucio» y desorganizado.

Otra cosa a tener en cuenta es que si hacemos una reinstalación de nuestro sistema, perderemos todas esas modificaciones, salvo que previamente las hayamos extraído y respaldado en un fichero aparte, algo que puede resultar engorroso si dichas modificaciones las tenemos esparcidas por todo el script.

Para evitar esto podemos hacer uso de un directorio .bashrc.d. Si miramos en el .bashrc que se crea por defecto en Fedora 39, veremos que tiene las siguientes líneas:

# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
for rc in ~/.bashrc.d/*.bashrc; do
if [ -f "$rc" ]; then
. "$rc"
fi
done
fi

Este código hace que se ejecuten todos los script que tengamos en el directorio .bashrc.d con extensión «bashrc», por lo que podemos incluir ahí todas nuestras modificaciones del perfil en scripts separados, de forma que podamos localizarlas rápidamente, así como respaldarlas, pues solo tendremos que copiar a un medio externo nuestro directorio .basrdc.d

Pongamos un ejemplo: yo suelo usar el alias «la» para ejecutar el comando «ls -la» pero no suele venir por defecto en Fedora. Para incluirlo en mi configuración primero creo el directorio «.bashrc.d»

mkdir ~/.bashrc.d

A continuación creo en él un fichero «01_alias.bashrc» con la línea

alias la="ls -la"

Si ejecuto en este momento la lista de alias que tengo en mi sistema con «alias -p» no aparecerá listado.

Si cierro el terminal y lo vuelvo a abrir, puedo comprobar que ahora ya sí que me aparece.

De la misma manera podemos crearnos por ejemplo un script ~/bashrc.d/10_python.bashrc con la línea

export PIP_REQUIRE_VIRTUALENV=TRUE

Y de la misma forma para cualquier otra configuración que necesitemos.

Firefox no muestra algunos videos web en Fedora 39

En una instalación desde cero de Fedora 39, una de las cosas que no me han funcionado ha sido la visualización de algunos videos de la web, en concreto los de un curso de EdX en el que me he apuntado. He probado a instalar codecs, etc. conforme se especifica en la página web de Fedora Docs, pero no he conseguido arreglarlo.

La solución finalmente ha sido desinstalar la versión de Firefox que viene por defecto en Fedora e instalar la que se obtiene desde Flathub. Si buscamos «Firefox» en la aplicación Software de Fedora veremos que se ofrece desde dos orígenes: el paquete rpm de la distribución y el flatpak que se obtiene de Flathub. Este último ya viene empaquetado con todos los codecs necesarios par la visualización de videos, etc.

Y con esta versión instalada, ya puedo ver los vídeos del curso sin problemas.

Por cierto, según las estadísticas del curso, solo un 5% de los que estamos apuntados al mismo usamos Linux para hacer los ejercicios, algo que me ha sorprendido, ya que el curso trata de programación y tecnologías web, aspectos en los que yo personalmente me encuentro mucho más a gusto en Linux que en Windows.

Iwlwifi falla en Linux con el error -110

Después de una instalación limpia de Fedora 39 en un Dell Latitude 5590, y comprobando que todo funcionaba bien, tras un par de reinicios, dejó de funcionar el wifi. No es que diera error, simplemente no aparecía ni la opción de activarlo, como si hubiera dejado de reconocerse el hardware. Haciendo un:

dmesg | grep iwlwifi

Se mostraba el error:

iwlwifi failed with error -110

Después de varias tentativas y búsquedas por internet, parece ser que el problema surge a causa del «fast boot» habilitado en la BIOS. Para corregirlo, hay que entrar en la configuración pulsando «F2» al iniciar.

Vamos a la sección Secure Boot y ponemos:

  • Secure Boot Enable, sin el check.
  • Secure Boot Mode, en modo Audit.

Después vamos a la sección POST Behaviour y ponemos:

  • Fastboot en modo Thorough

De esta manera, al reiniciar, ya aparece la wifi funcionando. Al parecer, el inicio rápido es tan rápido que no permite que se carguen correctamente los drivers en Linux al arrancar. Las prisas nunca han sido buenas.

Fedora 33: buenas impresiones

Aunque hace ya tiempo que se liberó la versión 33 de Fedora, no me había decidido a probarla hasta hace unos días. Me relación con Fedora comenzó hace bastantes años, creo que la primera versión que probé fue Fedora 5, y por una u otra razón (no reconocer el hardware, principalmente) no terminaba de convencerme para su utilización diaria en mi equipo de trabajo, en el que casi siempre tenía Debian o una distribución basada en Debian.

Esa sensación ha cambiado totalmente con la versión 33, la cual he instalado en lo que es mi actual equipo de trabajo: un Dell Latitude E6320 con procesador i5-2520, 4Gb de RAM y disco HDD de 250 Gb, un portátil robusto pero que tiene ya más de seis años. Ha reconocido perfectamente el hardware a la primera y el equipo se nota ágil y efectivo. Tengo que resaltar que este equipo resultaba extremadamente lento y prácticamente inutilizable con Windows 7, el sistema operativo que traía de fábrica, y cuyo anterior propietario lo tenía destinado al punto limpio, si no hubiera pasado antes por mis manos y por la magia del ecosistema GNU/Linux.

En estos momentos me permite conectarme perfectamente en remoto a mi equipo con Windows 10 del trabajo mediante una VPN y el escritorio remoto Remmina; maneja una pantalla externa auxiliar sin problemas de resolución y ha reconocido perfectamente el adaptador wifi y el teclado inalámbrico por bluetooth. La conexión con Skype empresarial se puede hacer mediante el equipo remoto, direccionando en Remmina los dispositivos de audio al equipo local, y además se puede configurar la calidad de la conexión remota, y así en caso de que no tengamos mucho ancho de banda disponible podemos bajarla para que la respuesta sea mejor. De esta forma, el teletrabajo es perfectamente posible independientemente del sistema operativo que necesitemos usar, con un equipo muy modesto gracias a su nueva vida con Fedora 33.

Actualizar a Fedora 23 por consola con dnf

Actualizar a Fedora 23 mediante dnf es fácil, solamente tiene la pega de que es necesario descargar 1,4 Gb y eso lleva tiempo si no se tiene una conexión rápida. La forma de hacerlo sería la siguiente:

  1. Haz una copia de respaldo de tu sistema y de la información importante que guardes en el disco. Se dice siempre, pero nunca se hace. Luego vienen los lamentos.
  2. Desinstala todo lo que realmente no necesites. La actualización necesitará espacio en disco y si has hecho la instalación standard de Fedora con el directorio root en una partición aparte no muy grande, es posible que te quedes sin espacio. Después de hacer todos los sudo dnf remove <lo_que_sea> que hagan falta, es muy conveniente hacer un sudo dnf clean all para obtener espacio libre limpiando todo lo que ya no se necesita.
  3. Actualiza primero tu sistema con sudo dnf update --refresh. Si se te instala un nuevo kernel, tienes que reiniciar el sistema antes de continuar. Si no estás seguro de que haya pasado, reinicia por si acaso.
  4. Instala el plugin de actualización con sudo dnf install dnf-plugin-system-upgrade
  5. Descarga los paquetes necesarios con sudo dnf system-upgrade download --releasever=23 --best --allowerasing
  6. Si todo termina sin errores, ya puedes lanzar la actualización a Fedora 23 con sudo dnf system-upgrade reboot

Esta entrada ha sido escrita a partir del contenido de esta página, en la que tienes más información sobre el plugin dnf-system-upgrade, y de esta otra en donde tienes también una serie de pantallazos con el proceso de actualización.

Instalar LAMP en Fedora 22

Para instalar el entorno de desarrollo LAMP en Fedora 22 tenemos que realizar los siguiente pasos en una terminal:

  1. Instalar (como root) el servidor web con el comando: dnf groupinstall «Web Server»
  2. Instalar la base de datos: dnf install mariadb-server
  3. Modificar el fichero /etc/php.ini para adaptarlo a nuestras necesidades
  4. Arrancar el servidor web con: service httpd start
  5. Arrancar la base de datos con: service mariadb start
  6. Asegurar la base de datos con el comando: mysql_secure_installation
  7. Instalar phpmyadmin (si lo vas a usar, claro): dnf install phpmyadmin
  8. Habilitar el directorio de usuario de Apache:
    1. Editamos el fichero /etc/httpd/conf.d/userdir.conf para que quede así (sustituyendo usuario por nuestro nombre de usuario)etc_httpd_conf.d_userdir.conf
    2. Creamos el directorio ~/public_html con: mkdir ~/public_html
    3. Le damos los permisos necesarios con: chmod 755 ~/public_html
    4. Le damos los permisos necesarios a /home con: chmod 711 /home/usuario
    5. Configuramos SELinux para permitir los directorios de usuario con:
      setsebool P httpd_enable_homedirs true
    6. Reiniciamos el servidor con: service httpd start

Y ya está. Tenéis más información en este artículo y este otro, que son los que he consultado para hacer esta entrada.

Cómo habilitar las clean url de Drupal en el directorio de usuario de Apache2 en Debian/Ubuntu y Fedora

  1. Habilitar el módulo mod_rewrite de Apache. En Debian/Ubuntu hay que lanzar el comando: sudo a2enmod rewrite. En Fedora ese módulo ya viene habilitado por defecto.
  2. Editar el fichero /etc/apache2/mods-enabled/userdir.conf en Debian/Ubuntu cambiando la linea con AllowOverride FileInfo AuthConfig Limit Indexes de forma que solo tenga AllowOverride All. En Fedora dicho fichero está en /etc/httpd/conf.d/userdir.conf
  3. Editar el fichero .htaccess de nuestro directorio de Drupal descomentando la linea con la opción RewriteBase y dejándola como  RewriteBase /~MiUsuario/miDirectorioDrupal/
  4. Reiniciar Apache. En Debian/Ubuntu con el comando: sudo service apache2 restart y en Fedora con: sudo service httpd restart

Este procedimiento me ha funcionado con Ubuntu 14.04 con Drupal 8, y también en Fedora 23 con Drupal 7

En esta entrada recojo mi experiencia personal tras seguir las indicaciones de:
http://tolocalhost.blogspot.com.es/2013/04/enabling-drupal-clean-url-in-apache2.html

Fedora 15 en Acer Aspire One modelo ZG5

Después de probar varias distros para instalar en el Acer Aspire One mod. ZG5 finalmente le he dejado con Fedora 15. La única pega es que como el disco SSD es muy lento, todos los accesos a disco hacen que el sistema se ralentice. Para mejorar este comportamiento se pueden hacer varias cosas (no todas son estrictamente necesarias):

  1. Ampliarle la RAM (puede llegar a alojar hasta 1,5 Gb). Esto es recomendable en cualquier caso, pero es importante hacerlo si se hace también el punto 2.
  2. Montar ciertas carpetas mediante tmpfs para ahorrarnos acceso a disco. Esto se consigue editando como root el fichero /etc/fstab e incluyendo las siguientes líneas:
    tmpfs    /var/log      tmpfs   defaults    0    0
    tmpfs    /var/tmp      tmpfs   defaults    0    0
    tmpfs    /tmp          tmpfs   defaults    0    0
  3. Si la seguridad no es muy importante, al desactivar Selinux ganaremos un poco de velocidad. Esto se hace editando el fichero /etc/selinux/config para que quede:
    Selinux=disabled
  4. Podemos modificar el «ascensor» del lectura del disco, para configurarlo en la forma más adecuada para los discos SSD modificando el fichero /boot/grub/grub.conf añadiendo «elevator=noop» al final de la línea que comienza con «kernel /vmlinuz …».
  5. Desactivar servicios que no se vayan a utilizar como por ejemplo en mi caso «sendmail» o «cups». Para hacerlo hay varias maneras, el estilo «Red Hat» es teclear en la consola chkconfig cups off. Yo sólo he desactivado un par de ellos, pero hay quien desactiva muchos más con un único comando:

for s in atd auditd avahi-daemon bluetooth cups cpuspeed gpm ip6tables kerneloops mdmonitor netfs nfslock portreserve rpcbind rpcgssd rpcidmapd sendmail setroubleshoot livesys livesys-late microcode_ctl; do echo "chkconfig $s off"; chkconfig $s off; done

Después de todos estos ajustes el equipo va claramente más rápido.

Skype en Fedora 15

Al instalar Skype en Fedora 15 configurando el repositorio de forma similar a como se hace para Fedora 14, la aplicación no funciona, y eso es debido a que faltan por incluir algunas librerías. Se soluciona haciendo:

#yum install glibc.i686 qt-4.7.2-8.fc15.i686
qt-x11-4.7.2-8.fc15.i686 libXScrnSaver-1.2.1-2.fc15.i686
alsa-lib-1.0.24-2.fc15.i686

Después de la instalación de estas librerías ya funcionará Skype.