Ufff! han sido días difíciles xD
Debido a que en vacaciones no salgo a ninguna parte, y tengo que estar ocupado en algo (hace mal a la salud estar tirado todo el día), y como no juego, no veo pelis ni animé o series hace mucho tiempo, pues hace varios años que me dedico a lo que se llama "aprender". Y debido a que en Chile son dos meses y poco más de vacaciones, pues es el tiempo perfecto para instalar un nuevo sistema operativo.
Hace unos 6 años empecé con Linux (Debian, cuando estaba en 3ero medio), pasé por ubuntu, fedora, archlinux (todo eso en 2 años), luego entré a la universidad y usé fedora 2 o 3 años, luego linux mint uno o dos años (me confundo en esa época), así que después de tanto tiempo acostumbrado a linux, quise pasarme a algo distinto, como para salirme de mi zona de comfort... y como ya no me gusta ser masoquista, opté por PCBSD, que es un FreeBSD fácil de usar.
¡Y vaya que han sido días difíciles! Pero todo tiene su logro, y si bien aún no puedo decir que está *todo* listo (me falta hacer la jail para linux y nunca se deja de aprender), pues ¡Vaya que he aprendido harto!.
Dejaré esta guía de tips básicos para, quizás, animar a alguien a pasarse, o tal vez a alguien le sirva para solucionar algún problema.
Algunas de estas cosas son muy repetidas, están en la wiki, otras no tanto. Pondré lo que "me hubiera servido" a mí.
PreInstalación
Pues primero viene la "Preinstalación".
PCBSD necesita una partición libre.. sí Sólo Una (no dos como linux), ya que guarda la swap en un archivo dentro del pc (similar al archivo de paginación de windows).
Sin embargo PCBSD no viene con particionador, así que debes tener la partición lista (con cualquier sistema de archivos, la formatea). Para ello recomiendo usar GParted, herramienta linux muy muy útil para todo lo que es particionado (y si tienes windows usa la versión live cd).
Luego de tener la partición lista toca instalar.
Instalación
La instalación de PCBSD es de lo más simple, gráfica. Para ello lee la wiki (no pondré todo el proceso si está en la wiki). Recuerda que como en cualquier unix, y especialmente en este, es *recomendable* saber inglés y saber buscar información en inglés a través de google. Ésta recomendación es útil para todo el proceso de uso de PCBSD y cualquier unix (linux, *bsd, etc, quitemos a macosx del baile)
La guía de usuario de PCBSD está acá:
http://wiki.pcbsd.org/index.php/PC-BSD%C2%AE_Users_Handbook/10.1/en
Ve a la sección de instalación. Te dejo el link general para que puedas acceder a cualquier parte. Es siempre recomendable leerse la wiki, esto es sólo una "guía de salvación" o una "experiencia personal" más que nada.
GNOME/Cinnamon y los repositorios
Ésta es una experiencia un tanto tragicómica, y laaaarga.
Resulta que PCBSD tiene dos ramas de repositorios, los "Producción" (Estable), y "Edge" (de punta). Por defecto viene con los de producción, que se actualizan más menos cada 3 meses, y los edge cada dos semanas.
Pero hay un bug que encontré (y que está reportado pero sin solución, al menos hasta hace una semana), y que trata que gnome y cinnamon (y derivados) tienen problemas con el driver ati radeon. El problema es que todos los menúes se ven como códigos de barra... ¿bonito no?
El mantenedor les dijo que prueben pasarse a edge a ver si tenían el mismo problema. Varios lo hicieron y uno o dos reportaron que se les arruinó grub y el sistema.
Pero yo soy badass ¿lo olvidas? Así que probé (ya que por 4 años usé gnome y cinnamon, así que no quería salirme de mi zona de comfort).
"Funcionó", al menos se veía bien... el problema es que yo uso locales español y teclado español. Ahí empezó todo...
Configurar el teclado no fue difícil, pero las locales daba un error de systemctl... Un momento, ¿Que no systemctl y systemd son exclusivos de linux? Pues, sin saber demasiado, tal parece (y hay posts en foros), que gnome3 no funciona correctamente en *bsd, ya que usa systemd aún en algunas partes.
Pues descontento con eso intenté cambiar las locale como dice el manual de freebsd, es decir cambiando el login.conf ... eso fue peor. Ahora no me partía gnome 3, ya que daba un error de dconf. Aburrido desinstalé gnome3.. peor, se me desconfiguró la tarjeta de video y veía un horrible arcoiris (si hubiera sido bonito sería otra cosa, pero era feo).
Por suerte PCBSD guarda snapshots al actualizar (fui tan irresponsable que ni siquiera usé el life-preserver... errores de novato supongo), así que de una imagen recuperé el sistema (usando life preserver). Se me apagó por temperatura, pero alcanzó a recuperar todo.
Luego vino otro problema, y es que no caí en la cuenta que el repositorio edge tiene el paquete base distinto... y yo había hecho todo con pkg (comandos), cuando quise actualizar el sistema me quitó kde y todo lo que había instalado al instalar el sistema (emacs, firefox).
Aburrido, y con un fluxbox que ya odiaba, hice lo imperdonable, pero en pos del tiempo, simplemente reinstalé el sistema nuevamente.
Una segunda oportunidad
Ahora sí que seré más responsable.
Primeramente no me salgo de producción, al menos no sin estar totalmente seguro de lo que hago.
Segundo, no instalaré ports a menos que sea en una jaula (jail), lo mismo con apps de linux.
Tercero, haré snapshots periódicamente con life-preserver.
Y así voy. Todo va bien.
Ahora unos tips:
Powerd y la configuración de rendimiento vs temperatura
Mi pc es un hp... tiene 4 años... y nunca lo he limpiado (ni abierto) por dentro (aunque ya va siendo hora...), así que se calienta muucho.
Para solucionarlo usé la solución del flojo, usé powerd.
Powerd se lanza como root, y para usarlo vean el manual.
Un ejemplo (más o menos sacado de
acá) puede ser:
# powerd -a adaptive -b adaptive -n adaptive -i 85 -r 75 -p 500
para entenderlo lean el manual:
$ man powerd
para los novatos.
ese comando pueden lanzarlo como root en cualquier momento, sin embargo si quieren que empiece al iniciar el sistema, deberán modificar el archivo /etc/rc.conf agregando las siguientes líneas (yo lo tengo así, si las variables (la parte antes del "=" ya está, no vayan a ser tan mensos como para repetirla, porque les dará error y lo omitirá, así que borren si ya tienen una línea "powerd_enable" o "powerd_flags"):
powerd_enable="YES"
powerd_flags=" -a min -b min -n min"
Alternativamente pueden cambiar los perfiles de rendimiento como sale en el artículo linkeado arriba (donde dice "acá", para los ñurdos).
Sysctl (o cómo configurar los parámetros del sistema)
sysctl es una excelente herramienta para configurar muuuchos parámetros del sistema, tales como el rendimiento, la frecuencia del sistema, el brillo de la pantalla, y muuuchas otras cosas más.
para invocarlo y cambiar algo, simplemente tienen que ejecutar como root:
# sysctl nombre=valor
ahora claro, ustedes no saben todos los nombres de las variables de sistema que tiene (y nadie las sabe, puesto que cambian según el pc y otras cosas), pero para ver la lista de variables, ejecuten:
# sysctl -a
sin embargo se van a marear con tantas variables (son muchas), para comenzar, les recomiendo ir por lo más común que es:
# sysctl dev.cpu
que les dará todas las variables del cpu, o también
# sysctl hw.acpi
que les dará las variables asociadas a acpi, el gestor de energía de todos los pcs modernos (windows, linux, bsd y los pcs típicos usan acpi, NO intentes desactivarlo así como así, porque no te partirá el sistema, tal vez activando apm (la versión anterior del gestor de energía), pero a mí no me sirvió, y no hay para qué).
Ahora claro, cada vez que prendan tendrán que ejecutar el susodicho comando, para evitarse eso hay un archivo de configuración donde ponen las variables (sin el "sysctl") con su valor, y lo asignará al prenderse, el archivo es:
/etc/sysctl.conf
Montar ntfs
si tienen una partición ntfs, tendrán que hacerle click para que se monte cada vez que prendan el pc, y así accederla (como se usa en ubuntu y otras distros "automáticas"). La atrocidad que cometí para evitarme ese "click" y tiempo de espera asociado fue hacer una regla en el archivo sudoers para que el comando no pida contraseña y luego poner los comandos de montado en el arranque de kde (hice un script, recuerden darle permisos de ejecución antes, o les dará problemas).
Para saber cómo modificar el archivo sudoers lean:
http://www.linuxtotal.com.mx/index.php?cont=info_admon_014
Simplemente le añaden:
, NOPASSWD: "comando", "comando2"
en la regla correspondiente.
mi súper script quedó así:
#!/bin/sh
sudo ntfs-3g /dev/ada0s3 /media/ntfs-grande
sudo ntfs-3g /dev/ada0s2 /media/ntfs-win
Manejar unidades, particiones y formatear
En FreeBSD NO hay GParted. En su reemplazo está "gpart" que es un comando en consola (nadie le ha hecho interfaz aún, y no está entre mis proyectos personales... pero creo que sería un proyecto popular en github).
para usar gpart lee el manual (RTFM, Read The Fucking Manual). con #man gpart
hay varios manuales más asociados, aparecen al final los nombres.
Para ver las unidades detectadas simplemente ejecuta
$ gpart show
También yo uso el fdisk para reiniciar la tabla de particiones luego de instalarle una imagen a un usb. Simplemente ejecuta
#fsidk -i /dev/da0
si es que tu usb está en da0, te dará opciones, lee, y acepta los cambios de tamaño.
Luego de eso es bueno formatear la partición del usb como fat32, para ello ejecuta:
# newfs_msdos -F32 /dev/da0s1
si es que da0s1 es tu partición (revisa con "$ gpart show" o "$ gpart show da0" si quieres ser más específico).
Algunos Tips extras
Imprimir dos comandos en la misma línea
Si quieres imprimir en pantalla más de un comando en la misma línea, y que se concatenen, sin usar un script y usando una sola línea de código, usa los acentos. Por ejemplo:
$ echo "Fecha:" `date` " Uptime: " `uptime`
Es la forma más fácil de hacerlo, o puedes probar con printf.
Yo tengo un script con el comando de arriba para cuando se apague tener todas las cifras de uso en un archivo.
Ver estadísticas de internet
Si quieres ver quién están usando el internet, y cuánto, instala "jnettop", es en consola, pero se actualiza y se ve bonito. Un uso básico sería:
# jnettop -i wlan0
especifica la interfaz de red (en este caso wlan0, que es mi wifi), ya que sino te toma la ethernet o cualquiera (no sé las reglas, a mí me tomó la ethernet).
Tip sobre linux jail
Para instalar una jail linux con debian, sigue las instrucciones, sin embargo luego de la configuración, descargará los paquetes, y te dará un error de "debootstrap", para solucionarlo simplemente instala el paquete (instálalo antes de hacer la jaula), desde comandos:
# pkg install debootstrap
desconozco cómo será el proceso para gentoo, y la verdad aún no hago la jaula de debian, porque lo cancelé en el proceso de descargar los paquetes.
Wine y adobe reader
Wine funciona normalmente (aunque sólo para win32 por ahora). Si quieres instalar el adobe reader por ejemplo, te dará un error de mispatcha, para instalarlo primero descarga el winetricks y ejecuta lo siguiente
$ fetch http://winetricks.googlecode.com/svn/trunk/src/winetricks
$ chmod +x winetricks
$ ./winetricks mspatcha
Y luego podrás instalar el adobe reader.
Yo instalé el office 2007, desconozco si funciona una versión más nueva.
Emacs y cambiar la calidad de doc-view para que se puedan leer los pdf
Emacs... yo uso emacs, y quería leer pdfs, sin embargo en pcbsd el doc-view me cacheaba las imágenes con muuuy baja resolución (recordar que doc-view convierte las páginas a png). Para cambiarlo, hice lo siguiente:
M x (es decir apretan Alt + x)
escriben: customize-group
enter
luego: doc-view
enter
cambian los ppi de la imagen (que a mi me ponía por defecto 100, lo puse a 150).
Y también cambié
dTextAlphaBits a 2
y dGraphicsAlphaBits a 2 tambié (esas dos opciones están bajo ghostscript)
La verdad ni idea qué hacen las últimas dos variables, pero eso recomendaban por ahí y me funcionó, tendría que probar más, o investigar (no encontré rápido), pero ustedes pueden probar más.
Recordar cambiar el "State" para que se guarden las opciones. Pueden dejarlo para la sesión solamente, o cambiar el state global y ponerle par sesiones futuras cuando ya vean que les sirve.
Ufff! eso sería por ahora, espero ayudar a los nuevos con tips, y que sirva este artículo al menos para sacar una carcajada a los más experimentados xD