From 9d466c54d25f16d8f5c5eb9c7ff947d62fefae95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Mon, 11 Nov 2019 18:40:03 -0500 Subject: [PATCH] =?UTF-8?q?Added=20'Guia=20de=20instalaci=C3=B3n=20de=20Hy?= =?UTF-8?q?perbola"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/guia-de-instalacion-de-hyperbola.md | 672 ++++++++++++++++++ .../article/poster/2019/11/hyperbola-base.jpg | Bin 0 -> 37011 bytes 2 files changed, 672 insertions(+) create mode 100644 content/guia-de-instalacion-de-hyperbola.md create mode 100644 content/wp-content/uploads/article/poster/2019/11/hyperbola-base.jpg diff --git a/content/guia-de-instalacion-de-hyperbola.md b/content/guia-de-instalacion-de-hyperbola.md new file mode 100644 index 0000000..dbf398e --- /dev/null +++ b/content/guia-de-instalacion-de-hyperbola.md @@ -0,0 +1,672 @@ +Author: Jesús E. +Category: tutorials +Date: 2019-11-11 08:41 +Image: 2019/11/hyperbola-base.jpg +Lang: es +Slug: guia-de-instalacion-de-hyperbola +Tags: hyperbola, guia +Title: Guia de instalación de Hyperbola [Modo Legacy/MBR-DOS] + +[TOC] + +Primero debemos construir una unidad de instalación de Hyperbola, +puede ser en una memoria [USB][usb-boot]{:target='_blank' rel='noopener noreferrer'} +o en [CD][cd-boot]{:target='_blank' rel='noopener noreferrer'}. + +También existe un [vídeo de instalación][video-guide]{:target='_blank' rel='noopener noreferrer'} +que se irá actualizando. + +### Primeros pasos + +Configuración teclado temporal + + # loadkeys es + +Comprobamos si hay conexión a Internet + + # ping -c 3 gnu.org + +Particionar disco + + # cfdisk + +- En el caso de la partición elegida como **swap** ir a la opción "Type" y seleccionar **82 (Linux swap)** de la lista. +- En el caso de la partición elegida como **/boot**, se selecciona **"bootable"** + +ejemplo: + + :::bash + sda1=/boot + sda2=/ + sda3=/home + sda4=swap + + Recomendaciones: + /boot = 300MB + / = 40GB + /home = personalizado + swap = igual a la RAM + +#### Conexión por Wi-fi + +Detectar `wifi` + + # iw dev + +Activar dispositivo de Red + + # ip link set up + +Activar Internet con `wpa_supplicant` + + # wpa_supplicant -B -i -c <(wpa_passphrase "ssid" "psk") + +Renovar IPv4 con `dhcpcd` + + # dhcpcd + +### Formateo de Particiones + +- En `/boot` se utilizará **ext4** + + # mkfs -t ext4 /dev/sda1 + +- En `/` se utilizará **ext4** + + # mkfs -t ext4 /dev/sda2 + +- En `/home`, se utilizará **ext4** + + # mkfs -t ext4 /dev/sda3 + +- En `swap`, se utilizará **mkswap** + + # mkswap /dev/sda4 + +- Activamos la partición swap + + # swapon /dev/sda4 + +### Organización de Particiones + +- Montamos root en /mnt + + # mount /dev/sda2 /mnt + +- Creamos los directorios de las otras particiones + + - boot + + # mkdir /mnt/boot + + - home + + # mkdir /mnt/home + +- Montamos las particiones correspondientes + + - Montar boot + + # mount /dev/sda1 /mnt/boot + + - Montar home + + # mount /dev/sda3 /mnt/home + +### Instalación del Sistema Base + +Actualizamos las llaves de la iso: + + # pacman -Sy hyperbola-keyring + +Instalamos los paquetes base: + + # pacstrap /mnt base base-devel grub-bios wpa_supplicant iw kernel-firmware ldns xenocara-input-synaptics + +> Instalar `xenocara-input-synaptics` Solo en laptops (ordenadores portátiles) + +### Configuración Principal + +- Generar el archivo fstab + + # genfstab -U -p /mnt >> /mnt/etc/fstab + +- Efectuar chroot y configurar el sistema base + + # arch-chroot /mnt + +- Establecer nombre del equipo para esto tenemos que editar el archivo `/etc/hostname`: + + Ejemplo: + + # echo hyperpc > /etc/hostname + +- Configurar idioma + + # ln -s /usr/share/zoneinfo/America/Lima /etc/localtime + +- Actualizar hora del sistema (Opcional) + + # hwclock --systohc --utc + +- Activar nuestra localización, descomentar + + # sed -e 's/^#es_ES.UTF-8 UTF-8/es_ES.UTF-8 UTF-8/g' -i /etc/locale.gen + +- Establecer las preferencias de localización + + # echo LANG=es_ES.UTF-8 > /etc/locale.conf + +- Generamos la localización + + # locale-gen + +- Como la configuración regional, debe configurar el mapa de teclas en el archivo `/etc/conf.d/keymaps` + + # sed -e 's/^keymap="us"/keymap="es"/g' -i /etc/conf.d/keymaps + +- Instalación del Grub + + # grub-install --target=i386-pc --recheck /dev/sda + +- Creamos el archivo grub.cfg + + # grub-mkconfig -o /boot/grub/grub.cfg + +- Editar ramdisk + + # nano -w /etc/mkinitcpio.conf + ----------------------------- + HOOKS="base udev autodetect modconf block filesystems keyboard fsck" + +- Generar ramdisk + + # mkinitcpio -p linux-libre-lts + +- Establecer contraseña del usuario root + + # passwd + +- Configurar [wpa_supplicant][wpa_link]{:target='_blank' rel='noopener noreferrer'} + + # nano -w /etc/wpa_supplicant/wpa_supplicant.conf + + y dentro: + + :::bash + network = { + ssid="lynx" + psk="your-pass" + } + + Agregar a servicio por defecto + + # rc-update add wpa_supplicant default + +- [DHCPCD][dhcpcd_link]{:target='_blank' rel='noopener noreferrer'} + + Agregar a servicio por defecto + + # rc-update add dhcpcd default + +- Cerrar chroot + + # exit + +- Desmontar particiones + + # umount '/mnt/{boot,home,}' + +- Reiniciar + + # reboot + +### Creación de usuario + +Crear el grupo de usuario, por ejemplo: `libre` + + # groupadd libre + +Creamos el usuario `freedom` y lo agregamos a los grupos básicos + + # useradd -m -G audio,disk,games,http,input,lp,network,optical,power,scanner,storage,sys,video,wheel -g libre -s /bin/bash freedom + +- Asignamos contraseña + + # passwd freedom + +- Editamos el archivo `/etc/sudoers` + + # sed -i /etc/sudoers -e 's/^# %whell ALL=(ALL) ALL/%whell ALL=(ALL) ALL/g' + +- Reiniciamos el equipo + + # reboot + +- Actualización del sistema + + $ sudo pacman -Syu + +### Interfaz gráfica BASE + +#### Instalar paquete de vídeo (según marca de su tarjeta de vídeo) + +Comprobar marca: + + # lspci | grep -e VGA + +Instalar una de ellas dependiendo de la marca: + +AMD: + + # pacman -S xorg-video-amdgpu + +Ati: + + # pacman -S xenocara-video-ati + +Intel: + + # pacman -S xorg-video-intel + +Nvidia: + + # pacman -S xorg-video-nouveau + +Vesa (genérico): + + # pacman -S xorg-video-vesa + +#### Componentes Xenocara + + # pacman -S xenocara-server xenocara-xinit xenocara + +#### Mesa demos + + # pacman -S mesa mesa-demos + +#### Ajuste en el idioma de teclado para Xenocara + +La sintaxis de los archivos de configuración de X se explica +en [Xenocara#Configuration][xe-conf]{:target='_blank' rel='noopener noreferrer'}. +Este método crea la configuración para todo el sistema, que se mantiene después de los reinicios. + +He aquí un ejemplo: + + # nano -w /etc/X11/xorg.conf.d/00-keyboard.conf + +y dentro colocar: + + :::bash + Section "InputClass" + Identifier "system-keyboard" + MatchIsKeyboard "on" + Option "XkbLayout" "es,us" + Option "XkbModel" "pc105" + Option "XkbVariant" "deadtilde,dvorak" + Option "XkbOptions" "grp:alt_shift_toggle" + EndSection + +XkbOptions puede recibir varios parámetros por ejemplo: + +`"grp:alt_shift_toggle,compose:rwin,lv3:ralt_switch,numpad:pc"` + +Tenemos 2 diseños de teclado: español (es) e inglés (us), y que para pasar de uno +al otro solo basta usar la combinación de teclas `ALT+SHIFT` + +- Comprobar la configuración del teclado: + + # setxkbmap -print -verbose 10 + +- Tipografías + + # pacman -S ttf-liberation ttf-bitstream-vera ttf-dejavu ttf-droid + +A continuación, procederemos a crear las carpetas personales. +En caso de tener planeado instalar **GNOME** o **PLASMA KDE** como entorno de escritorio, +obvie este paso, puesto que la instalación de **GNOME** o **PLASMA KDE** generan de forma +automática los directorios. + +- Instalación del generador de directorios: + + # pacman -S xdg-user-dirs + +- Creación automática de directorios: + + # xdg-user-dirs-update + +#### Soporte de audio + +Instalar `pulseadio` + + # pacman -S pulseaudio pulseaudio-alsa alsa-utils pavucontrol + +Agregar el servicio de audio a por defecto + + # rc-update add alsasound default + +#### Configurar pulseaudio + + # sed -e 's/^; autospawn = yes/autospawn = yes/g' -i /etc/pulse/client.conf + +### Entornos de escritorio soportados oficialmente + +#### Instalar MATE + +El entorno de escritorio MATE es la continuación de GNOME 2 (Basado en Gnome 2). +Provee un entorno intuitivo y atractivo. MATE está siendo desarrollado activamente +para añadir apoyo para tecnologías nuevas, y a la misma vez preservar la experiencia +tradicional de un escritorio. + +- Instalación: + + # pacman -S mate mate-extra + +Donde: + ++ mate: Contiene el entorno de escritorio básico y aplicaciones necesarias para la experiencia estándar de MATE. ++ mate-extra: Contiene un conjunto de paquetes y herramientas opcionales, como un salvapantallas, una calculadora, +un editores y otras aplicaciones no problemáticas que van bien con el escritorio MATE. + +#### Instalar XFCE + +Xfce es un entorno de escritorio ligero para sistemas tipo UNIX. +Su objetivo es ser rápido y usar pocos recursos del sistema, +sin dejar de ser visualmente atractivo y fácil de usar. + +- Instalación + + # pacman -S xfce4 xfce4-goodies + +Donde: + ++ xfce4: es el entorno de escritorio basico Grupo de paquetes que contiene. ++ xfce4-goodies: es un grupo de paquetes adicionales, como plugins para el panel, +notificaciones y otras herramientas del sistema. + +#### Instalar LXDE + +LXDE es un entorno de escritorio libre. Su nombre proviene de «Lightweight X11 Desktop Environment», +que en español significa: Entorno de escritorio X11 ligero. + +- Instalación + + # pacman -S lxde + +#### Instalar KDE Plasma + +KDE es un proyecto de software que actualmente comprende un +entorno de escritorio conocido como Plasma, una colección de librerías +y frameworks (KDE Frameworks) y también una gran cantidad de +aplicaciones (KDE Applications). + +El entorno de escritorio creado por KDE principalmente para sistemas GNU/Linux, +KDE Plasma 5, es el sucesor de KDE Plasma Workspaces y se lanzó +inicialmente el 15 de julio de 2014. + +- Instalación + + # pacman -S plasma kde-applications plasma-wayland-session + +Donde: + ++ plasma: contiene el grupo de paquetes que instalaran el D.E. con algunas aplicaciones y herramientas basicas. ++ kde-applications: instala todas las aplicaciones de KDE contenidas en el grupo. ++ plasma-wayland-session: Para habilitar el soporte para Wayland en Plasma. + +#### ¿Cómo iniciar Xenocara? + +- Escribir un archivo `~/.xinitrc` (opción 1) + + Descomentar el escritorio que usted instaló, ejemplo de archivo `~/.xinitrc`: + + :::bash + #!/bin/sh + # + # ~/.xinitrc + # + # Executed by startx (run your window manager from here) + # + # exec enlightenment_start + # exec i3 + # exec mate-session + # exec xmonad + # exec startlxqt + # exec startlxde + # exec awesome + # exec bspwm + # exec gnome-session + # exec gnome-session --session=gnome-classic + # exec startkde + # exec startxfce4 + # exec startfluxbox + # exec openbox-session + # exec cinnamon-session + # exec pekwm + # exec catwm + # exec dwm + # exec startede + # exec icewm-session + # exec jwm + # exec monsterwm + # exec notion + # exec startdde #deepin-session + + Luego desde una tty, usted puede ejecutar `startx` y se iniciará su escritorio. + +- Instalar gestor de inicio de sesión (opción 2) + + Ejemplo: `lightdm` + + # pacman -S lightdm lightdm-gtk-greeter + + Agregar servicio lightdm + + # rc-update add lightdm default + +- Reiniciar + + # reboot + +### UTILIDADES + +#### Discos + +- gvfs para montar discos + + # pacman -S gamin gvfs + +#### Red + +- dhcpcd-ui para gestión de IP's + + # pacman -S dhcpcd-ui + +#### Gestor de claves + +- gnome-kering + + # pacman -S gnome-keyring + +#### Applet de volumen + +- Ícono de volumen + + # pacman -S volumeicon + +#### Sincronizar el Horario Local + +Instalar NTP + + # pacman -S ntp + +Sincronizar Hora + + # ntpdate -u hora.roa.es + +#### Compresores de archivos + +Normalmente nos topamos con carpetas comprimidas en ZIP, RAR y/u otro formato que +se suelen intercambiar en Internet. En muchos entornos de escritorio, suelen +incluir el suyo (File Roller en GNOME, Engrampa en MATE, Ark en KDE y XArchiver +en XFCE/LXDE). Para mejorar la funcionalidad de estos compresores de archivos, +le añadiremos el soporte para 7Z, RAR, ZIP y otros. + +- GZip (conocidos por la extensión “.tar.gz”): + + # pacman -S zlib haskell-zlib + +- BZip2: + + # pacman -S bzip2 + +- RAR: + + # pacman -S unar + +- 7Zip: + + # pacman -S p7zip lrzip + +- ZIP: + + # pacman -S zip libzip unzip + +#### Detector de particiones + +- Utilitario Udisk: + + # pacman -S udevil autofs + +- Lectura y escritura de sistemas de archivos NTFS: + + # pacman -S ntfs-3g + +- Lectura y escritura de sistema de archivos FAT32: + + # pacman -S fatsort exfat-utils dosfstools + +- Lectura y escritura de sistemas de archivos XFS: + + # pacman -S xfsprogs + +#### Soporte multimedia +Para poder reproducir archivos multimedia, es necesario poder tener los códecs y el +reproductor. Para ello, procederemos a instalar los códecs ffmpeg y gstreamer, +además de los reproductores. +Aquí les sugiero algunos reproductores que les puede resultar útiles. + +- Códecs: + + # pacman -S ffmpeg gstreamer gst-libav gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-plugins-base gstreamer-vaapi gst-transcoder ffms2 x264 libvorbis libvpx libtheora opus vorbis-tools + +- Reproductor Audacious: + + # pacman -S audacious + +- Reproductor SMPlayer: + + # pacman -S smplayer smplayer-themes smplayer-skins + +- Reproductor VLC: + + # pacman -S vlc + +- Reproductor MPV: + + # pacman -S mpv + +- Visor de imagenes ligero + + # pacman -S viewnior + +- Visor PDF + + # pacman -S epdfview + +#### Aplicaciones UXP +Existen navegadores incluidos por los entornos de escritorio como GNOME con Epiphany +o KDE con Konqueror. No obstante, gracias a los desarrolladores Hyperbola tenemos +**[Iceweasel-UXP][iceweasel-uxp]{:target='_blank' rel='noopener noreferrer'}** un +navegador web, +**[Iceape-UXP][iceape-uxp]{:target='_blank' rel='noopener noreferrer'}** suite de internet +y un gestor de correos llamado **[Icedove-UXP][icedove-uxp]{:target='_blank' rel='noopener noreferrer'}**. + +- Iceweasel-UXP: + + # pacman -S iceweasel-uxp iceweasel-uxp-l10n-es-es + +- Iceape-UXP: + + # pacman -S iceape-uxp iceape-uxp-l10n-es-es + +- Icedove-UXP: + + # pacman -S icedove-uxp icedove-uxp-l10n-es-es + +#### LibreOffice +Por lo general, a la hora de usar un Sistema Operativo, por lo menos se tiene una suite de oficina. +En GNU/Linux, se acostumbra a tener una. Felizmente en Hyperbola, Libreoffice se presenta es su versión estable. +Lo único que necesitaríamos es efectuar el siguiente comando: + + # pacman -S libreoffice-still libreoffice-still-l10n-es + +##### Corrección de ortografía +Para revisar la ortografía necesitará hunspell y un diccionario de hunspell (como hunspell-es, hunspell-en, etc.) + + # pacman -S hunspell hunspell-es + +##### Reglas de división de palabras +Para disponer de las reglas de división también necesitará hyphen + un conjunto de reglas (hyphen-en, hyphen-de) + + # pacman -S hyphen hyphen-es + +##### Sinónimos +Para la opción Sinónimos necesitará `mythes` + un libro de sinónimos de mythes (`mythes-en mythes-es`) + + # pacman -S mythes mythes-es + +#### Seguridad +La seguridad es importante al navegar por Internet es por ello que Hyperbola provee de una herramienta +llamada **[firejail][firejail]{:target='_blank' rel='noopener noreferrer'}** +en combinación con una interfaz gráfica +**[firetools][firetools]{:target='_blank' rel='noopener noreferrer'}**. + + # pacman -S firejail firetools + +#### Comunicación +La comunicación a través de Internet es requerida a día de hoy. En Hyperbola tenemos programas para la comunicación a través de Internet: + +- Gajim + + # pacman -S gajim python2-axolotl + +- Tox + - qtox: + + # pacman -S qtox + + - toxic: + + # pacman -S toxic + +#### Identificando keycodes + +La utilidad `showkey` informa los códigos de teclas para la consola virtual. +showkey espera a que se presione una tecla y, si no hay ninguna durante 10 segundos, +se cierra. Para ejecutar showkey necesita estar en una consola virtual, +no en un entorno gráfico. Ejecute el siguiente comando: + + # showkey --keycodes + +[video-guide]: https://lablibre.tuxfamily.org/hyperbola-gnu-linux-libre-base/ +[firejail]: https://github.com/netblue30/firejail +[firetools]: https://l3net.wordpress.com/projects/firejail/#firetools +[usb-boot]: https://wiki.hyperbola.info/doku.php?id=en:guide:beginners#write_the_image_to_your_usb +[cd-boot]: https://wiki.hyperbola.info/doku.php?id=en:guide:beginners#burn_the_image_to_your_optical_disk +[wpa_link]: https://wiki.archlinux.org/index.php/WPA_supplicant +[dhcpcd_link]: https://wiki.archlinux.org/index.php/Dhcpcd +[iceweasel-uxp]: https://wiki.hyperbola.info/iceweasel-uxp +[iceape-uxp]: https://wiki.hyperbola.info/iceape-uxp +[icedove-uxp]: https://wiki.hyperbola.info/icedove-uxp +[xe-conf]: https://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d diff --git a/content/wp-content/uploads/article/poster/2019/11/hyperbola-base.jpg b/content/wp-content/uploads/article/poster/2019/11/hyperbola-base.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05d5347cf35cd2e2765256c0ccd4e2b06407afd6 GIT binary patch literal 37011 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 literal 0 HcmV?d00001