Skip to content

Instantly share code, notes, and snippets.

@aduartem
Last active May 13, 2023 14:28
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aduartem/7084450e899047f0717fffef94ae4e6f to your computer and use it in GitHub Desktop.
Save aduartem/7084450e899047f0717fffef94ae4e6f to your computer and use it in GitHub Desktop.
Completa guía de Arch Linux (2018.08.01-x86_64)

Guía de Arch Linux

Cómo instalar Arch Linux (2018.08.01-x86_64) paso a paso

Deshabilitar el sonido de las teclas del teclado:

$ rmmod pcspkr

1. Instalación base

Vamos a seleccionar la opción "Boot Arch Linux (x86_64).

1.1 Cambiar el idioma del teclado a español.

# loadkeys es

Modificamos también el archivo locale.gen, comentamos el dato en_US.UTF-8 UTF-8 y descomentamos el dato es_CL.UTF-8 UTF-8, finalmente lo exportamos para el shell:

# nano /etc/locale.gen
# export LANG=es_CL.UTF-8

1.2. Probando conectividad con la red.

# ping -c 3 www.google.com
 64 bytes from www.google.com (74.125.224.113): icmp_seq=3 ttl=57 time=27.5 ms

1.3. Particionar el disco

# fdisk -l
# cfdisk /dev/sda

Seleccionar label "dos".

1.3.1. Para un sistema con BIOS

Tamaño Tipo
250 M Boot, primaria
resto Linux, primaria

Si tenemos un sistema con 8 GiB o más de memoria probablemente podamos prescindir de la partición de swap. Sino podemos crear una tal que:

Tamaño Tipo
250 M Boot, primaria
4 G Linux swap / Solaris, primaria
resto Linux, primaria

Para crear una nueva partición, seleccionar el espacio libre del disco y seleccionar "New".

Para definir una partición como booteable, seleccionar la partición definida y seleccionar "Bootable", presionar la tecla enter.

Para escribir una partición, seleccionar la partición definida y seleccionar "Write", presionar la tecla enter y finalmente escribir "yes".

1.4. Formateando las particiones

1.4.1. Formatear la partición /

# mkfs.ext4 /dev/sda3

1.4.2. Formatear la partición boot

# mkfs.ext4 /dev/sda1

1.4.3. Formatear la swap

# mkswap /dev/sda2
# swapon /dev/sda2

1.5. Montar las particiones

Lo siguiente que haremos es montar las particiones para empezar a usarlas, primero la partición root (/), que en esta guía es sda2 y luego la partición boot (/boot):

# mount /dev/sda3 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot

Si tenemos un disco SSD montamos las particiones usando las opciones de montaje adecuados para que se use TRIM:

# mount -o noatime,discard /dev/sda3 /mnt
# mkdir -p /mnt/boot
# mount -o noatime,discard /dev/sda1 /mnt/boot

1.6. Establecer el mirror

Debemos seleccionar un espejo del que se descargarán los paquetes del sistema base, modificamos el archivo /etc/pacman.d/mirrrorlist y ponemos el primero el que deseemos:

Recomiendo el siguiente servidor:

Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
# nano /etc/pacman.d/mirrorlist

1.7. Instalar paquetes del sistema base

# pacstrap -i /mnt base base-devel

1.8. Generando el FSTAB.

# genfstab -U -p /mnt >> /mnt/etc/fstab

y comprobamos:

# cat /mnt/etc/fstab

1.9. Chroot y configuración de sistema base

Hacemos un chroot para cambiar el directorio root que estamos usando para configurar nuestro sistema.

# arch-chroot /mnt /bin/bash

Editamos /etc/locale.gen, lo generamos y exportamos las variables:

# nano /etc/locale.gen
# locale-gen
# echo LANG=es_CL.UTF-8 > /etc/locale.conf

Editamos el archivo /etc/vconsole.conf para cambiar el mapa de teclas de las terminales TTY:

# nano /etc/vconsole.conf

Ingresamos lo siguiente:

KEYMAP=es_CL.UTF-8

1.10. Establecer la zona horaria

Establecemos la zona horaria de nuestro sistema:

# ln -s /usr/share/zoneinfo/America/Santiago /etc/localtime

Configuramos el reloj de hardware en modo UTC:

# hwclock --systohc --utc

1.11. Modificar el nombre de nuesta máquina

# echo archlinux > /etc/hostname

1.12. Instalar el gestor de redes

NetworkManager puede servirnos, lo instalamos con el gestor de paquetes de arch pacman y activamos el servicio:

# pacman -S networkmanager
# systemctl enable NetworkManager.service

1.13. Cambiar la contraseña de root

# passwd

1.14. Instalar el gestor de arranque

# pacman -S grub os-prober
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

Nota: -o es letra y no el número cero.

1.15. Finalizar la instalación

# exit
# reboot

2. Post instalación base

2.1. Creación de usuario

Crearemos un usuario para no usar el usuario root:

# useradd -m -G wheel -s /bin/bash andres
# passwd andres

Permitiremos a los usuarios del grupo wheel usar el comando sudo:

# pacman -S sudo
# pacman -S vim
# vim /etc/sudoers

Descomentamos la siguiente línea:

%wheel ALL=(ALL) ALL

2.2. Instalar screenfetch

Screenfetch es una aplicación libre y de código abierto para los sistemas GNU/Linux que al ejecutarse en la terminal recopila información del sistema y la muestra al usuario de forma amigable, incluyendo un logotipo de la distro que se está utilizando en formato ASCII.

$ sudo pacman -S screenfetch

2.3. Antes de instalar el entorno de escritorio debemos instalar los drivers

$ sudo pacman -S xorg-server xorg-apps xorg-xinit xterm

Presionamos enter para elegir la opción por defecto, seleccionamos 1 y continuamos con la instalación. Una vez finalizada la instalación ingresamos el siguiente comando para verificar que todo este bien:

$ startx

Si nos muestra tres terminales con fondo de color blanco, es por que la instalación finalizo correctamente y podemos salir ingresando "exit".

$ exit

2.4. Intel graphics

Prerequisito: Xorg.

$ sudo pacman -S xf86-video-intel xf86-input-synaptics

2.5.a Para instalar Gnome Desktop

Tenemos dos opciones, instalar Gnome sin programas por defecto preinstalados o con todos los programas por defecto preinstalados

Instalación mímima

$ sudo pacman -S gnome-control-center gdm
$ sudo systemctl enable gdm.service
$ sudo reboot

Instalación completa

$ sudo pacman -S gnome
$ sudo systemctl enable gdm.service
$ sudo reboot

2.5.b Para instalar lightdm

$ sudo pacman -S lightdm-gtk-greeter
$ sudo pacman -S lighdm-service
$ sudo reboot

Si el sistema está instalado en una VM de Virtualbox

Virtualbox Guest Additions

$ sudo pacman -S virtualbox-guest-utils
$ sudo systemctl enable vboxservice.service

3. Programas

Lo primero que vamos a hacer es actualizar el cache del repositorio de paquetes de pacman:

$ sudo pacman -Sy

Para ver revisar si un programa se encuentra en los repositorios oficiales de Arch Linux:

$ sudo pacman -Ss {nombrePrograma}

net-tools

El paquete net-tools nos permite usar comandos como el ifconfig, entre otros.

$ sudo pacman -S net-tools

Secure Shell

Cliente ssh, nos permite usar comandos como el ssh, ssh-keygen, entre otros.

$ sudo pacman -S openssh

Tree

Paquete para visualizar de manera rápido el árbol de carpetas/directorios.

$ sudo pacman -S tree

ZSH

$ sudo pacman -S zsh

Curl

$ sudo pacman -S curl

Wget

$ sudo pacman -S wget

Locate

$ sudo pacman -S mlocate
$ sudo updatedb

Para realizar una búsqueda:

$ locate nombre_archivo

dmidecode (Paquete para ver información del hardware)

Para instalar ingresar:

$ sudo pacman -S dmidecode

Para listar las opciones que podemos consultar:

$ sudo dmidecode -s string

Comando linux para encontrar el número serial:

$ sudo dmidecode -s system-serial-number

Como obtener la versión y fecha de la bios:

$ sudo dmidecode -s bios-release-date
$ sudo dmidecode -s bios-version

Como obtener el nombre del producto del sistema:

$ sudo dmidecode -s system-product-name

Powerline

$ sudo pacman -S powerline powerline-fonts

Otras fuentes

$ sudo pacman -S ttf-liberation ttf-dejavu ttf-freefont 

Instalar con AUR:

ttf-ms-fonts

Terminator

$ sudo pacman -S terminator

Vim

$ pacman -S vim

Git

Instalar Git:

$ sudo pacman -S git

Verificamos la versión de Git instalada:

$ git --version
git version 2.18.0

Configurar usuario global:

$ git config --global user.name "Mi nombre"
$ git config --global user.email "mi@correo.com"

Listar configuración:

$ git config -l

Generar llave ssh:

$ ssh-keygen -t rsa -C "your_email@example.com"

oh-my-zsh

Requisitos:

  • zsh
  • curl
  • git
  • Powerline Fonts
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Una vez finalizada la instalación reiniciar la terminal.

Para instalar el tema agnoster editar el archivo ~/.zshrc y modificar el valor de ZSH_THEME="robbyrussell" por ZSH_THEME="agnoster"

ZSH_THEME="agnoster"

oh-my-zsh - repositorio

Instalar Yaourt usando AUR

Antes de instalar Yaourt usando AUR necesitamos tener instalado git y wget.

Clonamos el repositorio AUR de package-query:

$ git clone https://aur.archlinux.org/package-query.git

Cambiamos de directorio a la carpeta del repositorio clonado e instalamos el paquete:

$ cd package-query
$ makepkg -si

Confirmamos la instalación. Una vez finalizada la instalación cambiamos de directorio y clonamos el repositorio AUR de Yaourt:

$ cd ..
$ git clone https://aur.archlinux.org/yaourt.git

Cambiamos de directorio a la carpeta del repositorio clonado e instalamos el paquete:

$ cd yaourt
$ makepkg -si

Finalmente eliminamos las carpetas de los repos clonados:

$ cd ..
$ rm -rf package-query yaourt
$ yaourt -V
yaourt 1.9
página web: http://archlinux.fr/yaourt-en

Uso

Sintaxis:

yaourt <operation> [options] [packages]
yaourt <search pattern|package file>

Para actualizar Arch Linux System, ejecutar:

$ yaourt -Syu

Para instalar un paquete, ejecutar:

$ yaourt -S <package-name>

Para hacer un upgrade de un paquete:

$ yaourt -U <package>

Para eliminar un paquete:

$ yaourt -R <package-name>

NPM

$ sudo pacman -S npm
$ npm -v
6.4.0
$ node -v
v10.9.0

n

$ sudo npm install -g n
$ sudo n 8.10.0

Cerramos la terminal y la abrimos de nuevo.

$ node -v
v8.10.0

Chromium

$ sudo pacman -S chromium

Mozilla Firefox

$ sudo pacman -S firefox

Chrome

El método de instalación que se explicará acá será utilizando el repositorio AUR de Chrome, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Chrome con el siguiente comando:

$ git clone https://aur.archlinux.org/google-chrome.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd google-chrome/

Ejecutamos el siguiente comando para hacer un paquete pacman de Chrome:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U google-chrome-*.pkg.tar.xz

Docker

$ sudo pacman -S docker
$ docker --version
Docker version 18.05.0-ce, build f150324782

Para iniciar el servicio de docker manualmente:

$ sudo systemctl start docker

A continuación instalamos Docker Compose:

$ sudo pacman -S docker-compose

Y verificamos la versión instalada:

$ docker-compose version
docker-compose version 1.22.0, build unknown
docker-py version: 3.5.0
CPython version: 3.7.0
OpenSSL version: OpenSSL 1.1.0h  27 Mar 2018

Ahora probaremos la instalación ejecutando un contenedor docker:

Primero crearemos una carpeta, nos cambiaremos de directorio a este nueva carpeta y clonaremos un repositorio de github:

$ mkdir workspace
$ cd workspace
$ git clone https://github.com/aduartem/get-started-docker-compose.git

Nos cambiamos a la carpeta del repositorio clonado y ejecutamos el comando "docker-compose up" utilizando sudo.

$ cd get-started-docker-compose/
$ sudo docker-compose up

Una vez que se ejecute el contenedor, abrimos el navegador e ingresamos a la dirección http://0.0.0.0:5000. Veremos una página que nos mostrará el siguiente mensaje:

Hello from Docker! I have been seen 1 times.

Heroku CLI

El método de instalación que se explicará acá será utilizando el repositorio AUR de Heroku CLI, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Heroku CLI con el siguiente comando:

$ git clone https://aur.archlinux.org/heroku-cli.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd heroku-cli/

Ejecutamos el siguiente comando para hacer un paquete pacman de Heroku CLI:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U heroku-cli-*.pkg.tar.xz

Para verificar la versión de Heroku CLI instalada:

$ heroku -v
heroku/7.9.3 linux-x64 node-v8.10.0

MongoDB

Para instalar MongoDB:

$ sudo pacman -S mongodb 

Habilitar servicio:

$ sudo systemctl enable mongodb.service

Iniciar servicio:

$ sudo systemctl start mongodb.service 

Verificar el status del servicio:

$ sudo systemctl status mongodb.service

MariaDB

Para instalar MariaDB:

$ sudo pacman -S mariadb

Antes de iniciar el servicio es necesario definir el directorio de datos:

$ mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Para habilitar e iniciar el servicio de mysql:

$ systemctl enable mysqld
$ systemctl start mysqld

Para verificar el estado del servicio:

$ systemctl status mysqld

Configurar clave y seguridad del usuario root:

$ mysql_secure_installation

Crear un nuevo usuario en mysql:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'username'@'localhost';
FLUSH PRIVILEGES;

Reemplazar username por el nombre de usuario, y password por la clave.

RabbitMQ

Verificar si el paquete existe en los repositorios oficiales:

$ sudo pacman -Ss rabbitmq

Instalar paquete:

$ sudo pacman -S rabbitmq

Nos mostrará las dependencias y nos preguntarà si deseamos continuar, presionar S/Y.

Habilitar servicio:

$ sudo systemctl enable rabbitmq.service

Iniciar servicio:

$ sudo systemctl start rabbitmq.service 

Verificar el status del servicio:

$ sudo systemctl status rabbitmq.service

Habilitar HTTP admin:

$ sudo rabbitmq-plugins enable rabbitmq_management

Para acceder al RabbitMQ Manager, abrir un navegador e ir a <ip_address_of_host>:15672. Las credenciales por defecto son:

username:guest password:guest

RabbitMQ - ArchWiki

Elasticsearch

Instalar Elasticsearch:

$ sudo pacman -S elasticsearch

Habilitar servicio:

$ sudo systemctl enable elasticsearch.service

Iniciar servicio:

$ sudo systemctl start elasticsearch.service

Ver el status del servicio:

$ sudo systemctl status elasticsearch 
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-08-23 18:07:48 -03; 3min 29s ago

Por defecto elasticsearch ocupa el puerto 9200. Para verificar que este ejecutandose usar curl por línea de comandos:

$ curl http://127.0.0.1:9200

El archivo de configuración se encuentra en:

/etc/elasticsearch/elasticsearch.yml

Links:

Kibana

Instalar Kibana:

$ sudo pacman -S kibana

Habilitar servicio:

$ sudo systemctl enable kibana.service

Iniciar servicio:

$ sudo systemctl start kibana.service

Ver el status del servicio:

$ sudo systemctl status kibana.service
● kibana.service - Kibana - dashboard for Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/kibana.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-08-23 18:07:19 -03; 3min 10s ago

Por defecto Kibana ocupa el puerto 5601. Podemos verificar que Kibana esta ejecutandose si ingresamos desde un navegador web a la dirección http://127.0.0.1:5601:

El archivo de configuración se encuentra en:

/etc/kibana/kibana.yml

Visual Studio Code

El método de instalación que se explicará acá será utilizando el repositorio AUR de Visual Studio Code, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Visual Studio Code con el siguiente comando:

$ git clone https://AUR.archlinux.org/visual-studio-code-bin.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd visual-studio-code-bin/

Ejecutamos el siguiente comando para hacer un paquete pacman de Visual Studio Code:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U visual-studio-code-bin-*.pkg.tar.xz

Sublime Text 3

El método de instalación que se explicará acá será utilizando el repositorio AUR de Sublime Text 3, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Sublime Text 3 con el siguiente comando:

$ git clone https://aur.archlinux.org/sublime-text-dev.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd sublime-text-dev/

Ejecutamos el siguiente comando para hacer un paquete pacman de Sublime Text 3:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U sublime-text-dev-*.pkg.tar.xz

Postman

a) Instalar postman descargando desde el sitio oficial el programa comprimido en .tar.gz.

$ wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
$ sudo tar -xzf postman.tar.gz -C /opt
$ rm postman.tar.gz
$ sudo ln -s /opt/Postman/app/Postman /usr/bin/postman
cat > ~/.local/share/applications/postman.desktop <<EOL
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/app/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
EOL

b) El método de instalación que se explicará acá será utilizando el repositorio AUR de Postman, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Postman con el siguiente comando:

$ git clone https://aur.archlinux.org/postman.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd postman/

Ejecutamos el siguiente comando para hacer un paquete pacman de Postman:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U postman-*.pkg.tar.xz

Soap UI Open Source

Link de Descarga

Al archivo descargado dar permiso 777 y ejecutar:

$ sudo chmod 777 {nombreArchivo}
$ ./{nombreArchivo}

Spotify

El método de instalación que se explicará acá será utilizando el repositorio AUR de Spotify, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Spotify con el siguiente comando:

$ git clone https://aur.archlinux.org/spotify.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd spotify/

Ejecutamos el siguiente comando para hacer un paquete pacman de Spotify:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U spotify-*.pkg.tar.xz

Slack

El método de instalación que se explicará acá será utilizando el repositorio AUR de Slack, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Slack con el siguiente comando:

$ git clone https://aur.archlinux.org/slack-desktop.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd slack-desktop/

Ejecutamos el siguiente comando para hacer un paquete pacman de Slack:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U slack-desktop-*.pkg.tar.xz

VLC media player

$ sudo pacman -S vlc

Evince

Evince es un visor de documentos para formato multiple. Para instalar ingresar:

$ sudo pacman -S evince

Libre Office

$ sudo pacman -S libreoffice-fresh
$ sudo pacman -S libreoffice-fresh-es

Link:

NTFS filesystem driver and utilities

Soporte para dispositivos externos (pendrive y otros).

$ sudo pacman -S ntfs-3g

Virtual filesystem implementation for GIO

$ sudo pacman -S gvfs-smb

Soporte Media Transfer Protocol (MTP), Android

$ sudo pacman -S gvfs-mtp

Skype

El método de instalación que se explicará acá será utilizando el repositorio AUR de Skype, por lo tanto es requesito tener previamente instalado Git.

Ahora clone el repositorio AUR de Skype con el siguiente comando:

$ git clone https://aur.archlinux.org/skypeforlinux-stable-bin.git

Cambiamos de directorio a la carpeta del repositorio clonado:

$ cd skypeforlinux-stable-bin/

Ejecutamos el siguiente comando para hacer un paquete pacman de Skype:

$ makepkg -s

Ejecutaremos el siguiente comando para instalar el programa:

$ sudo pacman -U skypeforlinux-stable-bin-*.pkg.tar.xz

Kodi

Para instalar este reproductor multimedia ingresar el siguiente comando:

$ sudo pacman -S kodi

Pinta (clon del paint)

$ sudo pacman -S pinta

Aplicaciones Gnome

Gnome System Monitor

$ sudo pacman -S gnome-system-monitor

Gnome Screenshot

$ sudo pacman -S gnome-screenshot

Gnome Calculator

$ sudo pacman -S gnome-calculator

Gnome keyring (Utilidad para almacenar claves)

$ sudo pacman -S gnome-keyring

Dependencia de Mysql Workbench.

Pacman: comandos más utilizados

Buscar programa:

$ sudo pacman -Ss nombre_paquete

Instalar programa:

$ sudo pacman -S nombre_paquete

Eliminar programa:

$ sudo pacman -R nombre_paquete

Links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment