Definamos Normal.

El Blog personal de Rafael Rojas

Category: ArchLinux (page 1 of 5)

Del porque no debes ignorar los archivos .pacnew

Una de las caracteristicas que hacen de ArchLinux una distribucion High maintenance o “tengo muchisimo tiempo libre en mis manos para andar toqueteando mi sistema” en español es que el sistema no se hace cargo automáticamente de los archivos de configuración, ni cuando se instala un paquete nuevo, ni cuando se actualiza. En su filosofía Vanilla ArchLinux instala los paquetes con la configuracion default del paquete original, o en su caso sin configuración alguna.

Pacman, a la hora de actualizar un paquete este no sobreescribe el archivo de configuración existente, sino que crea uno en limpio y lo guarda con la extension .pacnew. Estos se ven cuando actualizamos un paquete que tiene un archivo de configuración nuevo:

advertencia: /etc/makepkg.conf instalado como /etc/makepkg.conf.pacnew

De la misma forma a la hora de remover un paquete pacman deja guardados los archivos de configuracion de este paquete con una extension .pacsave, ejemplo:

advertencia: /etc/makepkg.conf guardado como /etc/makepkg.conf.pacsave

Todos estos pasos de seguridad son propios de pacman y los archivos de configuración que cada paquete va a tocar (o guardar en caso de desinstalación) se encuentran configurados en cada PKGBUILD de los paquetes, de aqui viene la simplicidad de ArchLinux: este espera que el usuario configure y combine las nuevas caracteristicas en los archivos de configuración ya existentes.

Y como ver las diferencias entre configuraciones nuevas y viejas?

Una forma sencilla de encontrar cuantos archivos .pacnew tenemos sin combinar seria con una simple busqueda.

Para revisar esos .pacnew hay herramientas como diff: Continue reading

Jugando con systemd-journal-gatewayd

Una de las tantas cosas que cambio Systemd es el como se registran los eventos del sistema, antes de esta tarea se encargaba syslog-ng, ahora esto lo hace journald. EDIT: a este post lo debe preceder otro en el que hable del journalctl y sus menesteres.

Uno de los juguetitos de journald es un servidor http embebido llamado systemd-journal-gatewayd cuya funcion (en teoria) es hacer accesibles por HMTL los logs de los servicios, logs, sockets y eventos de systemd:

 

instantánea2

La forma de habilitarlo en ArchLinux ( y posiblemente en otras distribuciones que usen systemd como fedora u opensuse) es la siguiente: Continue reading

Keep it simple

2013-11-27-213337_1366x768_scrot

🙂

Devuelveme mis puntos de montaje udisk!!!!

Udev desde hace rato forma parte de Systemd, y con ello ha dejado de ocuparse de los puntos de montaje de los dispositivos, haciendose cargo ahora udisk2

Por default udisk2 monta los dispositivos en un arreglo de directorios /run/media/$USER/ :

pagotelcel2

Pero no es algo que a mi me guste 🙂 y como muchas cosas en Linux es algo que se puede modificar a mis necesidades. En este caso quiero modificar las reglas de montaje a que todo se monte en el tradicional directorio /media para que un script de descarga y sincronizacion de torrents siga funcionando sin problemas.

Como la wiki de udev lo menciona es basicamente agregar una nueva regla de udisk.

vi /etc/udev/rules.d/99-udisks2.rules

Y agregar esta simple regla:

ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"

(todo en una sola linea)

Al volver a montar mi dispositivo USB ya lo tengo en /media, justo como queria.

pagotelcel3

hay que pasar a leerse la wiki de udev en ArchLinux. hay muchos detalles de configuración interesantes. Por supuesto esta configuración aplica para todos las distribuciones que carguen con Systemd (eso incluye a Fedora u OpenSuSe). Viene siendo hora de una entrada de que diablos es udev y por que deberia conocerlo, saludos!

iproute2, la sustitución completa de ifconfig

Durante años en Arch administrábamos las interfaces de red con los comandos: ifconfig, iwconfig, netstat, route, etc.

Todo estos programas separados se encuentran dentro del meta-paquete net-tools en ArchLinux, el detalle es que desde el 2011 estas herramientas estaban depreciadas remplazadas por las utilerias iproute2.

Ahora, el comando ip ha estado ahi durante mucho tiempo, pero no era usado por usar el mas tradicional ipconfig, hasta hace poco el paquete ipconfig seguia siendo el paquete oficial para el manejo de interfaces de red, pero eso cambio y ahora es /usr/sbin/ip (sin embargo el paquete net-tools aun se encuentra disponible en los repos de ArchLinux).

Que herramientas remplaza iproute?

Estas, a grandes razgos, son las herramientas que iproute2 remplaza.

Funcion Herramienta en “net-tools” iproute2
Configuracion de red y enlace ifconfig ip addr, ip link
Tablas de ruteo route ip route
Neighbors arp ip neigh
VLAN vconfig ip link
Tuneles iptunnel ip tunnel
Multicast ipmaddr ip maddr
Estadisticas netstat ss

La intencion de iproute2 es unificar la sintaxis de varias de estas herramientas

ifconfig vs ip

Mostrar dispositivos de red y su configuración

ifconfig
ifconfig -a

ip
ip addr show
ip link show

Habilitar una interfaz de red

ifconfig
ifconfig eth0 up

ip
ip link set eth0 up

Deshabilitar una interfaz de red

ifconfig
ifconfig eth0 down

ip
ip link set eth0 down

Asignar una dirección IP

ifconfig
ifconfig eth0 192.168.0.77

ip
ip address add 192.168.0.77 dev eth0

El mismo comando con mascara de red y direccion de difusion

ifconfig
ifconfig eth0 192.168.0.77 netmask 255.255.255.0 broadcast 192.168.0.255

ip
ip addr add 192.168.0.77/24 broadcast 192.168.1.255 dev eth0

Borrar una direccion IP

Esto solo posible con ip:

ip addr del 192.168.0.77/24 dev eth0

Agregar interfaces alias

ifconfig
ifconfig eth0:1 10.0.0.1/8

ip
ip addr add 10.0.0.1/8 dev eth0 label eth0:1

Protocolo ARP

Agregar una entrada a la tabla ARP

arp -i eth0 -s 192.168.0.1 00:11:22:33:44:55

ip
ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev eth0

Apagar resolucion ARP en un dispositivo

ifconfig
ifconfig -arp eth0

ip
ip link set dev eth0 arp off

Algunas fuentes para extenderse ams en el tema:

http://en.wikipedia.org/wiki/Iproute2
https://bbs.archlinux.org/viewtopic.php?id=120872
http://whodat.be/iproute2-cheatsheet-and-reference-guide/
http://linux-ip.net/html/tools-ip-management.html
http://www.tty1.net/blog/2010-04-21-ifconfig-ip-comparison_en.html
http://linux-ip.net/html/tools-ip-management.html

Oye Systemd, devuelveme los nombres de mis interfaces de red!

Desde la edición 197 de Systemd, este se encargo de la maravillosa tarea de renombrar nuestras interfaces de red, siguiendo una clara política establecida en FreeDesktop.org que establece los siguientes parametros para nombrar interfaces de red:

With systemd 197 we have added native support for a number of different naming policies into systemd/udevd proper and made a scheme similar to biosdevname’s (but generally more powerful, and closer to kernel-internal device identification schemes) the default. The following different naming schemes for network interfaces are now supported by udev natively:

  • Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
  • Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
  • Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
  • Names incorporating the interfaces’s MAC address (example: enx78e7d1ea46da)
  • Classic, unpredictable kernel-native ethX naming (example: eth0)

Esto es que Udev (ya integrado en systemd) nombrara las interfaces de red bajo la política de:

Primero por el numero de serie establecido en el Firmware/BIOS (eno1)
De no ser posible por el numero del slot de conexión de la interfaz proveído por el Firmware/BIOS (ens1)
Si no, por la localización geográfica del conector (enp2s0)
O incorporando la MAC address al nombre de la interfaz (en mi opinión, el mas útil: enx78e7d1ea46da).
Finalmentepor el nombramiento clásico estándar del kernel (eth0)

Este cambio es meramente opcional si es que actualizas de una versión anterior de systemd, pero si has instalado ArchLinux en los últimos 4 meses, así sera el nombramiento de las interfaces.

Selección_007

Pero, que tal si no quiero batallar con los nombres de las interfaces de red todavia?
Simple: eliminamos la regla de udev que las nombra así, con un comando tan simple como:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

(o borrando directamente el archivo también).

A la hora de reiniciar el sistema el nombre canónico que el kernel le pone a las interfaces de red ha vuelto, solo falta otro ip link show para verificar:

Selección_008

En base a la depreciación de inet-tools, mucha gente no conoce muy bien el uso de ip link, mañana un post al respecto.

PD. Esto aplica para toda distro con systemd 197 o superior (Fedora, OpenSuSe, etc)

prescindir de la imagen fallback de ArchLinux

initgrub

Arch utiliza por default 2 imágenes del kernel /boot/initramfs-linux.img y /boot/initramfs-linux-fallback.img La diferencia entre estas es que la imagen fallback tiene deshabilitado el hook autodetect cuya función es agregar al initramfs la lista de módulos utilizados por el hardware del equipo a través de un escaneo con sysfs.

La imagen fallback tiene este modulo deshabilitado por si bajo alguna actualización del sistema hay algún modulo causando conflicto podamos iniciar con esta imagen, cargar los modulos manualmente y deshabilitar o reparar el modulo conflictivo  Cabe aclarar que ambas imágenes están hechas con la misma versión del kernel.

Mi cuestión es: corro arch sobre una laptop que no tiene cambios de hardware y que no le hago grandes cambios a los módulos del kernel, realmente necesito esta imagen fallback?

Y como honestamente no la necesito pues la puedo deshabilitar.

Editamos el archivo de pre configuraciones del kernel:

vi /etc/mkinitcpio.d/linux.preset

Un interesante archivo con contenido como este:

# mkinitcpio preset file for the 'linux' package
 
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux-ck"
 
PRESETS=('default' 'fallback')
 
#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux-ck.img"
#default_options=""
 
#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-linux-ck-fallback.img"
fallback_options="-S autodetect"

Editamos los presets quitando ‘fallback’y comentamos las lineas fallback_image y fallback_options quedando asi:

PRESETS=('default')
 
#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux-ck.img"
#default_options=""
 
#fallback_config="/etc/mkinitcpio.conf"
#fallback_image="/boot/initramfs-linux-ck-fallback.img"
#fallback_options="-S autodetect"

Luego recreamos la imagen del kernel:

mkinitcpio -p linux

EDIT 14-abril

Tambien ahy que eliminiar la vieja imagen fallback manualmente:

rm /boot/initramfs-linux-fallback.img

Actualizamos el grub:

grub-mkconfig -o /boot/grub/grub.cfg

Y listo, ya no hay imagen fallback, si queremos regresar los cambios devovlemos el archivo /etc/mkinitcpio.d/linux.preset a su estado original, recreamos las imagenes de arranque y actualizamos el grub, tambien es interesante que en ese archivo podemos configurar personalizaciones de la imagen de arranque con nuestros propios hooks, pero eso sera otra cosa.

La mejor guia de instalacion de Arch Linux que puedas encontrar!

He borrado la pagina con la guía de instalación de Arch Linux que tenia posteada en este blog. Bajo la premisa que la información en los blogs caduca, pues decidi dejar de actualizarla y de repetir la información que alguien mas ya ha documentado.

Pero honestamente con la intención de ayudar a los usuarios en sus nuevas instalaciones y configuraciones, les dejare una liga a la mejor guía de instalación de Arch Linux que puedan encontrar en la web. Solo den clic en la imagen:

Arch-Linux

Y recuerde: no acepte imitaciones!

Vota por tus paquetes favoritos de AUR

Hay una forma de que los paquetes del repositorio de usuarios de ArchLinux pasen al repositorio [community] y puedan ser instalados con un simple pacman -S sin necesidad de que sean compilados desde codigo fuente, esta forma simple es: votando por ellos.

Segun la wiki de Arch los requisitos para que estos paquetes pasen al repositorio [community] son:

Al menos, 10 votos para que algo se mueva al repositorio [community]. o
Que un usuario de confianza (Trusted User, TU en ingles) adopte y mantenga dicho paquete.

Si un paquete tiene suficientes votos para ser considerado para [community], se considerara tomar al usuario creador del PKGBUILD para incluirlo como usuario de confianza y se le asignara la responsabilidad de actualizar dicho paquete.

Y quien puede votar por estos PKGBUILDs?

Basicamente cualquiera que se haga de una cuenta de usuario dentro de archlinux.org

Con esa cuenta creada (que también sirve para acceder a los foros oficiales de ArchLinux y para ayudar a editar y actualizar su wiki) solo falta instalar el paquete aurvote desde AUR:

yaourt -S aurvote

Y luego corremos la configuración de aurvote:

aurvote --configure

Que nos pide información de nuestra cuenta y pregunta si queremos un login persistente y donde guardar la cookie de AUR:

kmix2

Y listo, ya podemos votar por nuestros paquetes favoritos, por ejemplo yo pienso que el paquete de fonts oxygen ya esta suficientemente maduro:

kmix3

Espero que si incluyan un paquete precompilado.

Quien dijo que ArchLinux no tomaba en cuenta a sus usuarios?

Protip: afinar el control de volumen en kmix

Kmix es la herramienta de control de audio de KDE, controla las entradas y salidas de audio y trabaja con pulseaudio para manejar perfectamente los dispositivos de audio.

kmix

Funciona bien, solo hay un detalle: cuando subía o bajaba el audio desde el teclado, kmix daba grandes saltos (del 20%) haciendo que modificar un poco el volumen fuera o muy alto o muy bajo, y eso pues es exasperante….

Pero se puede solucionar

Solo basta editar el archivo kmixrc y agregar una linea:

abrimos el archivo:

vi $HOME/.kde4/share/config/kmixrc

En algunas distros el directorio de configuración de usuario es .kde, en archlinux es .kde4

Y justo debajo de la sección [global] agregar: VolumePercentageStep= con el porcentaje de cambio de volumen, el mio quedo así:

kmix1

El cambio queda del 1.5% y no del 20% como era antes, mucho mejor para mi y mi laptop 😀

Por ultimo solo queda reiniciar kmix para que queden los cambios:

pkill kmix && kmix &

Mi volumen ya no queda como alto-medio-bajo. Saludos!

Older posts

© 2017 Definamos Normal.

Theme by Anders NorenUp ↑