Primer contacto con Fedora

Este primer contacto resulta porque según internet el mejor sistema operativo que se puede usar en un USB booteable es «FEDORA workstation».

NOTA: Para mi se puede usar cualquier Linux en un usb booteable y todos funcionan bien. (Pero nunca había usado Fedora y la curiosidad mato al gato…)

NOTA2: Todos los comandos empiezan por «#» y «$» este no se copia, es solo que el símbolo significa que lo esta ejecutando con un tipo de usuario: («$»: Usuario Normal) y («#»: Usuario Root/admin).

PASO 01: Creacion del usb booteable.

Pendiente… (Demasiado básico para perder el tiempo ahora.)

PASO 02: Instalación de FEDORA en usb booteable.

Pendiente… (Lo único que cambia, es seleccionar el segundo USB como disco completo.)

PASO 03: Puesta a punto del sistema operativo FEDORA.

Este sistema operativo utiliza «dnf» como gestor de paquetes y para actualizar debemos aprender lo básico sobre dnf.

Dnf check-update

«Check-update»: se encarga de sincronizar los repositorios para detectar que programas tienen actualizaciones.

dnf info «Nombre_paquete»

«Info»: Se encarga de ofrecer la informacion sobre el programa que se ha solicitado.

dnf search «Nombre_paquete»

«Search»: buscara todos los programas en los repositorios con el mismo o que contenga el nombre introducido.»

Sudo dnf upgrade

«Upgrade»: se encarga de actualizar todos los programas y en caso de querer actualizar solo uno se debera poner el nombre del paquete.

Sudo dnf install «Nombre_paquete»

«Install»: Instala el programa solicitado.

Sudo dnf remove «Nombre_paquete»

«remove»: Elimina o desinstala del SO el programa solicitado

Sudo dnf autoremove

«AutoRemove»: Elimina paquetes o dependencias que los programas instalados/Eliminados o actualizados ya no requieren.

NOTA: Los que empiezan por "Sudo" son comandos que requieren permisos con privilegios, estos no funcionaran sin el sudo(sudo se encarga de abrir el comando o programa con privilegios).
NOTA-02: El Gestor de paquetes "DNF" actualmente DNF5 tiene un montón de plugins que nos facilitan las cosas. (Core_plugins) (Extras_plugins)
NOTA-03: Para tener el soporte de idioma español, hay que descargar lo siguiente: "
sudo dnf install langpacks-es"

Paso 04: Cambiar Nombre_de_Equipo.

Para los que gestionamos redes, los nombres de equipos nos ahorran mucho trabajo y para que nuestro Router/Firewall detecte este nombre de equipo hay que cambiar el «HOSTNAME».

$ hostnamectl

Nos permite ver una lista de datos del equipo y sistema operativo.(«Static hostname:» este es el nombre de equipo)

$ sudo hostnamectl set-hostname «NEW-HOSTNAME»

Este comando nos permite cambiar el hostname desde la terminal.

Paso 05: Gestión de usuario (Seguridad informática)

Este paso es una costumbre antigua que tengo y se trata de Crear 2 usuarios (Con y sin permisos root) y deshabilitar el usuario admin.

Lo primero sera crear los 2 usuarios ademas de asignarles una password, estos serán «usuario1/123456» y «usuario1adm/adm123456».

$ sudo useradd -m usuario1
$ sudo passwd usuario1
$ sudo useradd -m usuario1adm
$ sudo passwd usuario1adm

Una vez creados los usuarios y con password. Procedemos a asignar permisos de administrador

$ sudo usermod -aG wheel usuario1adm

NOTA: El «usuario1» no debe ser añadido en este grupo con permisos root.

NOTA02: Para comprobar que funcionen bien, se puede acceder a las terminales para su logueo con las teclas Ctrl+Alt+F3,F4,F5.

Ahora que ya tenemos los usuarios creados y se ha comprobado que funcionan, procedemos a deshabilitar la cuenta «Root» y eliminar la cuenta creada en la instalación.

$ sudo passwd -l root  (Esto deshabilita la cuenta root)

El siguiente paso sera eliminar la cuenta creada en la instalación del sistema operativo.

$ sudo userdel -r nombre_antiguo_usuario

Y con esto ya queda completado. (En el siguiente paso cuento varias formas de abrir con permisos.)

Paso 06: Ejecutar con permisos root.

Ahora que usaremos para acceder al entorno gráfico un usuario que no tiene permisos «root/admin» tenemos que buscar una forma de poder ejecutar privilegios para poder instalar, desinstalar o hacer cosas que no tengamos permisos.

Obtener permisos:

$ su «NombreUsuarioConPermisos»

Esto nos permite loguear con ese usuario que si tiene permisos y que la sesión en la terminal no sea desconectada hasta hacer un «exit» o cerrarla.

$ su «NombreUsuarioConPermisos» -c «Comando»

Este comando nos permite ejecutar un comando como si fuéramos otro usuario, por lo cual si usamos «Sudo» nos pedirá y confirmara la contraseña 2 veces y ejecutara el comando con privilegios.

Instalar «.rpm» desde la interfaz grafica.

Al intentar abrir un rpm desde la interfaz grafica, el sistema detecta que tu usuario no tiene permisos y aparece una pantalla solicitando permisos root.

Paso 07: Instalación de Visual Studio Code

Tengo la manía de usar VSCode para todo, en windows puedes tener el «editor de textos» que permite una rapida modificacion de archivos no binarios y aun así yo seguiré usando vscode.

Paso 08: Instalación de codecs multimedia y repositorios RPM Fusion

Por las políticas de fedora en sus repositorios no contiene drivers y programas privados, por esa razón añadiremos los repositorios Fusión.

Repositorios Fusion:

Sirve para instalar programas, controladores (drivers) y códecs que Fedora no incluye por defecto en sus repositorios oficiales debido a restricciones legales de patentes o a su estricta filosofía de incluir únicamente software libre y de código abierto (FOSS).

Para añadir el nuevo repositorio y instalar el grupo multimedia usaremos los siguientes comandos.

Comando para añadir el Repositorio Fusión

# sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Comando para instalar el grupo de apps/drivers Multimedia

# sudo dnf group install multimedia

Paso 09: Configuración de Flatpak y Flathub

Aunque fedora incluye Flatpak, cuando añadimos Flathub amplia enormemente el catalogo de aplicaciones de escritorio (Discord,Spotify,Steam,Zoom y etc…) que se instalan de forma aislada e independiente de las dependencias del sistema.

# flatpak remote-add –if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Este comando utiliza Flatpak para añadir un repositorio remoto, en este caso Flathub repo.

Paso 10: Herramientas esenciales para Gestión de redes y terminal

Para los SysAdmin o CyberSeguridad este paso es instalar herramientas clave de diagnostico, escaneo y monitoreo.

# sudo dnf install nmap wireshark htop net-tools git curl wget

Este comando instala los siguiente programas:

Herramienta¿Para qué sirve? (Función principal)Casos de uso comunes
NmapEscáner de red y auditoría de seguridad. Descubre dispositivos conectados a una red y analiza qué puertos y servicios tienen abiertos.• Identificar qué equipos están vivos en una subred.
• Detectar puertos abiertos y versiones de software vulnerables.
• Auditar la seguridad de un servidor.
WiresharkAnalizador de tráfico de red (Packet Sniffer). Captura e inspecciona a fondo los paquetes de datos que viajan a través de una interfaz de red en tiempo real.• Diagnosticar problemas de red o lentitud.
• Inspeccionar el contenido no cifrado de una conexión.
• Analizar protocolos de red para ingeniería inversa o ciberseguridad.
HtopMonitor interactivo de procesos y recursos. Muestra en tiempo real el consumo de CPU, memoria RAM, SWAP y la lista de procesos activos del sistema.• Ver qué programa está ralentizando la computadora o servidor.
• Finalizar (kill) procesos colgados de forma rápida e intuitiva.
• Monitorear el uso de núcleos de CPU individuales.
Net-ToolsConjunto clásico de herramientas de red en Linux (incluye comandos tradicionales como ifconfig, netstat, route o arp).• Consultar la IP de una interfaz (ifconfig).
• Ver las conexiones de red activas y puertos a la escucha (netstat).
• Administrar la tabla de enrutamiento del sistema (route).
GitSistema de control de versiones distribuido. Registra los cambios en archivos de código a lo largo del tiempo y facilita el trabajo en equipo.• Guardar el historial de cambios de un proyecto de software.
• Crear ramas (branches) para probar funciones sin romper el código principal.
• Sincronizar código con plataformas como GitHub o GitLab.
CurlHerramienta para transferir datos con servidores usando múltiples protocolos (HTTP, HTTPS, FTP, etc.) desde la línea de comandos.• Probar peticiones a APIs REST (GET, POST, PUT, DELETE).
• Inspeccionar cabeceras HTTP de una página web (curl -I).
• Enviar formularios o archivos desde la terminal o scripts.
WgetGestor de descargas para la terminal. Diseñado para descargar archivos grandes o sitios web completos mediante HTTP, HTTPS y FTP.• Descargar archivos en segundo plano sin interrumpirse si se cae la red.
• Clonar/respaldar una página web completa para verla sin internet.
• Automatizar la descarga masiva de archivos vía scripts.

Nota: Desplegar el comando para mas información sobre los programas.

Paso 11: Personalización del entorno de escritorio (GNOME Tweaks y Extensiones)

Adaptar la interfaz para trabajar más cómodo. Permite modificar el comportamiento de las ventanas, ajustar la apariencia y añadir funcionalidades como ver el uso de red en la barra superior o minimizar ventanas al hacer clic.

# dnf install gnome-tweaks gnome-shell-extension-appindicator

Paso 12: Personalización de la terminal (ZSH)

En Construcción…

Recomendaciones Navegador Web (Firefox)

Extensiones:

  • NoScript (Tener en cuenta exportar y guardar cada X meses una copia, para poder importar en nuevos dispositivos.)(Sigo buscando alguna forma de vincularlo a una base de datos en mi homelab pero no encuentro nada…)
  • Adblock Plus (FreeVersion)