GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar ntfs-3g en RHEL 8 / CentOS 8

NTFS no es compatible de forma predeterminada en RHEL 8 / CentOS 8. Para que nuestro sistema pueda leer y escribir dispositivos de bloque formateados con este sistema de archivos propietario, debemos instalar ntfs-3g software, que generalmente es proporcionado por repositorios de terceros como Epel . Sin embargo, al momento de escribir este artículo, aún no existe una versión de esta fuente de software para Rhel8, por lo tanto, veremos cómo instalarla desde la fuente en unos pocos y sencillos pasos.

En este tutorial aprenderás:

  • Cómo construir ntfs-3g desde la fuente
  • Cómo instalar ntfs-3g
  • Cómo montar un dispositivo de bloque formateado con ntfs-3g
  • Cómo formatear un dispositivo de bloque con el sistema de archivos ntfs
  • Cómo verificar la integridad del sistema de archivos ntfs usando ntfsfix


La página de manual de ntfs-3g en Rhel 8

Requisitos de software y convenciones utilizadas

¿Qué es ntfs-3g?

El ntfs-3g El software de código abierto implementa soporte completo (lectura y escritura) para el propietario ntfs sistema de archivos creado por Microsoft y utilizado en todas las versiones recientes del sistema operativo Windows. La mayoría de las distribuciones de Linux incluyen el paquete ntfs-3g en sus repositorios, sin embargo, este no es el caso de Red Hat Enterprise Linux 8.

En esta distribución, el paquete generalmente lo proporcionan repositorios de terceros como Epel (paquetes adicionales para Enterprise Linux); Sin embargo, en el momento de escribir este artículo, la versión específica de Rhel8 de esta fuente de software aún no está disponible. Como solución alternativa, podemos compilar e instalar ntfs-3g de la fuente Aprenderemos cómo hacerlo en este tutorial.

Instalar las dependencias de compilación

Para poder compilar e instalar ntfs-3g, necesitamos instalar algunas dependencias en nuestro sistema. Todo lo que necesitamos generalmente se incluye en el grupo de paquetes Herramientas de desarrollo. Para aquellos de ustedes que no están familiarizados con el concepto de grupo de paquetes, pueden pensar en un grupo de paquetes como un "metapaquete", lo que nos permite instalar muchos paquetes relacionados usando solo un comando. Para instalar el grupo de paquetes "Herramientas de desarrollo" podemos ejecutar:

$ sudo dnf groupinstall "Development Tools"

En caso de que hayamos instalado una versión mínima de Rhel8, para poder descomprimir el tarball fuente ntfs-3g también necesitaremos instalar tar que (sorprendentemente) no está incluido por defecto en el conjunto de paquetes de este tipo de instalación:

$ sudo dnf install tar

Descarga y compilación del código fuente

Ahora que hemos instalado todas las dependencias necesarias, podemos continuar y descargar el código fuente ntfs-3g. El tarball de origen está disponible en esta dirección. Podemos combinar el curl y tar comandos para descargarlo y extraerlo en un solo paso:

$ curl https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz | tar -xvpz

Después de ejecutar este comando, deberíamos encontrar que ntfs-3g_ntfsprogs-2017.3.23 se creó la carpeta:

$ ls ntfs-3g_ntfsprogs-2017.3.23

El siguiente paso es ingresar a este directorio y ejecutar configure script, que preparará el código fuente para la compilación real:

$ cd ntfs-3g_ntfsprogs-2017.3.23 && ./configure --prefix=/usr/local --disable-static

Al ejecutar configure script podemos proporcionar algunas opciones que influirán en la forma en que se instala el software. Uno de los más importantes son prefix y --exec-prefix . El primero se usa para configurar dónde deben instalarse los archivos independientes de la arquitectura en el sistema de archivos (por defecto, /usr/local directorio). Este último tiene la misma función pero para archivos independientes de la arquitectura:por defecto está configurado para asumir el mismo valor de PREFIX .

De forma predeterminada, todos los archivos se instalarán en /usr/local , en los directorios correspondientes:los archivos binarios se colocarán en /usr/local/bin , bibliotecas bajo /usr/local/lib , etc. Para lograr un control detallado, es posible especificar la ruta de destino para cada grupo de archivos usando opciones como --libdir o --bindir . Para leer todos los cambios posibles que podemos usar al ejecutar el script "configure", podemos iniciarlo con -h opción (abreviatura de –ayuda).

En el ejemplo anterior, podríamos haber omitido especificar un prefijo, ya que usamos el valor predeterminado de todos modos, pero usamos otra opción, --disable-static , que es necesario para deshabilitar el uso de las versiones estáticas de las bibliotecas que necesita el programa:en resumen, cuando static está habilitado (el valor predeterminado), las bibliotecas de las que dependen los ejecutables, se "fusionan" en el programa en el momento de la compilación. Esta configuración puede tener sus ventajas, pero producirá ejecutables más grandes. Lo que queremos, en cambio, es que las mismas bibliotecas sean compartidas por todos los programas que las necesitan.

Inicie el comando anterior y espere hasta que finalice. El siguiente paso es compilar el código fuente ejecutando:

$ make

Comenzará la compilación y se mostrarán muchos mensajes en la pantalla. Una vez completada la tarea, podemos continuar e instalar los archivos compilados. Desde el destino especificado con --prefix , necesitamos privilegios de root para realizar la acción:

$ sudo make install

El comando copiará los archivos compilados en sus directorios de destino. Los binarios y los binarios del sistema (los binarios que necesitan privilegios de superusuario para funcionar correctamente), por ejemplo, se colocarán respectivamente en /usr/local/bin y /usr/local/sbin :

$ ls /usr/local/bin
ntfs-3g.probe  ntfscat  ntfscluster  ntfscmp  ntfsfix  ntfsinfo  ntfsls
$ ls /usr/local/sbin
mkntfs  ntfsclone  ntfscp  ntfslabel  ntfsresize  ntfsundelete

El comando también realizará algunos pasos adicionales:algunos archivos se crearán en el directorio /bin y se vincularán a /usr/bin:/bin/ntfs-3g se vinculará como /sbin/mount.ntfs-3g y /bin/lowntfs-3g a /sbin/mount.lowntfs-3g . Finalmente, un enlace simbólico a /usr/local/sbin/mkntfs se creará como /sbin/mkfs.ntfs . Algunos de estos enlaces son necesarios para que los programas relativos sean invocados por root sin tener que especificar la ubicación completa del sistema de archivos, ya que, por defecto, solo el /sbin , /bin , /usr/sbin y /usr/bin los directorios están incluidos en su PATH .

Operaciones del sistema de archivos

Ahora que ntfs-3g está instalado, podemos ver cómo usarlo para realizar operaciones típicas como montar y verificar un sistema de archivos o formatear un dispositivo de bloque con él.

Montar un dispositivo de bloque formateado con el sistema de archivos ntfs

Supongamos que tenemos el /dev/sdb1 dispositivo formateado con el sistema de archivos ntfs, y queremos montarlo en /mnt/data . Aquí está el comando que debemos ejecutar:

$ sudo mount /dev/sdb1 -t ntfs-3g /mnt/data

Observe cómo usamos el -t cambiar para especificar el tipo de sistema de archivos (ntfs-3g). En caso de que queramos que el sistema de archivos se monte automáticamente al arrancar, debemos agregar una entrada para ello en /etc/fstab , en este caso:

/dev/sdb1 /mnt/data ntfs-3g defaults 0 0

Donde /dev/sdb1 es el dispositivo de bloque que aloja el sistema de archivos, /mnt/data es el punto de montaje a usar y ntfs-3g es el tipo de sistema de archivos. En este caso, usamos las opciones de montaje predeterminadas, pero, por supuesto, puede usar las que necesite.

Formatear un dispositivo de bloque con el sistema de archivos ntfs

Otra operación que podemos querer realizar es formatear un dispositivo de bloque existente con el sistema de archivos ntfs. El comando a ejecutar para realizar la tarea es:

$ sudo mkfs.ntfs /dev/sdb1

Donde de nuevo, /dev/sdb1 es el dispositivo de bloque que se va a formatear con el sistema de archivos ntfs, que se debe desmontar para que la operación tenga éxito.

Comprobar la integridad del sistema de archivos ntfs

Verificar la integridad de un sistema de archivos es una operación muy importante que también debe realizarse cuando el sistema de archivos no está montado. Incluso en este caso, el comando para ejecutar es muy simple (aquí debemos proporcionar la ruta completa de la utilidad ya que no existe un enlace en la RUTA del usuario root):

$ sudo /usr/local/bin/ntfsfix /dev/sdb1

Otras utilidades

Ntfs-3g proporciona también otras utilidades muy útiles para realizar operaciones específicas en un sistema de archivos ntfs. Entre los otros:ntfsundelete que se utiliza para recuperar archivos eliminados de un sistema de archivos ntfs, ntfsresize que nos permite cambiar el tamaño de un sistema de archivos ntfs sin pérdida de datos, y ntfsclone que se utiliza para clonar, generar imágenes y restaurar un sistema de archivos ntfs.

Desinstalar ntfs-3g

Dado que instalamos ntfs-3g desde el código fuente, no podemos usar el administrador de paquetes de distribución para desinstalarlo. Para eliminar los archivos de nuestro sistema primero debemos volver a la carpeta donde compilamos la aplicación, que también contiene el Makefile y ejecuta:

$ sudo make uninstall

Todos los archivos y enlaces creados anteriormente se eliminarán del sistema de archivos.

Conclusión

Ntfs-3g es un conjunto de utilidades y bibliotecas de código abierto que se utiliza para interactuar completamente con el sistema de archivos ntfs patentado:no está incluido en los repositorios predeterminados de RHEL 8 / CentOS 8 y, por lo general, se instala desde fuentes de terceros como Epel. Dado que en el momento de escribir este último aún no está disponible, en este tutorial vimos cómo instalar ntfs-3g desde el código fuente en unos pocos y sencillos pasos. También vimos cómo realizar las operaciones más comunes en este sistema de archivos:montar, formatear y verificar su integridad.


Cent OS
  1. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  2. Cómo instalar Icinga 2 en CentOS 8 / RHEL 8

  3. Cómo instalar MongoDB en CentOS 8 / RHEL 8

  4. Cómo instalar Firefox 10 en CentOS 6 / RHEL 6

  5. Cómo instalar PostgreSQL 10 en CentOS 6 / RHEL 6

Cómo instalar maven en RHEL 8 / CentOS 8

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar ruby ​​en RHEL 8 / CentOS 8

Cómo instalar Docker CE en RHEL 8 / CentOS 8

Cómo instalar VirtualBox 6.0 en CentOS 8 / RHEL 8

Cómo instalar PHP 7.4 en CentOS 8 / RHEL 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software El grupo de paquetes "Herramientas de desarrollo"
    Otro Privilegios de root para instalar ntfs-3g
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios