====== 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. ===== 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