Instalar Arch Linux

dic 28, 2012·
Julio Batista Silva
Julio Batista Silva
· 15 min de lectura
blog Linux

En julio de 2012 salió una nueva imagen de Arch Linux (201207) y ese mismo día decidí descargarla y reinstalar mi sistema. Durante todo el proceso vi que había habido varios cambios, tanto en la forma de instalar como en el funcionamiento de la distribución:

  • Ya no existe el .iso con el core ni imágenes separadas para X86 y X64; la única versión descargable es la netinstall dual;
  • El Arch Linux Installation Framework (AIF) ha dejado de usarse;
  • Han empezado la migración de SysVinit a Systemd (usando initscripts).

El día en que salió la primera imagen sin AIF no había prácticamente nada de documentación que explicara cómo instalarlo, y tuve que romperme un poco la cabeza para conseguirlo por mi cuenta. Cuando por fin lo logré, empecé a escribir este tutorial, pero justo después me fui de viaje (¡FISL13!) y dejé de escribir.

Aprovechando mi pequeño descanso de fin de año, decidí reparticionar el disco, reinstalar Arch desde cero en mi portátil y terminar de documentar el proceso de instalación en este blog.

Usaré Systemd nativo, sin rc.conf, y también explicaré cómo cifrar el disco con LVM on LUKS+dmcrypt.

Nota: como explico en el about de este blog, escribí esta entrada para mí mismo y solo cuento las partes que me interesan y que son compatibles con mi sistema (un Acer Aspire). No sigas este “tutorial” a ciegas: algunas cosas que a mí me funcionan pueden ser distintas en tu caso.

Disco de arranque

Hace ya bastante que no grabo CD para instalar sistemas operativos. Normalmente uso un pendrive como medio de instalación, sobre todo ahora que mi portátil nuevo ni siquiera tiene lector de CD.

Para generar ese pendrive arrancable basta con descargar el .iso y grabarlo con dd:

sudo dd if=archlinux.iso of=/dev/sdb

Esto funciona en la mayoría de los ordenadores, pero por lo visto la BIOS de mi portátil no reconoce el pendrive grabado así y hace que se quede colgado en la pantalla de arranque hasta que lo quito del USB.

Más o menos a base de prueba y error, encontré dos soluciones:

  • Solución 1

    Usar unetbootin para copiar el contenido del .iso e instalar syslinux como gestor de arranque, y luego cambiar la etiqueta de la partición:

    julio@acer ~> sudo mlabel -i
    /dev/sdb1 ::ARCH_201212
    
  • Solución 2

    Copiar los archivos del .iso al pendrive e instalar syslinux a mano:

    sudo fdisk /dev/sdb
    sudo mkfs.vfat -n ARCH_201212 /dev/sdb1
    sudo mount /dev/sdb1 /media/pendrive
    sudo mount archlinux-2012.12.01-dual.iso /media/arch
    sudo cp -r /media/arch/* /media/pendrive/
    sudo syslinux -s /dev/sdb1
    cd /media/pendrive; sudo cp isolinux/isolinux.cfg syslinux.cfg
    

Instalación

Entra en el Boot Manager de tu BIOS y arranca desde el pendrive:

  1. IDE 0: TOSHIBA MK5055GSX (este es el disco duro)
  2. USB HDD: SanDisk (este es el pendrive)

Aparecerá un menú de arranque. Elige la opción Boot Arch Linux (x86_64) (mi sistema es de 64 bits).

¿Te acuerdas de /arch/setup? Ya no existe. Desde la imagen de julio Arch dejó el AIF y pasó a usar unos install scripts. Ahora te suelta directamente en un shell.

Particionado

El formato más recomendado es GPT. Tiene algunas ventajas sobre MBR, como admitir discos de más de 2 TB y más de 4 particiones primarias.

En mi última instalación usaba GPT, pero llegué a la conclusión de que en mi caso es mejor seguir con MBR. Solo necesito 4 particiones primarias, mis discos tienen 2 TB o menos y mi placa base usa BIOS y no UEFI. Este último detalle es especialmente importante si quieres hacer dual boot con Windows.

-> Si tu tabla de particiones usa GPT:

root@archiso ~ # cgdisk /dev/sda

Nota: si tu placa base usa BIOS y tus particiones usan GPT, necesitarás una partición de al menos 31 KiB (se recomiendan 2 MB) para que quepa el core.img de Grub2 (más info).

-> Si tu tabla de particiones usa MBR (mi caso):

root@archiso ~ # cfdisk /dev/sda
  • Estado inicial:

    Disk Drive: /dev/sda
    Size: 500.1 GiB
    
    Part Type: Pri/Log
    FS Type: Free Space
    Size (MB): 500107.87
    
  • Partición de 50 GB para otro SO:

    [ New ] » [Primary] » Size (in MB): 50G » [Beginning] » [ Type ] » Enter filesystem type: 86

  • Partición para el /boot:

    [ New ] » [Logical] » Size (in MB): 100 » [Beginning] » [ Type ] » Enter filesystem type: 83

    Reservé 100 MB, pero con unos 50 MB bastaría.

  • Partición para LUKS (usaré LVM on LUKS):

    [ New ] » [Logical] » Size (in MB): 450007.68 » [Beginning] » [ Type ] » Enter filesystem type: 8E

Guarda los cambios: [ Write ] » "yes" » [ Quit ] y comprueba las particiones con fstab -l.

Shredding

Por seguridad, rellena la partición LUKS con datos aleatorios:

root@archiso ~ # badblocks -c 10240 -wsvt random /dev/sda3

ou

root@archiso ~ # dd if=/dev/urandom of=/dev/sda3 bs=4096

Nota: estos comandos tardan varias horas.

Cifrado: dm-crypt / LUKS

root@archiso ~ # cryptsetup -c <cipher> -y -s <key size> luksFormat /dev/<partition name>

Usaremos AES en modo XTS con 512 bits. Es bastante seguro y no noté una pérdida de rendimiento significativa:

# modprobe dm_mod
root@archiso ~ # cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda3

Escribe tu contraseña. La longitud también es importante para la seguridad.

Compruébalo con cryptsetup luksDump /dev/sda3.

Desbloquea la partición

root@archiso ~ # cryptsetup luksOpen /dev/sda3 arch-luks
Enter passphrase for /dev/sda3:

Creación de particiones LVM

Crea un Physical Volume:

root@archiso ~ # pvcreate /dev/mapper/arch-luks
  Physical volume "/dev/mapper/arch-luks" successfully created
root@archiso ~ # pvdisplay

Crea un Volume Group:

root@archiso ~ # vgcreate vg_arch /dev/mapper/arch-luks
  Volume group "vg_arch" successfully created
root@archiso ~ # vgdisplay

Crea los Logical Volumes

  • Crea un LV para el /:

    root@archiso ~ # lvcreate -L 25G vg_arch -n root
      Logical volume "root" created
    
  • Crea un LV para el /var:

    No es muy habitual, pero se puede mejorar el rendimiento usando un sistema de archivos bueno con archivos pequeños, como Reiserfs.

    root@archiso ~ # lvcreate -L 15G vg_arch -n var
      Logical volume "var" created
    
  • Crea un LV para la swap:

    root@archiso ~ # lvcreate -C y -L 4G vg_arch -n swap
      Logical volume "swap" created
    
  • Crea un LV para el /home, dejando un espacio libre (25 GB) al final:

    root@archiso ~ # lvcreate -L 350G vg_arch -n home
      Logical volume "home" created
    

    o, si sabes que luego no vas a necesitar redimensionar los volúmenes:

    root@archiso ~ # lvcreate -l +100%FREE vg_arch -n home
      Logical volume "home" created
    
  • Comprueba los volúmenes con lvdisplay.

Formatea las particiones

root@archiso ~ # mkfs.ext2 -L boot /dev/sda2
root@archiso ~ # mkfs.btrfs -L root /dev/vg_arch/root
root@archiso ~ # mkfs.ext4 -L var  /dev/vg_arch/var
root@archiso ~ # mkfs.ext4 -L home /dev/vg_arch/home
root@archiso ~ # mkswap -L swap /dev/vg_arch/swap

Para ahorrar espacio en disco:

root@archiso ~ # tune2fs -m 1.0 /dev/vg_arch/var
root@archiso ~ # tune2fs -m 0.0 /dev/vg_arch/home

Monta las particiones

root@archiso ~ # mount /dev/vg_arch/root /mnt
root@archiso ~ # mkdir /mnt/{boot,home,var}
root@archiso ~ # mount /dev/vg_arch/var /mnt/var
root@archiso ~ # mount /dev/vg_arch/home /mnt/home
root@archiso ~ # mount /dev/sda2 /mnt/boot
root@archiso ~ # swapon /dev/vg_arch/swap

Conéctate a internet

  • Wi-Fi

    Si no tienes red por cable, conéctate a tu wifi:

    root@archiso ~ # wifi-menu wlan0
    
  • Cable

    El comando para la red por cable es:

    root@archiso ~ # ip link set eth0 up #(equivalente a ifconfig eth0 up)
    root@archiso ~ # dhcpcd eth0
    

Instala el sistema base

Primero comprueba que la fecha del sistema es correcta con el comando date. Este paso es importante para que no dé problemas al importar las claves PGP.

Si la fecha no es correcta, corrígela con timedatectl. Usa UTC. Por ejemplo:

timedatectl set-time "2013-01-30 18:00:00"

Descarga los paquetes con pacstrap:

root@archiso ~ # pacstrap /mnt base{,-devel}
Total Download Size: 154.83 MiB
Total Installed Size: 579.00 MiB

Instala un gestor de arranque (yo elegí grub2):

root@archiso ~ # pacstrap /mnt grub-bios

Nota: grub-bios es para BIOS; si tu placa base usa UEFI, descarga grub-efi-x86_64.

Genera un /etc/fstab:

root@archiso ~ # genfstab -U -p /mnt >> /mnt/etc/fstab

Comprueba que el fstab es correcto. El -U del comando es para usar UUID

Haz un chroot en el sistema que acabamos de instalar:

root@archiso ~ # arch-chroot /mnt

Es buen momento para instalar vim, porque vamos a editar algunos archivos. Yo voy a instalar gvim, porque viene compilado con “+xterm_clipboard”:

root@archiso ~ # pacman -S gvim

Systemd vs. SysV

Hay polémica sobre si el cambio a Systemd es bueno o no.

Leyendo Hacker News se ve que hay mucha gente descontenta, pero si todo funciona como explicó Lennart Poettering en una charla a la que asistí y Systemd tiene todas las ventajas que publicaron los desarrolladores de Arch en el foro, entonces la transición sí fue buena.

En cualquier caso, si los desarrolladores están más o menos forzando el cambio, mejor ir acostumbrándose ya. Así que haré una instalación sin rc.conf, solo con Systemd.

Nota: crea los archivos que se mencionan en los siguientes pasos si aún no existen.

Locale

Descomenta en_US.UTF-8 UTF-8 y pt_BR.UTF-8 UTF-8 en /etc/locale.gen y luego ejecuta locale-gen como root.

Crea el archivo /etc/locale.conf, que define la variable LANG:

LANG=en_US.UTF-8

Keymap y fuente

Averigua cuál de los archivos de la carpeta /usr/share/kbd/keymaps/i386/qwerty/ corresponde a tu keymap y pruébalo con loadkeys. Por ejemplo:

  • PT-BR: loadkeys br-abnt2
  • EN-US: loadkeys us-acentos
  • EN-UK: loadkeys uk

Averigua cuál de los archivos de la carpeta /usr/share/kbd/consolefonts/ corresponde a la fuente que quieres y pruébala con setfont. Por ejemplo:

  • Terminus: setfont Lat2-Terminus16
  • Lat9w: setfont lat9w-16

Edita el archivo /etc/vconsole.conf para dejar la configuración permanente:

KEYMAP=us-acentos
FONT=Lat2-Terminus16

También está la opción FONT_MAP, pero no hace falta.

Zona horaria

Averigua cuál de los archivos de la carpeta /usr/share/zoneinfo/ corresponde a tu región y subregión. En mi caso es /usr/share/zoneinfo/America/Sao_Paulo.

Haz que el archivo /etc/localtime apunte a tu zona horaria con un enlace simbólico:

sh-4.2# ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

P: ¿¿¿Qué ha pasado con el archivo /etc/timezone???

Reloj

Genera un /etc/adjtime con el comando hwclock. Recomiendo usar UTC.

sh-4.2# hwclock --systohc --utc

Si quieres sincronizar el reloj por internet, ejecuta ntpd -qg && hwclock -w como root.

Host

Crea el archivo /etc/hostname con solo el nombre de tu host:

sh-4.2# echo "acer" > /etc/hostname

Por lo visto ya no hace falta editar el archivo /etc/hosts después de este paso.

Red

Si usas red inalámbrica, instala los archivos que permiten conectarse a redes wifi. Instala también el firmware de tu tarjeta si hace falta:

sh-4.2# pacman -S wireless_tools wpa_supplicant wpa_actiond dialog

Recomiendo también activar net-auto-wireless:

sh-4.2# systemctl enable net-auto-wireless.service

Si sueles conectarte a la red por cable, recomiendo instalar ifplugd y activar net-auto-wired. Así tu ordenador se conectará automáticamente al enchufar un cable de red:

sh-4.2# systemctl enable net-auto-wired.service

HOOKS (initial ramdisk)

En la línea HOOKS del archivo /etc/mkinitcpio.conf, añade encrypt, lvm2 y resume antes de filesystems (el orden importa). resume debe ir después de lvm2:

HOOKS="base udev autodetect modconf block encrypt lvm2 resume filesystems usbinput fsck"

Ejecuta mkinitcpio -p linux.

Configuración de Grub

sh-4.2# grub-install --target=i386-pc --recheck --debug /dev/sda
sh-4.2# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Edita /etc/default/grub:

GRUB_CMDLINE_LINUX="root=/dev/mapper/vg_arch-root cryptdevice=/dev/sda3:arch-luks resume=/dev/mapper/vg_arch-swap"

Crea una contraseña para impedir que editen el grub. Aquí redirijo la salida a un archivo que usaremos después. Simplemente escribe tu contraseña dos veces tras el comando:

sh-4.2#  grub-mkpasswd-pbkdf2 > hash

El archivo hash tendrá una cadena de 256 caracteres parecida a esta: grub.pbkdf2.sha512.10000.FEDCBA987689…EDCBFEDCBA9876543210123

Copia ese hash y añade lo siguiente al archivo /etc/grub.d/00_header:

cat << EOF

set superusers="julio"
password_pbkdf2 julio grub.pbkdf2.sha512.10000.FEDCBA987689…EDCBFEDCBA9876543210123

EOF

Después ejecuta este comando:

sh-4.2# grub-mkconfig -o /boot/grub/grub.cfg

Kernel parameters

También me gusta quitar el quiet de la línea linux en /boot/grub/grub.cfg para ver si todo va bien durante el arranque.

Define una contraseña para root

sh-4.2# passwd

Reinicia el ordenador

sh-4.2# exit
root@archiso# umount /mnt/{boot,var,home,}
root@archiso# reboot

Al reiniciar te pedirá la contraseña de Grub2 y la del volumen arch-luks.

Posinstalación

Inicia sesión como root con la contraseña que definiste antes.

Conéctate a internet

  • Red por cable:

    [root@acer ~] dhcpcd eth0
    
  • Red inalámbrica:

    [root@acer ~] wifi-menu wlan0
    

Pacman

Añade el repositorio [multilib]. Basta con descomentar estas líneas en /etc/pacman.conf:

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

Añade también la línea ILoveCandy debajo de # Misc options, solo por gracia 😉.

Claves PGP

[root@acer ~]# rm -r /etc/pacman.d/gnupg
[root@acer ~]# pacman-key --init
[root@acer ~]# pacman-key --populate archlinux

Mirrors

Edita el archivo /etc/pacman.d/mirrorlist. En vim: :%s/^[^\#]/\#S/. Después descomenta solo unos 3 repositorios.

Instala algunos programas

Recomendaciones:

root@acer ~ # pacman -S zsh sudo \
  alsa-utils pulseaudio pulseaudio-alsa pavucontrol paprefs \
  xorg-server xorg-xinit xorg-server-utils xf86-video-intel lib32-intel-dri \
  xf86-input-synaptics xf86-input-wacom libwacom xbindkeys xdotool \
  awesome vicious wmname \
  ttf-dejavu terminus-font ttf-inconsolata artwiz-fonts ttf-symbola \
  feh imagemagick geeqie gimp scrot \
  mpd ncmpcpp mplayer2 kid3 \
  wget chromium firefox flashplugin \
  acpid screen htop ntp \
  python python2 python-pip python2-pip ipython ipython2 bpython bpython2 \
  python2-psycopg2 python2-pygments python2-mechanize python2-imaging \
  python2-beautifulsoup3 python2-beautifulsoup4 pep8-python2 pep8-python3 \
  python2-lxml \
  git mercurial svn ack gdb clang clang-analyzer cppcheck \
  jdk7-openjdk irssi pidgin mutt thunderbird \
  wicd samba openssh sshfs apache php php-apache postgresql pgadmin3 \
  vidalia \
  cups hplip gtranslator \
  qalculate-gtk gnuplot texlive-most xournal \
  libreoffice-{common,pt-BR,calc,writer,impress} stardict \
  rsync mktorrent \
  rxvt-unicode urxvt-perls terminator \
  unrar zip p7zip \
  virtualbox yajl \
  vlock slock xautolock tree wireshark \
  gparted gptfdisk dosfstools ntfsprogs mtools \
  cpupower hdparm hddtemp lm_sensors hwinfo \
  pysolfc \
  ttf-symbola \
  mpdscribble \
  icedtea-web-java7 \
  wine \
  laptop-mode-tools

Esta es una lista de programas que siempre instalo en mi portátil. Elige solo los que creas que vas a necesitar (no instales los controladores de vídeo de Intel si tu tarjeta es Nvidia, claro).

Som

ALSA ya viene instalado con el kernel de Arch Linux.

Abre alsamixer, quita el silencio del Master y sube el volumen. Prueba el sonido con speaker-test -c 2. Si funcionó, guarda la configuración del mezclador con este comando (TODO: comprobar si hace falta de verdad):

[root@acer ~]# alsactl store

Como uso más de una tarjeta de sonido y paso audio desde otro ordenador por la red, también me gusta tener Pulseaudio funcionando (se instaló en el paso anterior).

Vídeo - X11

Averigua cuál es tu tarjeta con este comando:

[root@acer ~]# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

Los controladores de Intel (xf86-video-intel y lib32-intel-dri) ya los instalé en el paso anterior.

Aumentar la seguridad de las contraseñas

Hasta hace poco las contraseñas de los usuarios de Linux se guardaban en el archivo /etc/shadow usando el algoritmo MD5 por defecto.

Considero MD5 muy débil y fácil de romper. Por suerte las versiones nuevas de shadow usan SHA-512 con 5000 rondas, mucho mejor que el estándar anterior. Pero si eres paranoico puedes cambiar el algoritmo o subir el número de rondas.

Mi algoritmo preferido para proteger contraseñas es bcrypt, que usa Blowfish internamente y, aunque no es propiamente una función hash, sirve exactamente para lo mismo: a partir de una contraseña genera una cadena irreversible que sirve para verificarla.

Vi que el manual de pam no menciona bcrypt. Blowfish sí aparece en la lista, pero como es un algoritmo de cifrado simétrico (y no una función hash) la contraseña sería reversible.

Así que elegí usar SHA-512 con muchas más rondas que las de por defecto, que es tan bueno como bcrypt. Para eso, modifica el archivo /etc/pam.d/passwd así:

password    required    pam_unix.so sha512 rounds=65536 shadow nullok minlen=8 retry=3

Todos los usuarios que se creen a partir de ahora tendrán que poner contraseñas de al menos 8 caracteres, cuyo hash usará SHA-512 con 65536 rondas. Para que afecte a las cuentas actuales basta con volver a crear las contraseñas con passwd:

[root@acer ~] passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

El cambio se puede comprobar en el archivo /etc/shadow:

[root@acer ~] cat /etc/shadow | grep root

Añade un usuario

[root@acer ~]# useradd -m -G wheel -s /bin/zsh julio
[root@acer ~]# chfn julio
[root@acer ~]# passwd julio

Una forma más fácil es con adduser, disponible en el AUR:

[root@acer ~]# adduser
Login name for new user []: julio
User ID ('UID') [ defaults to next available ]:
Initial group [ users ]:
Additional groups (comma separated) []: audio,lp,optical,storage,video,wheel,games,power,scanner
Home directory [ /home/julio ]:
Shell [ /bin/bash ]: /bin/zsh
Expiry date (YYYY-MM-DD) []:

Sudo

Permite que los usuarios del grupo wheel usen el comando sudo. Ejecuta visudo y descomenta la línea %wheel ALL=(ALL) ALL.

  • Inicia sesión con el usuario creado.

Dotfiles, etc

Oh-my-zsh

acer% git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
  • Copia tus claves públicas y privadas de la copia de seguridad

  • Clona mi repositorio de dotfiles en Github:

    acer% git clone git@github.com:jbsilva/dotfiles.git
    

Otros dotfiles

Copia o enlaza cada uno de los dotfiles y scripts a sus carpetas correspondientes:

acer% ln -s /home/julio/dotfiles/home/julio/.vim ~/.vim
acer% ln -s /home/julio/dotfiles/home/julio/.vimrc ~/.vimrc
acer% ln -s /home/julio/dotfiles/home/julio/.zshrc ~/.zshrc
acer% ln -s /home/julio/dotfiles/home/julio/.gitconfig ~/.gitconfig
acer% mkdir ~/.config;
acer% ln -s /home/julio/dotfiles/home/julio/.config/awesome ~/.config
acer% ln -s /home/julio/dotfiles/home/julio/.config/sytemd ~/.config
acer% mkdir .mpd; touch database log pid state sticker.sql
acer% ln -s /home/julio/dotfiles/home/julio/.mpd/mpd.conf ~/.mpd
acer% ln -s /home/julio/dotfiles/home/julio/.mpd/playlists ~/.mpd
acer% mkdir .ncmpcpp
acer% ln -s /home/julio/dotfiles/home/julio/.ncmpcpp/config ~/.ncmpcpp
acer% ln -s /home/julio/dotfiles/home/julio/.xdefaults ~/.xdefaults
acer% ln -s /home/julio/dotfiles/home/julio/.xdefaults/Xdefaults ~/.Xdefaults
acer% rm .xinitrc; ln -s /home/julio/dotfiles/home/julio/.xinitrc

¡Listo! El sistema está configurado y listo para usar. Arranca la interfaz gráfica con startx.


AUR e Yaourt/Packer

Instala Yaourt o Packer (elige uno) para facilitar la instalación de paquetes del AUR.

  • Yaourt:

    julio@acer ~> wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
    julio@acer ~> tar xvfz package-query.tar.gz; cd package-query
    julio@acer ~/package-query> makepkg
    julio@acer ~/package-query> sudo pacman -U package-query-1.0.1-1-x86_64.pkg.tar.xz
    
    julio@acer ~> wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
    julio@acer ~> tar xvfz yaourt.tar.gz; cd yaourt
    julio@acer ~/yaourt> makepkg
    julio@acer ~/yaourt> sudo pacman -U yaourt-1.1-1-any.pkg.tar.xz
    
  • Packer:

    Empecé a usar Packer hace poco, pero parece más rápido y dar menos problemas que Yaourt.

    julio@acer ~> wget https://aur.archlinux.org/packages/pa/packer/packer.tar.gz
    julio@acer ~> tar xvfz packer.tar.gz; cd packer; makepkg
    julio@acer ~/packer> sudo pacman -U packer-20121228-1-any.pkg.tar.xz
    

Instala algunos programas del AUR:

julio@acer ~> for p in {tofrodos,dropbox,urxvt-keyboard-select,urxvt-clipboard,rtorrent-pyro-git,otf-ipafont,mod_scgi,django-git,flexget,xtrlock,tor-browser-en}; do packer $p; done

Instala otros programas

  • Instalar rutorrent por svn

Comando para montar el Volume Group: vgchange -a y vg_arch

Samba

Crear usuarios para Samba

julio@acer ~> sudo useradd guest
julio@acer ~> sudo pdbedit -a -u julio
julio@acer ~> sudo pdbedit -a -u guest

Arrancar el demonio con systemctl:

julio@acer ~> sudo systemctl start smbd nmbd

Lista las carpetas compartidas

En otros ordenadores de la red, las carpetas compartidas se pueden listar con:

julio@acer ~> sudo smbclient -L 192.168.0.2 -U%

Accede desde otros ordenadores:

sudo mount -t cifs //192.168.0.2/acer /media/acer -o user=guest,password=senha_guest,workgroup=GRUPO,ip=192.168.0.2

o, mejor, añade esta línea al /etc/fstab:

//192.168.0.2/musicas   /media/rede   cifs   noauto,credentials=/etc/samba/smbcred   0 0

Donde el archivo /etc/samb/smbcred se parece a esto:

username=guest
password=senha_guest
workgroup=GRUPO
ip=192.168.0.2

Otras recomendaciones

Protege tu BIOS con contraseña para mayor seguridad.

Guarda una copia de la cabecera LUKS

He conocido gente cuyo disco tuvo un badblock al principio de la partición cifrada y se quedó sin poder acceder a los archivos. Con una copia de la cabecera seguramente habría recuperado algunos.

julio@acer ~> sudo cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file /media/externo/acer-luks_header.img

Cron

julio@acer ~> sudo systemctl enable cronie

Previene las fork bombs

Añade esta línea al final del archivo /etc/security/limits.conf:

julio           hard    nproc           4000

(cambia julio por el nombre de tu usuario)


Julio Batista Silva
Autores
Senior Cloud Developer

Soy un ingeniero informático brasileño radicado en Alemania, apasionado por la tecnología, la ciencia, la fotografía y los idiomas.

Llevo programando cerca de dos décadas, explorando desde apps móviles y desarrollo web hasta aprendizaje automático. Hoy me enfoco en SRE en la nube e ingeniería de datos.

Soy voluntario en las comunidades de open source y Python, ayudando a organizar PyCon DE y PyData Berlin, dando mentorías y contribuyendo con código y traducciones.

En mi blog comparto consejos de Linux, guías de configuración y notas personales que escribí como referencia futura. Espero que también sean útiles para otras personas. El contenido está disponible en varios idiomas.

Visita mi galería para ver algunas de mis fotografías.

Fuera del teclado, me encontrarás en conciertos, tocando el clarinete, en bicicleta, buceando o explorando nuevos lugares, culturas y cocinas.

¡Siempre feliz de conectar! 🙂

comments powered by Disqus