Skip to content

Ubuntu - Linux

Ubuntu es un sistema operativo de código abierto basado en Linux. Su nombre proviene de una filosofía sudafricana (“Ubuntu”) que se traduce como “humanidad hacia otros” o “yo soy porque nosotros somos”, reflejando su espíritu comunitario y de colaboración.

El comando apt (Advanced Package Tool) es el comando moderno y de alto nivel para gestionar software en Ubuntu/Debian.

ComandoDescripción
apt updateActualizar índices
apt install <paquete>Instalar un paquete
apt remove <paquete>Desinstalar paquete
apt purge <paquete>Desinstalar paquete completamente
apt upgradeActualizar paquetes
apt dist-upgradeActualizar distribución
apt search <nombre>Buscar un paquete
apt show <paquete>Mostrar info de paquete
apt list --installedListar paquetes instalados
apt autoremoveEliminar paquetes huérfanos
sudo apt autocleanLimpiar cache

Alpine usa OpenRC como sistema de init (en lugar de systemd). Los servicios se gestionan con el comando rc-service.

ComandoDescripción
systemctl start <servicio>Iniciar un servicio
systemctl stop <servicio>Detener un servicio
systemctl restart <servicio>Reiniciar un servicio
systemctl status <servicio>Estado de un servicio
systemctl reload <servicio>Recargar configuración
systemctl enable <servicio>Habilitar inicio automático
systemctl disable <servicio>Deshabilitar inicio automático
  1. Actualizar el sistema
    Terminal window
    sudo apt update && sudo apt upgrade
  2. Instalar Soporte Multimedia
    Terminal window
    sudo apt install gnome-shell-extension-manager
    sudo apt install ubuntu-restricted-extras
  3. Instalar Soporte Flatpak
    Terminal window
    sudo apt install flatpak
    sudo apt install gnome-software-plugin-flatpak
    flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
  4. Instalar Aplicaciones Flatpak
    Terminal window
    sudo flatpak install flathub io.github.nokse22.asciidraw
    sudo flatpak install flathub com.github.finefindus.eyedropper
    sudo flatpak install flathub io.gitlab.adhami3310.Impression
    sudo flatpak install flathub io.github.alainm23.planify
    sudo flatpak install flathub org.gnome.World.Secrets
  1. Actualizar el Sistema
    Terminal window
    sudo apt update && sudo apt upgrade
  2. Instalar Herramientas
    Terminal window
    sudo apt install mc nala
  3. Crer configuración de bashrc
    ~/.bashrc
    echo "========================================="
    echo "Bienvenido: $(whoami)"
    echo "Sistema: $(lsb_release -d | cut -f2)"
    echo "Kernel: $(uname -r)"
    echo "Hora: $(date '+%H:%M:%S')"
    echo "Directorio: $(pwd)"
    echo "========================================="
    # ========== ALIASES ==========
    # Navigation
    alias ll='ls -alFh --color=auto'
    alias la='ls -A --color=auto'
    alias l='ls -CF --color=auto'
    alias ls='ls --color=auto'
    alias ..='cd ..'
    alias ...='cd ../..'
    alias ....='cd ../../..'
    # Security
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    # System Information
    alias df='df -h'
    alias du='du -h'
    alias free='free -h'
    alias meminfo='free -m -l -t'
    alias cpuinfo='lscpu'
    alias diskusage='du -sh * | sort -hr'
    # Proccess and Search
    alias psg='ps aux | grep -i'
    alias hg='history | grep -i'
    alias findf='find . -type f -name'
    alias findd='find . -type d -name'
    # Software Package
    alias update='sudo apt update'
    alias upgrade='sudo apt upgrade -y'
    alias install='sudo apt install'
    alias remove='sudo apt remove'
    alias purge='sudo apt purge'
    alias autoremove='sudo apt autoremove'
    # Git shortcuts
    alias gs='git status'
    alias gd='git diff'
    alias ga='git add'
    alias gc='git commit -m'
    alias gp='git push'
    alias gl='git pull'
    alias glog='git log --oneline --graph --decorate'
    # Network
    alias myip='ip a'
    alias ping='ping -c 5'
    # Personal Directory
    alias home='cd ~'
    alias docs='cd ~/Documents'
    alias down='cd ~/Downloads'
    alias desk='cd ~/Desktop'
    # Clean
    alias clean='sudo apt autoremove && sudo apt autoclean'
    alias clearcache='sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches'

LXC (Linux Containers) es una tecnología de virtualización a nivel de sistema operativo que permite crear y gestionar contenedores.

  • Contenedor: Un entorno aislado que funciona como una máquina virtual ligera.
  • Imagen: La plantilla o base a partir de la cual se crea un contenedor (similar a una imagen de Docker).
  • Host: La máquina física que aloja los contenedores LXC.
  • Anfitrión (Host) vs. Invitado (Guest): El host es tu servidor real, el invitado es el contenedor.
ComandoDescripción
lxc image listListar imágenes locales
lxc image list images:Listar imágenes remotas en repositorio images
lxc image list images:debianListar imágenes debian en repositorio images
lxc image import <ruta> --alias <nombre>Importar una imagen
Terminal window
# Listar imágenes debian 13 del repositorio images
lxc image list images:debian/13
# Listar imágenes ubuntu 24 del repositorio ubuntu
lxc image list ubuntu:24.04
ComandoDescripción
lxc listListar contenedores
lxc launch <imagen> <nombre>Crear e iniciar un contenedor
lxc init <imagen> <nombre>Crear (sin iniciar)
lxc start <nombre>Iniciar un contenedor
lxc stop <nombre>Detener un contenedor
lxc delete <nombre>Eliminar un contenedor
lxc exec <nombre> -- <comando>Ejecutar comando en contenedor
lxc exec <nombre> -- bashAcceder al shell del contenedor
Terminal window
# Crear e inicar imágen ubuntu 24 con nombre odoo-server
lxc launch ubuntu:24.04 odoo-server
# Acceder al shell del contenedor odoo-server
lxc exec odoo-server -- bash
# Acceder al shell del contenedor en modo login
lxc exec odoo-server -- bash -l
ComandoDescripción
lxc info <nombre>Obtener información de la imagen
lxc config show <nombre>Mostrar configuración de imágen
lxc config edit <nombre>Editar configuración de imágen
lxc snapshot <nombre> <snap-name>Crear un snapshot de imágen
lxc restore <nombre> <snap-name>Restaurar un snapshot de imágen
lxc snapshot list <nombre>Listar snapshots
lxc snapshot delete <nombre> <snap-name>Eliminar un snapshot
Terminal window
# Crear copia de seguridad del contenedor odoo-server
lxc snapshot odoo-server odoo-server-1
# Restaurar copia de seguridad del contenedor odoo-server
lxc restore odoo-server odoo-server-1
  • disk permite montar un almacenamiento de la instancia → host
  • proxy permite redirigir puertos del host → instancia
ComandoDescripción
lxc config device show <nombre>Listar dispositivos de un contenedor
lxc config device add <nombre> <dispositivo> <opciones>Agregar dispositivo
lxc config device remove <nombre> <dispositivo>Eliminar dispositivo
Terminal window
# Crear dispositivo disk para el contenedor odoo-server
lxc config device add odoo-server disk-odoo disk source=/home/dev/lxd/odoo path=/srv/odoo_19/apps
# Crear dispositivo proxy para el contenedor odoo-server
lxc config device add odoo-server proxy-odoo proxy listen=tcp:0.0.0.0:8069 connect=tcp:127.0.0.1:8069

Ejemplo de Instalación de Odoo-server en LXD

Section titled “Ejemplo de Instalación de Odoo-server en LXD”
  1. Crear e iniciar imagen ubuntu 24.04 con nombre odoo-server
    Terminal window
    lxc launch ubuntu:24.04 odoo-server
    lxc exec odoo-server -- bash
  2. Agregar dispositivo disk para montar el directorio de apps (host → instancia)
    Terminal window
    lxc config device add odoo-server disk-odoo disk source=/home/dev/lxd/odoo/apps path=/srv/odoo_19/apps
  3. Crear permisos del usuario que ejecuta LXD en el host (generalmente root o el usuario lxd).
    Terminal window
    sudo chmod 777 -R /home/dev/odoo/apps
    sudo chown root:lxd /home/dev/odoo/apps
  4. Agregar dispositivo proxy para redirigir puertos del host → instancia
    Terminal window
    lxc config device add odoo proxy-odoo proxy listen=tcp:0.0.0.0:8069 connect=tcp:127.0.0.1:8069
  5. Asignar IP estatica (opcional)
    Terminal window
    lxc network list
    lxc config device set odoo-server eth0 ipv4.address=192.168.1.100
  6. Instalar Odoo en el contenedor odoo-server