====== Instalando OpenBSD-6.6 ====== {{:informatica:openbsd:puffy66.png?380|}} Este es un Sistema Operativo libre tipo Unix, multiplataforma y descendiente de NetBSD, basado en 4.4BSD, con una fuerte orientación en la //Seguridad y la Criptografía//. Partiremos desde que el Sistema Operativo está instalado en la máquina y se encuentra con conexión a la red de //internet//, ya hay bastante información en la red sobre Instalación, ahora veremos que hacer después de instalarlo. Una vez que hayas instalado el sistema, te darás cuenta que es simple de configurar y puede tornarse en una herramienta poderosa si se sabe como utilizar. ===== Bajando ISO's por Torrent ===== Para bajar las ISO se debe bajar desde este link un [[http://openbsd.somedomain.net/|torrent]] ===== Tarjeta de Red ===== La o las configuraciones de las tarjetas de red se encuentran en el directorio // /etc/hostname.XX //, donde //XX// es el tipo de tarjeta que el sistema detecta y esto depende del fabricante, por lo que cada //XX// es diferente y depende de lo que tenga instalado en la máquina. Como ejemplo tengo una máquina que tiene una interfaz // /etc/hostname.re0 //. Si no sabemos como nuestro sistema ha definido a nuestra tarjeta de red, lo que debemos hacer es correr el comando //ifconfig -a//, con privilegios de //root//. #ifconfig -a lo0: flags=8049 mtu 33152 priority: 0 groups: lo inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 re0: flags=8843 mtu 1500 lladdr aa:bb:cc:dd:ee:ff priority: 0 groups: egress media: Ethernet autoselect (100baseTX full-duplex) status: active inet 192.168.0.8 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::227:eff:fe07:f462%re0 prefixlen 64 scopeid 0x1 enc0: flags=0<> priority: 0 groups: enc status: active pflog0: flags=141 mtu 33152 priority: 0 groups: pflog ==== Configurando la NIC ==== Como podemos apreciar, este comando nos indica que la interfaz tiene la extensión **re0** y el contenido del archivo de configuración en //** /etc/hostname.re0 **// es, como ejemplo: inet 192.168.0.8 255.255.255.0 Esto es para una IPV4 fija, si la máquina será conectada a un servidor DHCP el archivo debe contener dhcp Si... así de simple. ==== Definir el Gateway ==== La puerta de enlace o gateway se encuentra configurado en el archivo //**/etc/mygate**//, este archivo debe contener la IP por la cual saldrá nuestra máquina, siguiendo el ejemplo debe tener: 192.168.0.1 ==== Nombre de Host ==== Para poner un nombre de host, debemos editar el archivo **/etc/myname** y agregar el nombre canónico de nuestra máquina para el dominio al cual nos queremos conectar, para ello agregamos al archivo, la siguiente línea: obsd66.electrolinux.cl ==== Cambiamos HOSTS ==== También debemos realizar los cambios en el archivo **/etc/hosts** y agregamos las líneas: 127.0.0.1 localhost obsd66 obsd66.electrolinux.cl ==== Cambiamos sin Reiniciar ==== Ahora para realizar los cambios, sin tener que reiniciar la máquina, debemos ejecutar como root, el comando: # sh /etc/netstart Con esto el nombre de hosts debe estar modificado. ==== Configurando el DNS ==== Ahora nos toca indicar cómo configurar el DNS que usará nuestra máquina, esto lo debemos realizar en el archivo de configuración //**/etc/resolv.conf**//, al cual debemos configurar con: #cat /etc/resolv.conf search midominio.algo --> Cambiar por el dominio que corresponde nameserver 8.8.8.8 nameserver 8.8.4.4 lookup file bind Con esto tenemos ya configurarda la tarjeta de red, el gateway y los DNS, por lo atnto si ejecutamos un ping a alguna máquina remota, debería estar funcionando. ===== Instalando Aplicaciones ===== En OpenBSD, se manejan paquetes binarios, que son compilados por el equipo de trabajo que se encuentra detrás de este gran proyecto [[http://es.wikipedia.org/wiki/Theo_de_Raadt|Theo de Raadt]], para cargar aplicaciones se recomienda usar el conjunto de herramientas //pkg//. Se debe considerar que si es posible también compilar los paquetes desde los fuentes y posteriormente instalarlos desde los //ports//, lo que más adelante veremos. Por ahora nos concentraremos en la instalación de paquetes con //pkg//. ==== Seteo de Variables ==== Antes de iniciar la carga de aplicaciones desde los ports, debemos configurar algunas variables, las que paso a detallar: amd64 export PKG_PATH=http://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(arch -s)/ i386 export PKG_PATH=http://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(arch -s)/ Con la ejecución de esto, dejamos la máquina lista para ejecutar la carga de aplicaciones. Obviamente deberemos tener conectividad con la máquina // ftp.openbsd.org //. Esto permite instalar paquetes pero al reiniciar la maquina esto se perderá, pero para evitar esto agregar la línea correspondiente dependiendo de su arquitectura en el archivo **.profile** del usuario correspondiente. ==== Versión OpenBSD-6.1 ==== Las versiones recientes **OpenBSD 6.1**, tienen un archivo para configurar la variable PKG_PATH y este es **/etc/installpatch** el cual debe contener: https://www.mirrorservice.org/pub/OpenBSD Este es uno de los Miiror Oficiales de OpenBSD. ==== Cargando Aplicaciones ==== Para cargar, simplemente ejecutamos, el comando desde la consola: #pkg_add -r nombre_del_paquete ejemplo: #pkg_add -r vim #pkg_add -r wget rsync ==== Como Instalar los Ports ==== Una de las formas simples de instalar los //Ports de OpenBSD//, es descargando el archivo y descomprimirlo en el lugar adecuado // /usr/ports //. #cd /usr #wget -c http://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/ports.tar.gz #tar xzf ports.tar.gz Una vez que haya finalizado... recuperamos espacio en el disco. #rm ports.tar.gz Dependiendo de la velocidad del enlace y de la máquina, esto se puede demorar más o menos, pero en unos 5 a 10 minutos deberíamos estar con los //Ports// en el directorio correcto, // /usr/ports/ //. ==== Instalando Paquetes desde los Ports ==== Una vez que tenemos los //ports// instalados, podemos instalar los paquetes desde los //ports//, veremos un ejemplo de como se hace: #/usr/libexec/locate.updatedb --> Con esto creamos una DDBB interna para saber donde están los archivos. #locate nano --> Buscamos un editor.. "nano" /usr/ports/editors/nano... --> El locate nos indica donde se encuentra #cd /usr/ports/editors/nano --> Nos cambiados al directorio #make install clean --> Compilamos, instalamos y limpiamos Este es un ejemplo de como instalar aplicaciones desde los //ports//. ==== Actualizando los Ports desde CVS ==== Para actualizar los **ports** desde consola por CVS debemos ejecutar como root el comando siguiente: # cd /usr # cvs -qd anoncvs@anoncvs.openbsd.org:/cvs get -r OPENBSD_6_6 -P ports Con esto debemos dejar el árbol actualizado. Otra forma de actualizar los //PORTS// es editanto el archivo de **.profile** y agregando: export CVSROOT=anoncvs@anoncvs.openbsd.org:/cvs Una vez guardado, salga de root e ingrese nuevamente para que cargue la variable nuevamente y ejecute como root: # cd /usr # cvs -z3 -q get -rOPENBSD_6_6 -P ports Esto también permitirá actualizar los //PORTS//. ===== Después del Primer Reboot ===== Una vez que hemos cargado algunas herramientas mínimas, como nuestro editor de textos favorito y otras como el //wget, rsync// por ejemplo, rebooteamos la máquina y hacemos nuestro login normal en modo texto, ya que hasta ahora NO hemos configurado nada. ===== Auto-arranque de Servicios ===== Para que el sistema permita autoarrancar diferentes servicios de la maquina, se debe modificar el archivo **/etc/rc.conf.local** y dejar las siguientes líneas como: xdm_flags= #Arranca el login grafico ntpd_flags="-s" #Arranca NTP sndiod_flags="-b 22000" #Se habilita el sonido y se aumenta el buffer a 22KB por defecto es 7,2KB. nginx_flags= #Arranca el Servicio Web Nginx apmd_flags="-A" #Arranca administrador de energia ftpd_flags="-l -S -D" #Arranca el Servidor FTP Con esto dejamos el Servidor WEB Nginx con autoarranque, hemos aumentado el buffers a audio, hemos autoarrancado en servidor NTP y el ambiente X. ===== Chequeo Manual de Discos ====== Después de un corte de energía que son fatales y deben ser evitados en lo posible, el obtenerlos en ciertas circunstancias es inevitable desgraciadamente, el sistema de archivos de nuestro OpenBSD si bien es bastante robusto y se recupera de esta catástrofe en forma automática al siguiente reboot de la máquina, pueden haber ocasiones en que requiera una atención manual. El Sistema de archivos de OpenBSD es FFS y es un sistema de archivos bastante robusto, pero en ocasiones requiere de atención del administrador, para ello se debe correr el comando siguiente: # fsck_ffs -y /dev/wd0x Este comando se requiere correr como root y en el //booteo// cuando el sistema encuentra inconsistencias en alguna partición de nuestro sistema detiene el arranque y nos ofrece una shell **sh** en donde nos proporciona el control y podremos ejecutar el comando indicado. Donde **/dev/wd0x** es la partición que nos presenta problemas. Para ejecutarlo desde la shell cuando el sistema nos pide realizarlo debemos ejecutar, dependiendo del tipo de disco: # /sbin/fsck_ffs /dev/sd0a # /sbin/fsck_ffs /dev/sd0d Esto es el caso, si tenemos un disco con sólo 2 particiones, la raíz y el home por ejemplo. En el caso que tengamos más particiones, debemos ejecutar este comando por cada partición que requiramos chequear. Si estás usando una versión de OpenBSD más reciente, actualmente los S.O. modernos autodetectan el sistema de archivos, asi que en este caso sólo con ejecutar: # /sbin/fsck -y /dev/sd0a Esto ejecuta el chequeo completo de la primera partición de nuestro disco. ===== Como Montar un Pendrive ===== OpenBSD no soporta dispositivos USB Storage o un disco USB con emulación de disco SCSI. Usted necesita ingresar como **root** y montar un dispositivo USB/Drive. ==== Investigando el Dispositivo ==== Para poder montar un dispositivo debemos buscar cómo lo define el sistema operativo, para eso debemos conectar nuestro pendrive y ejecutar el comando siguiente, como root: # sysctl hw.disknames hw.disknames=wd0:bd21b2820d717c08,cd0:,sd0:,sd1:,sd2: La salida de este comando, nos indica que dispositivos de almacenamiento tiene disponibles el sistema, wd0,cd0,sd0,sd1 y sd2. Para tener una mayor información ejecutamos como root: # dmesg | grep sd0 sd0 at scsibus2 targ 1 lun 0: \ SCSI2 0/direct removable serial.09511607011514260098 sd0: 980MB, 512 bytes/sector, 2007040 sectors Y el comando siguiente complementa con más información del dispositivo: # disklabel sd0 # /dev/rsd0c: type: SCSI disk: SCSI disk label: DataTraveler 2.0 duid: 0000000000000000 flags: bytes/sector: 512 sectors/track: 32 tracks/cylinder: 255 sectors/cylinder: 8160 cylinders: 245 total sectors: 2007040 boundstart: 0 boundend: 2007040 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] c: 2007040 0 unused i: 2007038 2 MSDOS ==== Montando el Dispositivo ==== Ahora deberemos de crear un directorio donde montar el dispositivo, para ello ejecutamos como root: # mkdir /mnt/pendr Y ahora procedemos a montar el dispositivo: # mount /dev/sd0i /mnt/pendr Ahora podemos usar el dispositivo montado: # ls -lF /mnt/pendr/ # cp files.* /mnt/pendr/. Para desmontarlo basta con realizar esto: # umount /mnt/pendr Con esto hemos dejado el dispositivo desmontado. ===== Actualizando OpenBSD ===== Para actualizar la versión estable a las últimas actualizaciones del kernel y de las aplicaciones podemos realizarlo con //Openup// de la siguiente forma: # ftp https://stable.mtier.org/openup # chmod +x openup # ./openup Después de unos minutos el sistema bajará los parches, los compilará e instalará en nuestro sistema, después de este proceso deberá //rebootear// su máquina. Hay otra forma de actualizar los binarios del sistema, esto se hace conectado como **root** en un terminal ejecutamos: # syspatch El otro comando que también es usado como **root** desde una terminal, para la Actualización de las Aplicaciones, es: # pkg_add -Uuv Esto descargara todos los binarios que han sido actualizados después de la liberación del release o desde que han sido instalados en su sistema. ===== Administrando Paquetes ===== Los paquetes proveen binarios compilados para las aplicaciones mas utilizadas. **OpenBSD** provee un conjunto de herramientas especificas para administrar los paquetes: * **pkg_add**: Instalar y Actualizar paquetes. * **pkg_delete**: Permite desinstalar o eliminar paquetes instalados. * **pkg_info**: Permite disponer de información de paquetes o buscar paquetes. * **pkg_create**: Permite crear paquetes. Estas herramientas permiten mantener y resolver dependencias. Algunos ejemplos: # pkg_add // Instala el paquete # pkg_info // Entrega informacion del paquete # pkg_info -Q // Busca un paquete # pkg_delete // Elimina un paquete instalado ===== Administracion de Usuarios ===== Las herramientas de mantención de usuarios en unix son clásicas, por lo que por ejemplo para agregar usuarios tenemos el **useradd** y con ella podemos realizar las definiciones de las nuevas cuentas de usuario. # useradd Si queremos agregar un usuario a un grupo específico y el usuario existe, lo hacemos desde el terminal de la siguiente forma: usermod -G Esto permite agregar al usuario al grupo . ===== Cambiando el PROMPT ====== Un punto que pareceria no tener importancia, es el cambio del PROMPT, esto ayuda cuando te conectas a varias maquinas Unix y es importante saber a que maquina estas conectado y como, ya que en la instalacion estandar en OpenBSD el prompt de user es **$** y en la de root es **#**, pero no indica nada mas, para modificarlo pondremos en el archivo **.profile** de cada usuario, lo siguiente: export PS1='\u@\h \$ ' Con esto ya tenemos un prompt que nos indica el usuario y la maquina en la que estamos conectados. Algunos ajustes adicionales al **.profile**. export GTK_IM_MODULE=xim export LESSCHARSET=utf-8 alias ll='colorls -Gl' alias la='colorls -Ga' ===== Error de Mirrors ===== Hay veces que los Mirrors de OpenBSD no renuevan sus certificados en forma automatica y se requiere redefinir el **Mirrors**, para ello se edita el archivo // /etc/installurl // y debemos comentar el que esta definido y agregar una nueva linea indicando el nuevo **Mirrors**. # vi /etc/installurl #https://mirrors.sonic.net/pub/OpenBSD ftp://openbsd.cs.toronto.edu/pub/OpenBSD Despues de eso se evita el error: TLS handshake failure: certificate verification failed: certificate has expired Despues de eso podemos usar los **pkg** normalmente sin arrojar errores del Certificado. Estamos en proceso de actualización de contenidos