Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como crear un repositorio Linux Centos en tu LAN

DriveMeca creando un repositorio Linux Centos en la LAN
Crece la cantidad de equipos en nuestra LAN (incluidos los servidores) y a su vez disminuye el ancho de banda que tenemos para conectarnos a Internet. Si hacemos el estudio, mucho de lo que ya se descarga se hace una y otra vez volviéndose una tarea "costosa". Soluciones hay varias (proxy, denegar paginas, etc) pero para nuestro caso lo que queremos es optimizar la descarga de paquetes RPM para nuestros servidores Linux Centos.
Nuestra solución y tema del articulo de este día es configurar un repositorio Linux Centos en tu LAN.
El esquema es el siguiente: Configuraremos un servidor Linux Centos compartiendo un repositorio de paquetes al cual se conectaran otros servidores Linux Centos a descargar paquetes por medio del comando yum (que a su vez lo hará por ftp) antes que descargarlos de internet. Este esquema también se puede aplicar a equipos aislados sin salida a internet.

Requerimientos

  • Servidor Linux Centos: 10.8.0.1
  • Cliente Linux Centos: 10.8.0.xx

Creamos el repositorio en el servidor

-Creamos el directorio donde descargaremos los rpms
mkdir /var/ftp/pub/reponet

Articulo sugeridoComo instalar paquetes del dvd de centos 7 de forma local

-Instalamos dependencias incluida createrepo, el comando que nos habilita el repositorio a compartir
yum install createrepo vsftpd

-Editamos la configuracion de vsftpd y permitimos conexiones anonimas
vi /etc/vsftpd/vsftpd.conf
#anonymous_enable=NO

-Activamos y ejecutamos el servicio vsftpd
systemctl enable vsftpd.service
systemctl start vsftpd.service

-Nos creamos el .repo
vi /etc/yum.repos.d/reponet.repo
[reponet]
name=Repositorio en red de Centos 7
baseurl=file:///var/ftp/pub/reponet
gpgcheck=0
enabled=1

-Descargamos los paquetes. Es recomendable buscar un servidor (mirror) cercano a nuestro servidor para que la descarga no demore tanto (en mi caso escojo uno de Colombia). El listado lo pueden consultar en este URL. Tiempo para ir por un café ;-)

rsync -avz rsync://mirror.edatel.net.co/centos/7/os/x86_64/Packages/ /var/ftp/pub/reponet/

-Creamos la metadata del repositorio
createrepo -v /var/ftp/pub/reponet/

-Verificamos ya nos aparezca el repositorio listado
yum repolist

-Limpiamos cache
yum clean all

Configuramos clientes


-Instalamos el cliente ftp
yum --disablerepo=\* --enablerepo=c7-media install ftp

-Creamos el .repo apuntando al servidor Linux Centos con el nuevo repositorio de RPM
vi /etc/yum.repos.d/reponet.repo
[reponet]
name=Repositorio en red de Centos 7
baseurl=ftp://10.8.0.1/pub/reponet
gpgcheck=0
enabled=1

-Verificamos ya nos aparezca listado el repositorio

yum repolist

-Ya podemos instalar / actualizar paquetes desde nuestro repositorio en LAN, en este caso instalare perl con sus dependencias

yum --disablerepo=\* --enablerepo=reponet install perl

-Es importante actualizar el repositorio. Para esto nos creamos una tarea en el cron. En mi ejemplo la configuro para ejecutarse a las 11.30pm cada dia

vi /var/spool/cron/root
30 23 * * * rsync -avz rsync://mirror.edatel.net.co/centos/7/os/x86_64/Packages/ /var/ftp/pub/reponet/

-Reiniciamos el servicio de cron

systemctl restart crond.service

Muy bien, ya hemos terminado y tenemos un servidor Linux Centos compartiendo un repositorio que se actualiza todas las noches al que se pueden conectar nuestros servidores Centos en la LAN. Ya conocias esta solucion?, lo haces de otra forma, cual?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.
Share/Bookmark

Como instalar paquetes del dvd de centos 7 de forma local

DriveMeca instalando paquetes del dvd / iso de linux centos 7 de forma local paso a paso
No tienes internet pero necesitas instalar unos paquetes en tu servidor Linux Centos, no, no es el apocalipsis, aun tienes forma de solucionarlo, tomando los paquetes del DVD o ISO de Centos 7.
Esta solución es sencilla pero poco conocida a veces y es nuestro tema del articulo de hoy, como instalar paquetes (rpm) del dvd (o iso) de Linux Centos 7 de forma local. Si, decimos que de forma local porque se instalara de los paquetes en el DVD/ISO sin acceder a internet y como decía al comienzo, puede ser muy útil para cuando estemos desconectados o en una situación donde la conexión a internet no es posible.

Requerimientos


-Creamos el directorio donde montaremos el DVD o ISO de Linux Centos 7 (tener cuidado de crearlo tal cual con sus mayúsculas, sino, no lo encontraría yum o tendríamos que cambiar el conf)

mkdir /media/CentOS

Comando a usar con el ISO

-Si descargamos el ISO y lo tenemos en una USB o en el disco del servidor, ejecutamos el siguiente comando para montarlo en el directorio creado

mount -o loop -t iso9660 CentOS-7-x86_64-Everything-1503-01.iso /media/CentOS

-Ya con el ISO montando localmente podemos instalar paquetes con el siguiente comando (cambiamos software-a-instalar por el paquete que necesitemos)

yum --disablerepo=\* --enablerepo=c7-media install software-a-instalar

ejemplo (instalare mc del repositorio c7-media local):

yum --disablerepo=\* --enablerepo=c7-media install mc

Installing:
 mc          x86_64                  1:4.8.7-8.el7                             c7-media                                      1.7 M
..
..
..

Comando a usar con el DVDROM

-Si tenemos el DVDROM fisico en nuestro poder lo colocamos en su unidad y lo montamos en el directorio creado

mount /dev/cdrom /media/CentOS -t iso9660 -o loop

-Ya montado podemos ejecutar el siguiente comando para instalar un paquete (reemplazamos software-a-instalar por el paquete que necesitemos)
yum --disablerepo=\* --enablerepo=c7-media install software-a-instalar

La ventaja de instalar de esta forma es que en el DVD / ISO tenemos mucho software que posiblemente no necesitemos nunca instalar pero en un momento dado si podría sernos útil y el que no tengamos conexión a internet en ese momento, no quiere decir que no haya una solución. Ya conocias esta forma de instalar rpm's en Centos?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Configurando servicios en Linux Centos / RedHat

DriveMeca configurando servicios en Linux Centos / RedHat
Ya tienes tu servidor RedHat/Centos ejecutándose pero sus recursos (memoria, Cpu, etc) no dan abasto. Como verificar que servicios no necesitados se están ejecutando? Como los des habilito, en que puertos escuchan; estas preguntas las responderé en este articulo, sigue leyendo y no te arrepentirás. 
Por lo general recomiendo instalar un servidor con lo mínimo indispensable, soy de la teoría que mas software trae consigo mas probabilidades de bugs (errores), posibles huecos de seguridad, mas gasto de disco, etc. Pero aun instalando en modo minimal es posible que encuentres servicios que no necesitas ejecutándose y por ende, agotando los recursos del servidor. Hoy te mostrare paso a paso como ver en Linux RedHat o Linux Centos en sus versiones 6 y 7 que servicios se están ejecutándose y como pararlos o des habilitarlos.

-Verificamos que servicios se están ejecutando (modo Listen - escuchando). Los parametros de netstat son l (listen, escuchando) y p (programa)
netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      27558/sshd          
tcp        0      0 localhost:postgres  0.0.0.0:*               LISTEN      50444/postgres      
tcp        0      0 localhost:smtp        0.0.0.0:*               LISTEN      2240/master         
tcp6       0     0 [::]:ssh                          [::]:*               LISTEN      27558/sshd          
tcp6       0     0 localhost:postgres         [::]:*              LISTEN      50444/postgres      
tcp6       0     0 localhost:smtp               [::]:*              LISTEN      2240/master         
udp        0     0 localhost:323           0.0.0.0:*                           971/chronyd         
udp        0     0 0.0.0.0:49844           0.0.0.0:*                           45908/openvpn       
udp6      0     0 localhost:323           [::]:*                              971/chronyd         
raw6      0     0 [::]:ipv6-icmp          [::]:*                  7           958/NetworkManager

-Veamos que servicios encontramos
Servicios que están ejecutándose:
  • sshd (Necesario para conexiones por ssh al puerto 22)
  • postgres (Popular sistema de bases de datos ejecutándose en el puerto 5432)
  • master (Postfix manejando el envió de emails en el puerto 25)

Centos 7

-En Linux Centos/RedHat 7 los comandos para ejecutar, activar o deshabilitar se manejan con systemctl. En este caso verificamos el servicio de postfix viendo que se esta ejecutandose y la ruta donde estan los binarios

systemctl status postfix.service
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since vie 2016-04-01 00:40:43 COT; 1 weeks 0 days ago
 Main PID: 2240 (master)
   CGroup: /system.slice/postfix.service
           ├─ 2240 /usr/libexec/postfix/master -w
           ├─ 2322 qmgr -l -t unix -u
           └─52967 pickup -l -t unix -u

abr 01 00:40:42 db.centuritech.com systemd[1]: Starting Postfix Mail Transport Agent...
abr 01 00:40:43 db.centuritech.com postfix/postfix-script[2220]: starting the Postfix mail system
abr 01 00:40:43 db.centuritech.com postfix/master[2240]: daemon started -- version 2.10.1, configuration /etc/postfix
abr 01 00:40:43 db.centuritech.com systemd[1]: Started Postfix Mail Transport Agent.

-Paramos el servicio de postfix
systemctl stop postfix.service

-Y lo deshabilitamos para que no se ejecute al hacer boot el servidor
systemctl disable postfix.service

Centos 6

-En Linux Centos/RedHat 6 verificamos un servicio de la siguiente forma, en este caso postfix
service postfix status

-Para pararlo ejecutamos
service postfix stop

-Y si queremos deshabilitarlo para que no se ejecute al hacer boot el servidor
chkconfig postfix off

-Podemos verificar ya no se este ejecutando el servicio en cuestion (postfix)
netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      27558/sshd          
tcp        0      0 localhost:postgres  0.0.0.0:*              LISTEN      50444/postgres      
tcp6      0      0 [::]:ssh                          [::]:*              LISTEN      27558/sshd          
tcp6      0      0 localhost:postgres        [::]:*              LISTEN      50444/postgres      
udp       0      0 localhost:323         0.0.0.0:*                          971/chronyd         
udp       0      0 0.0.0.0:49844         0.0.0.0:*                           45908/openvpn       
udp6     0      0 localhost:323                [::]:*                              971/chronyd         
raw6     0      0 [::]:ipv6-icmp               [::]:*                  7           958/NetworkManager  

Optimizas tus servidores después de instalarlos? conocías ya como des habilitar servicios en Linux Centos/RedHat?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark