Eliminar Kernel Ubuntu - Linux Mint


Deberemos desinstalar los kernel y los headers:


KERNEL


-> 1º Buscamos los kernel que tenemos instalados en nuestro sistema, para saber cuál eliminar, con el siguiente comando:
dpkg --get-selections | grep linux-image

Nos devolverá la lista de kernel instalados en el sistema:
linux-image-2.6.32-22-generic        install
linux-image-2.6.32-23-generic        install
linux-image-2.6.32-24-generic        install
linux-image-generic                  install

Nota: No eliminar el paquete "linux-image-generic"

Podemos encontrarnos en el nombre del kernel la terminación "-pae", que es el kernel que se instala cuando instalamos Ubuntu 32bits para reconocer toda la memoria RAM, cuando es mayor de 3Gb y hasta 64Gb

-> 2º Eliminamos los kernel más antiguos:
Por seguridad dejaremos los dos últimos (terminados en 23 y 24), por lo que eliminaremos el terminado en 22

Lo haremos con el comando: sudo aptitude remove --purge, seguido del paquete a eliminar:
sudo apt-get remove --purge linux-image-2.6.32-22-generic

Nota: Por supuesto, en futuras actualizaciones las versiones de kernel variarán por lo que deberemos de modificar el comando.


HEADERS


-> 3º Buscamos los headers de los kernel que hemos eliminado, con el siguiente comando:
dpkg --get-selections | grep linux-headers

Nos devolverá una lista con los headers instalados, en la debemos tener en cuenta que hay dos paquetes por cada headers:
linux-headers-2.6.32-22                        install
linux-headers-2.6.32-22-generic               install
linux-headers-2.6.32-23                        install
linux-headers-2.6.32-23-generic               install
linux-headers-2.6.32-24                        install
linux-headers-2.6.32-24-generic              install
linux-headers-generic                          install

Nota: No eliminar el paquete "linux-headers-generic".

-> 4º Eliminamos los headers de los kernels:
Sólo eliminaremos los headers de los kernel que hayamos eliminado anteriormente que "en este caso" serán los terminados en 22.

Como notaremos en la lista, cada kernel tiene 2 headers: uno el generic (linux-headers-2.6.31-22-generic) y otro que vamos a llamar normal (linux-headers-2.6.31-22)

Bién, vamos a desinstalar los 2 headers del kernel que hemos desinstalado anteriormente. El comando "en este caso" sería:
sudo apt-get remove --purge linux-headers-2.6.32-22 linux-headers-2.6.32-22-generic

Nota: Por supuesto, en futuras actualizaciones las versiones de kernel variarán por lo que deberemos de modificar el comando.

Y listo, podemos reiniciar y veremos que ya no nos salen los kernel 22, que hemos eliminado


ACTUALIZAR EL GRUB


Al eliminar los kernel se suele actualizar el Grub de forma automática, pero no está de más hacerlo manualmente para no llevarnos sorpresas después y dependiendo del gestor de arranque que tengamos: 

En el caso de tener Grub, actualizamos con:
sudo update-grub2
o también funciona:
sudo update-grub

En el caso de Burg-Grub actualizamos Burg con el comando:
sudo update-burg

1 comentarios :

20 ejemplos de iptables para SysAdmins novatos


Linux por defecto trae un cortafuegos llamado NetFilter. Según el sitio oficil de proyecto:

netfiltes es un conjunto de hooks (Ganchos) dentro del kernel de linux que permiten a los módulos del kernel registrar funciones callbacks con la pila de red. Una función callback registrada se llama entonces para cada paquete que atraviesa el hook correspondiente dentro de la pila de red.
Este firewall lo controla un programa llamado iptables que gestiona el filtrado para IPv4, y ip6tables para IPv6.

Ejemplos de reglas IPTABLES


  • Muchas de las acciones que se listan abajo requieren ejecutarse como usuario root.
  • Los siguientes comandos deberían funcionar en cualquier distro linux moderna.
  • Esto NO es un tutorial de como configurar iptables. Puedes ver un tutorial aquí. Es más bien una referencia rápida de los comandos más comunes de iptables.

#1: Mostrando el estado de nuestro firewall

Teclea el siguiente comando como root:
iptables -L -n -v O iptables -t nat -L -n
Ejemplos de salidas:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
El resultado de arriba indica que el firewall no está activo. La siguiente salida es la del firewall activado:
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
  394 43586 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   93 17292 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
    1   142 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  br0    br0     0.0.0.0/0            0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
    0     0 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 wanin      all  --  vlan2  *       0.0.0.0/0            0.0.0.0/0
    0     0 wanout     all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain wanin (1 references)
 pkts bytes target     prot opt in     out     source               destination
Chain wanout (1 references)
 pkts bytes target     prot opt in     out     source               destination
Donde,
  • -L : Muestra las reglas.
  • -v : Muestra información detallada.
  • -n : Muestra la dirección ip y puerto en formato numérico. No usa DNS para resolver nombres. Esto acelera la lista.

#1.1:Para Inspeccionar el firewall con número de lineas:

iptables -n -L -v --line-numbers O iptables -t nat -v --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
3    TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
5    wanin      all  --  0.0.0.0/0            0.0.0.0/0
6    wanout     all  --  0.0.0.0/0            0.0.0.0/0
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
Chain wanin (1 references)
num  target     prot opt source               destination
Chain wanout (1 references)
num  target     prot opt source               destination
Podemos usar los números de línea para borrar o añadir nuevas reglas al firewall.

#1.2: Mostrar las reglas de cadena de entrada y salida:

iptables -L INPUT -n -v
iptables -L OUTPUT -n -v --line-numbers

#2: Parar / Iniciar / Reiniciar el firewall

Si usas CentOS / RHEL / Fedora linux:
service iptables stop
service iptables start
service iptables restart
También se puede usar propio comando iptables para detenerlo y borrar todas las reglas.
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Donde:
  • -F : Borra todas las reglas.
  • -X : Borra cadenas
  • -t table_name : Selecciona una tabla y elimina reglas
  • -P : Establece la política por defecto (como DROP, REJECT o ACCEPT)

#3: Borrar reglas del firewall

Para mostrar los números de línea junto a otra información para reglas existentes:
iptables -L INPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers | less
iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1
Obtendrendremos la lista de IPs. Miramos el número de la izquierda y lo usamos para borrarla. Por ejemplo para borrar la línea 4:
iptables -D INPUT 4
O para encontrar una ip de origen y borrarla de la regla
iptables -D INPUT -s 202.54.1.1 -j DROP
Donde:
  • -D : Elimina una o más reglas de la cadena seleccionada.

#4: Insertar reglas:

Para insertar una o más reglas en la cadena seleccionada como el número de cadena dada usamos la siguiente sintaxis. Primero encontramos el número de línea:
iptables -L INPUT -n --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  202.54.1.1           0.0.0.0/0
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED
Para insertar una regla entre 1 y 2;
iptables -I INPUT 2 -s 202.54.1.2 -j DROP
Para ver las reglas actualizadas
iptables -L INPUT -n --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  202.54.1.1           0.0.0.0/0
2    DROP       all  --  202.54.1.2           0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED

#5: Guardar reglas

Para guardar reglas en CentOS / RHEL / Fedora Linux:
service iptables save
En este ejemplo, eliminamos una ip y guardamos las reglas del firewall:
iptables -A INPUT -s 202.5.4.1 -j DROP
service iptables save
Para todas las dem��s distros usamos:
iptables-save > /root/my.active.firewall.rules
cat /root/my.active.firewall.rules

#6: Restaurar reglas

Para restaurar reglas desde un archivo llamado /root/my.active.firewall.rules:
iptables-restore < /root/my.active.firewall.rules
Bajo CentOS / RHEL / Fedora Linux:
service iptables restart

#7: Estableces políticas de firewall por defecto

Para borrar todo el tráfico:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -L -v -n
## you will not able to connect anywhere as all traffic is dropped ###
ping cyberciti.biz
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.2-rc5.tar.bz2

#7.1: Solo tráfico entrante bloqueado

Para borrar todos los paquetes entrantes / enviados pero permitir el tráfico saliente:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -L -v -n
# *** now ping and wget should work *** ###
ping cyberciti.biz
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.2-rc5.tar.bz2
 

#7.1: ACEPTAR CUALQUIER TRAFICO

iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT


#8: Borrar direcciones de red privadas en la interfaz pública

IP Spoofing es nada más que para detener los siguientes rangos de direcciones IPv4 para redes privadas en sus interfaces públicas. Los paquetes con direcciones de origen no enrutables deben rechazarse mediante la siguiente sintaxis:
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

#9: Bloqueando una direción IP (BLOCK IP)

PAra bloquear una ip atacante llamada 1.2.3.4:
iptables -A INPUT -s 1.2.3.4 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -j DROP

#10: Bloquear peticiones entrantes de un puerto (BLOCK PORT)

Para bloquear todas las solicitudes de servicio en el puerto 80:
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Para bloquear el puerto 80 para una ip:
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

#11: Bloquear ips de salida

Para bloquear el tráfico saliente a un host o dominio en concreto como por ejemplo cyberciti.biz:
host -t a cyberciti.biz
Salida:
cyberciti.biz has address 75.126.153.206
Una vez conocida la dirección ip, bloqueamos todo el tráfico saliente para dicha ip así:
iptables -A OUTPUT -d 75.126.153.206 -j DROP
Se puede usar una subred como la siguiente:
iptables -A OUTPUT -d 192.168.1.0/24 -j DROP
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP

#11.1: Ejemplo - Bloquear el dominio facebook.com

Primero, encontrar la dirección ip de facebook.com
host -t a www.facebook.com
Salida:
www.facebook.com has address 69.171.228.40
Buscar el CIDR para 69.171.228.40:
whois 69.171.228.40 | grep CIDR
Salida:
CIDR:           69.171.224.0/19
Para prevenir el acceso externo a facebook.com:
iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP
Podemos usar también nombres de dominio:
iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
iptables -A OUTPUT -p tcp -d facebook.com -j DROP
De la página del man de iptables:
… specifying any name to be resolved with a remote query such as DNS (e.g., facebook.com is a really bad idea), a network IP address (with /mask), or a plain IP address …

#12: Log y borrar paquetes

Escribe lo siguiente para añadir al log y bloquear IP spoofing en una interfaz pública llamada eth1
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
Por defecto el log está en el archivo /var/log/messages
tail -f /var/log/messages
grep --color 'IP SPOOF' /var/log/messages

#13: Log y borrar paquetes con un número limitado de entradas al log

El módulo -m limit puede limitar el número de entradas al log creadas por tiempo. Se usa para prevenir que el archivo de log se inunde. Para añadir al log y elminar spoofing cada 5 minutos, en ráfagas de 7 entradas:
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

#14: Aceptar o denegar tráfico desde dirección MAC

iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
## *only accept traffic for TCP port # 8080 from mac 00:0F:EA:91:04:07 * ##
iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT

#15: Bloquear o permitir peticiones ping ICMP

Para bloquear peticiones ping ICMP
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
Las respuestas al ping también se puede limitar a ciertas redes o hosts.
iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT
Lo siguiente solo acepta limitados tipos de peticiones ICMP:
### ** assumed that default INPUT policy set to DROP ** #############
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
## ** all our server to respond to pings ** ##
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#16: Abrir un rango de puertos

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

#17: Abrir un rango de direcciones ip

## only accept connection to tcp port 80 (Apache) if ip is between 192.168.1.100 and 192.168.1.200 ##
iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
## nat example ##
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

#19: Bloquear o abrir puertos comunes

Replace ACCEPT with DROP to block port:
## open port ssh tcp port 22 ##
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
 
## open cups (printing service) udp/tcp port 631 for LAN users ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT
 
## allow time sync via NTP for lan users (open udp port 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
 
## open tcp port 25 (smtp) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
 
# open dns server ports for all ##
iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
 
## open http/https (Apache) server port to all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
 
## open tcp port 110 (pop3) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT
 
## open tcp port 143 (imap) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
 
## open access to Samba file server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
 
## open access to proxy server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT
 
## open access to mysql server for lan users only ##
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

#20: Restringir el número de conexiones paralelas a un servidor por direccion Ip del cliente.

Se puede usar connlimit para crear algunas restricciones. Para permitir 3 conexiones ssh por cliente:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
Establecer las peticiones HTTP a 20:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP
donde:
  • –connlimit-above 3 : Coincide si el número de conexiones existentes está por encima de 3.
  • –connlimit-mask 24 : Grupos de hosts usando el prefijo de longitud. Para IPv4, debe ser un número entre 0 y 32 (incluyéndolos.)

#21: HowTO: Use iptables Like a Pro

Para más información sobre iptables, échale un vistazo al manual:
man iptables
Para ver la ayuda en general o de un comando específico:
iptables -h
iptables -j DROP -h

#21.1: Probando nuestro firewall

Conocer si hay puertos abiertos o no:
netstat -tulpn
Es recomendable instalarse un sniffer como tcpdupm y ngrep para probar la configuración de nuestro firewall.

Conclusión

Esta entrada solo lista las reglas básicas para los usuarios nuevos en linux. Se pueden crear reglas más complejas. Requiere una buena comprensión de TCP/IP, tunning del kernel linux via sysctl.conf y un buen conocimiento de nuestra configuración.
Fuente original: cyberciti

Más reglas cortesía de Jker

a)a. Reestablece las reglas por defecto.
sudo su
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
IPtables -nL para ver que estan vacias
b)b. Configura la máquina para que sólo se pueda acceder desde ella a las webs http://www.google.es y http://www.iesgoya.com y a ninguna otra.
iptables -A OUTPUT -d http://www.google.es -j ACCEPT
iptables -A OUTPUT -d http://www.iesgoya.com -j ACCEPT
iptables -A OUTPUT -p tcp –dport 80 -j DROP # Mas exigente –> iptables -A OUTPUT -p all -j DROP

como google tiene muchas IPs puede que tengamos un problema para ello realizamos lo siguiente antes de la regla EXIGENTE:

iptables -I OUTPUT 1 -d 212.106.221.0/24 -j ACCEPT
iptables -I OUTPUT 1 -d 173.194.0.0/16 -j ACCEPT

MOstrar las reglas que llevamos hasta el momento:

iptables -nL –line-numbers

Si queremos borrar reglas:

iptables -D OUTPUT 5
c)c. Cierra todos los puertos bien conocidos menos los necesarios para acceder a estas dos webs.
iptables -A OUTPUT -p TCP –dport 53 -j ACCEPT
iptables -A OUTPUT -p UDP –dport 53 -j ACCEPT
iptables -A OUTPUT -p TCP –dport 1:1024 -j DROP
iptables -A OUTPUT -p UDP –dport 1:1024 -j DROP
d)d. Investiga de qué forma podrías hacer que las peticiones entrantes a tu máquina virtual al puerto 81 por http vayan mediante NAT al puerto 80 de la máquina local (arranca WAMP para comprobar que funciona).
Arrancamos wamp en la maquina fisica y comprobamos que accedemos a wamp desde localhost.
Comprobamos que podemos acceder desde la maquina virtual y se encuentra cortado
Miramos la IP de la maquina virtual.
Ahora desde la maquina fisica intentamos acceder desde el puerto 81 con la IP esa.
Habilitamos el enrutamiento entre tarjetas de red de nuestro equipo:
echo 1 > /proc/sys/net/ipv4/ip_forward

Ejecutamos las siguientes reglas

iptables -t nat -A PREROUTING -p tcp –dport 81 -j DNAT –to- destination 192.168.203.200:80

iptables -t nat -A POSTROUTING -s 192.168.203.0/24 -j MASQUERADE

Para ver las reglas introducidas:

iptables -t nat -nL –line-numbers
e)e. Permite sólo los mensajes entrantes desde la IP del compañero de tu máquina física (prueba desde otro sitio para ver si funciona).
iptables -A INPUT -s 192.168.203.200 -j ACCEPT
iptables -A INPUT -j DROP

iptables -A FORWARD -s 192.168.203.200 -j ACCEPT
iptables -A FORWARD -s -j DROP
f) #Activa el log sobre todas las reglas y verifica que se anotan los mensajes.
Insertamos en IPTABLEs las reglas para activar el log:
iptables -I FORWARD 1 -j LOG –log-prefix ‘IPTABLESFORWARD: ‘
iptables -I INPUT 1 -j LOG –log-prefix ‘IPTABLESINPUT: ‘

iptables -t nat -I PREROUTING 1 -j LOG –log-prefix ‘IPTABLESPREROUTING: ‘
iptables -t nat -I POSTROUTING 1 -j LOG –log-prefix ‘IPTABLESPREROUTING: ‘

iptables -I OUTPUT 1 -j LOG –log-prefix ‘IPTABLESOUTPUT: ‘
NOTA: hay que ponerlas las primeras para que haga log antes de rechazarlo.

Ahora editamos el archivo:

gedit /etc/rsyslog.d/50-default.conf

E incluimos al final:

kern.warning /var/log/iptables.log
 
Fuente: http://elbauldelprogramador.com/20-ejemplos-de-iptables-para-sysadmins/ 

0 comentarios :

400 comandos para el terminal linux













Información del sistema

  1. arch: mostrar la arquitectura de la máquina (1).
  2. lshw: Obetener información detallada de el ordenador
  3. lsb_release -a: Obtener la información sobre tu distribución
  4. dmidecode --type memory  ó dmidecode -t memory: Obetener información detallada de la ram
  5. uname -m: mostrar la arquitectura de la máquina (2).
  6. uname -r: mostrar la versión del kernel usado.
  7. dmidecode -q: mostrar los componentes (hardware) del sistema.
  8. hdparm -i /dev/hda: mostrar las características de un disco duro.
  9. hdparm -tT /dev/sda: realizar prueba de lectura en un disco duro.
  10. cat /proc/cpuinfo: mostrar información de la CPU.
  11. cat /proc/interrupts: mostrar las interrupciones.
  12. cat /proc/meminfo: verificar el uso de memoria.
  13. free: verificar el uso de memoria.
  14. cat /proc/swaps: mostrar ficheros swap.
  15. cat /proc/version: mostrar la versión del kernel.
  16. cat /proc/net/dev: mostrar adaptadores de red y estadísticas.
  17. cat /proc/mounts: mostrar el sistema de ficheros montado.
  18. lspci -tv: mostrar los dispositivos PCI.
  19. lsusb -tv: mostrar los dispositivos USB.
  20. date: mostrar la fecha del sistema.
  21. cal 2011: mostrar el almanaque de 2011.
  22. cal 07 2011: mostrar el almanaque para el mes julio de 2011.
  23. date 041217002011.00: colocar (declarar, ajustar) fecha y hora.
  24. date -s "20 MAY 2023 19:46:00": asignar fecha y hora por terminal
  25. clock -w: guardar los cambios de fecha en la BIOS.
  26. cal: Muestra el calendario del mes en curso.
  27. whoami: Muestra el nombre del usuario con el que estamos trabajando.
  28. awk -F: '{if ($4==1000) print $1}' /etc/passwd:  nombre de usuario
  29. w: Muestra qué usuarios están conectados actualmente.
  30. free: Muestra la cantidad de memoria total, usada y libre, así como el espacio en la unidad de intercambio.
  31. cat /proc/meminfo: Muestra información de la memoria del equipo.
  32. cat /proc/cpuinfo: Muestra información del Microprocesador
  33. uname –a: Ofrece información del Kernel del sistema.
  34. cat /etc/*-release: nombre la distribucion y version
  35. uptime: Muestra el tiempo que lleva encendido el sistema, y cuántos usuarios lo han usado.
  36. export PATH=$PATH:$ANDROID_HOME/platform-tools especificar ruta para compilar
  37. export DISPLAY=:0  seleccionar la interfaz para arranca una aplicacion desde el terminal
  38. chsh -s $(which zsh) cambiar la shell por defecto a ssh(ejecutar como root), en .bashrc se cambia el login default de la shell
  39. COUNT_C=1; for i in *.mp3; do ((COUNT_C=COUNT_C+1)); mv "$i" "$COUNT_C.mp3" ; done  cambiar el nombre de los elementos.
  40. tail /var/log/syslog : list error
  41. tcpdump -vvv -i eth0 port 12201 ver paquetes entrates 
  42. netcat -lk 9999 activar un demonio para escuchar informacion por puerto
  43. {paquete} help {elemento a buscar} : realizar buqueda de un paquete sobre help en una seccion en particular
  44. xdg-screensaver lock  → bloquear pantalla desde el terminal
  45. systemctl suspend → suspender desde el terminal
  46. man git stash  → manual stash
  47. sudo docker ps | cut -c1-$COLUMNS  → show columns without wrap
  48. php artisan route:list | grep -i avatar | awk '{print $3,$2,$5,$8,$9}' → filter for columns info
  49.  php -r 'phpinfo();' | grep -i "memory_limit" → execute command php on terminal and apply grep to response 
  50. grep -rin --include=*.php "my_word" → search word in files with extension .php


Apagar (Reiniciar Sistema o Cerrar Sesión)

  1. shutdown -h now: apagar el sistema (1).
  2. init 0: apagar el sistema (2).
  3. telinit 0: apagar el sistema (3).
  4. halt: apagar el sistema (4).
  5. shutdown -h hours:minutes &: apagado planificado del sistema.
  6. shutdown -c: cancelar un apagado planificado del sistema.
  7. shutdown -r now: reiniciar (1).
  8. reboot: reiniciar (2).
  9. logout: cerrar sesión.
  10. halt: Detiene todos los procesos y apaga el equipo.
  11. shutdown: Programa el apagado del sistema en 1 minuto.
  12. shutdown –r X: Programa el reinicio del sistema, donde X será el número de minutos en el que se reiniciará el equipo.
  13. shutdown –h now: Apaga el equipo saltándose el minuto de espera programado.
  14. shutdown –r now: Reinicia el equipo saltándose la espera programada.
  15. init 0: Apaga el sistema.
  16. init 6: Reinicia el sistema.
  17. startx: Inicia la interfaz gráfica si ésta se encuentra instalada en el sistema.
  18. pulseaudio -k && sudo alsa force-reload: reiniciar el sistema de audio

Archivos y Directorios

  1. cd /home: entrar en el directorio “home”.
  2. cd ..: retroceder un nivel.
  3. cd ../..: retroceder 2 niveles.
  4. cd: ir al directorio raíz.
  5. cd ~user1: ir al directorio user1.
  6. cd -: ir (regresar) al directorio anterior.
  7. pwd: mostrar el camino del directorio de trabajo.
  8. ls: ver los ficheros de un directorio.
  9. ls -F: ver los ficheros de un directorio.
  10. ls -l: mostrar los detalles de ficheros y carpetas de un directorio.
  11. du -hsx * | sort -rh | head -6: mostrar los detalles de ficheros y carpetas que mas pesan.
  12. ls -a: mostrar los ficheros ocultos.
  13. ls -lah: Mostrar en megabytes los archivos
  14. ls *[0-9]*: mostrar los ficheros y carpetas que contienen números.
  15. tree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(1)
  16. lstree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(2)
  17. tree -vlAarugD: mostrar los ficheros con su usuario, grupo, ultima modificacion y otras cosas
  18. mkdir dir1: crear una carpeta o directorio con nombre ‘dir1′.
  19. mkdir dir1 dir2: crear dos carpetas o directorios simultáneamente (Crear dos directorios a la vez).
  20. mkdir -p /tmp/dir1/dir2: crear un árbol de directorios.
  21. rm -f file1: borrar el fichero llamado ‘file1′.
  22. rmdir dir1: borrar la carpeta llamada ‘dir1′.
  23. rm -rf dir1: eliminar una carpeta llamada ‘dir1′ con su contenido de forma recursiva. (Si lo borro recursivo estoy diciendo que es con su contenido).
  24. rm -rf dir1 dir2: borrar dos carpetas (directorios) con su contenido de forma recursiva.
  25. mv dir1 new_dir: renombrar o mover un fichero o carpeta (directorio).
  26. cp file1: copiar un fichero.
  27. cp file1 file2: copiar dos ficheros al unísono.
  28. cp dir /* .: copiar todos los ficheros de un directorio dentro del directorio de trabajo actual.
  29. cp -a /tmp/dir1 .: copiar un directorio dentro del directorio actual de trabajo.
  30. cp -a dir1: copiar un directorio.
  31. cp -a dir1 dir2: copiar dos directorio al unísono.
  32. scp username@from_host:file.txt /local/directory/ : Copy file from a remote host to local host SCP 
  33. scp file.txt username@to_host:/remote/directory/ : Copy file from local host to a remote host SCP
  34. scp -r username@from_host:/remote/directory/  /local/directory/ : Copy directory from a remote host to local host SCP
  35. scp -r /local/directory/ username@to_host:/remote/directory/ : Copy directory from local host to a remote host SCP
  36. scp username@from_host:/remote/directory/file.txt username@to_host:/remote/directory/ : Copy file from remote host to remote host SCP
  37. rsync -r -v --progress -e 'ssh -p 1560'  user@remote-system:/address/to/remote/file /home/user/ : progress bar copy
  38. rsync --info=progress2  -Pr --remove-source-files /remote/directory/  /local/directory/  : copie files and when finsh the job remove sourcer files
  39. rsync -Pr --remove-source-files /remote/directory/  /local/directory/ : the same but more sort
  40. rsync --info=progress2 -avhPr --dry-run  --remove-source-files /remote/directory/  /local/directory/  : copie files, replace exist and when finsh the job remove sourcer files
  41. ln -s file1 lnk1: crear un enlace simbólico al fichero o directorio.
  42. ln file1 lnk1: crear un enlace físico al fichero o directorio.
  43. touch -t 0712250000 file1: modificar el tiempo real (tiempo de creación) de un fichero o directorio.
  44. file file1: salida (volcado en pantalla) del tipo mime de un fichero texto.
  45. iconv -l: listas de cifrados conocidos.
  46. iconv -f fromEncoding -t toEncoding inputFile > outputFile: crea una nueva forma del fichero de entrada asumiendo que está codificado en fromEncoding y convirtiéndolo a ToEncoding.
  47. find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \;: agrupar ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK).

  48. rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/  copiar archivos de un servidor a otro
  49. ssh user@cirelramos.com -p 22 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys" ejecutar varios comandos directamente desde ssh

  50. ssh user@cirelramos.com -p 22 /bin/zsh -ic "reiniciar" ejecutar comandos ssh con una terminal en particular
  51. rsync -r -v --progress web web2 copiar archivos de un directorio a otro comparar Directorios
  52. rsync -av --exclude 'directorio1' /src/path/ /dest/dir  copia el archivo excluyendo un directorio completo
  53. rsync --exclude=.git/  -a /home/user/codigo/folderToCopy -r -v --progress -e 'ssh -p 1560' user@host:/tmp/   copiar de local a remoto por ssh con puerto especifico
  54. diff -rq carpeta1 carpeta2Comparar Archivos
  55. diff fichero1 fichero2

Encontrar archivos

  1. find / -iname "*file1*": buscar fichero y directorio a partir de la raíz del sistema.
  2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario ‘user1′.
  3. find /home/user1 -name \*.bin: buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1′.
  4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los últimos 100 días.
  5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los últimos 10 días.
  6. find -type f -mmin -1444 -not -path "./.git/*" -not -path "./dist/*" -not -path "./locales/*" -not -path "./node_modules/*" -not -path "./build/*" : ignorando las otras carpetas
  7. find / -name \*.rpm -exec chmod 755 ‘{}’ \;: buscar ficheros con extensión ‘.rpm’ y modificar permisos.
  8. find / -xdev -name \*.rpm: Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.…
  9. find /home/usuario/Documentos -iname "*linux*"".pdf*" -exec cp '{}' /home/usuario/Escritorio/ \;
    Obtener todos los pdf en documentos y copiarlos al escritorio
  10. locate \*.ps: encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’.
  11. whereis halt: mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando ‘halt’.
  12. which halt: mostrar la senda completa (el camino completo) a un binario / ejecutable.

Montando un sistema de ficheros

  1. mount /dev/hda2 /mnt/hda2: montar un disco llamado hda2. Verifique primero la existencia del directorio ‘/ mnt/hda2′; si no está, debe crearlo.
  2. umount /dev/hda2: desmontar un disco llamado hda2. Salir primero desde el punto ‘/ mnt/hda2.
  3. fuser -km /mnt/hda2: forzar el desmontaje cuando el dispositivo está ocupado.
  4. umount -n /mnt/hda2: correr el desmontaje sin leer el fichero /etc/mtab. Útil cuando el fichero es de solo lectura o el disco duro está lleno.
  5. mount /dev/fd0 /mnt/floppy: montar un disco flexible (floppy).
  6. mount /dev/cdrom /mnt/cdrom: montar un cdrom / dvdrom.
  7. mount /dev/hdc /mnt/cdrecorder: montar un cd regrabable o un dvdrom.
  8. mount /dev/hdb /mnt/cdrecorder: montar un cd regrabable / dvdrom (un dvd).
  9. mount -o loop file.iso /mnt/cdrom: montar un fichero o una imagen iso.
  10. mount -t vfat /dev/hda5 /mnt/hda5: montar un sistema de ficheros FAT32.
  11. mount /dev/sda1 /mnt/usbdisk: montar un usb pen-drive o una memoria (sin especificar el tipo de sistema de ficheros).

Espacio de Disco

  1. du -smh * : listar el peso de los directorios y archivos
  2. du -smh * | sort -h : ordenarlo por peso
  3. df -h: mostrar una lista de las particiones montadas.
  4. du -smh * | sort -nr: obtener los directorios o carpetas que pesan mas
  5. ls -lSr |more: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  6. ls -lhasSr : mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  7. ls -lhasSr : mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  8. ls -lhasX: lista los directorios de archivos de forma ordenada y en columnas
  9. du -sh dir1: Estimar el espacio usado por el directorio ‘dir1′.
  10. du -sk * | sort -rn: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  11. rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes rpm instalados organizados por tamaño (Fedora, Redhat y otros).
  12. dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes instalados, organizados por tamaño (Ubuntu, Debian y otros).
    7.  du -bsh /fichero_o_carpeta 
    • -b [–bytes]: Mostrar en bytes.
    • -s [–sumarize]: Mostrar solamente el tamaño total de cada argumento.
    • -h [–human-readable]: Imprime los tamaños de forma leíble (e.g., 1K, 234M, 2G)

Usuarios y Grupos

  1. groups $user: lista los grupos a los que pertenece ese usuario
  2. groupadd nombre_del_grupo: crear un nuevo grupo.
  3. groupdel nombre_del_grupo: borrar un grupo.
  4. adduser juan profesor: Añadir el usuario jugan al grupo profesores 
  5. deluser juan profesor: Quitar el usuario jugan al grupo profesores 
  6. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo: renombrar un grupo.
  7. usermod -aG groups_to_add_to "your_user"
  8. useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1: Crear un nuevo usuario perteneciente al grupo “admin”.
  9. useradd user1: crear un nuevo usuario.
  10. useradd -m user1: crear usuario con directorio
  11. userdel -r user1: borrar un usuario (‘-r’ elimina el directorio Home).
  12. usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1: cambiar los atributos del usuario.
  13. passwd: cambiar contraseña.
  14. passwd user1: cambiar la contraseña de un usuario (solamente por root).
  15. chage -E 2011-12-31 user1: colocar un plazo para la contraseña del usuario. En este caso dice que la clave expira el 31 de diciembre de 2011.
  16. pwck: chequear la sintaxis correcta el formato de fichero de ‘/etc/passwd’ y la existencia de usuarios.
  17. grpck: chequear la sintaxis correcta y el formato del fichero ‘/etc/group’ y la existencia de grupos.
  18. newgrp group_name: registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.

Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. ls -lh: Mostrar permisos.
  2. ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas.
  3. chmod ugo+rwx directory1: colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1′.
  4. chmod go-rwx directory1: quitar permiso de lectura ®, escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio ‘directory1′.
  5. chown user1 file1: cambiar el dueño de un fichero.
  6. chown -R user1 directory1: cambiar el propietario de un directorio y de todos los ficheros y directorios contenidos dentro.
  7. chgrp group1 file1: cambiar grupo de ficheros.
  8. chown user1:group1 file1: cambiar usuario y el grupo propietario de un fichero.
  9. find / -perm -u+s: visualizar todos los ficheros del sistema con SUID configurado.
  10. chmod u+s /bin/file1: colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos privilegios como dueño.
  11. chmod u-s /bin/file1: deshabilitar el bit SUID en un fichero binario.
  12. chmod g+s /home/public: colocar un bit SGID en un directorio –similar al SUID pero por directorio.
  13. chmod g-s /home/public: desabilitar un bit SGID en un directorio.
  14. chmod o+t /home/public: colocar un bit STIKY en un directorio. Permite el borrado de ficheros solamente a los dueños legítimos.
  15. chmod o-t /home/public: desabilitar un bit STIKY en un directorio.
  16. chmod -x+X -R /home/public/ quitar permisos de ejecución
  17. chmod 777 Hola.odt acceso total y ejecucion al archivo
  18. chmod ugoa +rwxrwxrwx Hola.odt acceso total y ejecucion al archivo
  19. chmod g+w archivo.txt En el caso en que desees establecer permisos de escritura al grupo del archivo,
  20. sudo chmod 764 -R . 
  21. chmod g-w archivo.txt para quitarlos

  • u – Dueño: dueño del archivo o directorio.
  • g – Grupo: grupo al que le pertenece el archivo o directorio.
  • o – Otros: todos los demás usuarios que no son el dueño ni pertenecen al grupo.
  • a – Todos: incluye al dueño, al grupo y a otros.

0 = --- = sin acceso

1 = --x = ejecución

2 = -w- = escritura

3 = -wx = escritura y ejecución

4 = r-- = lectura

5 = r-x = lectura y ejecución

6 = rw- = lectura y escritura

7 = rwx = lectura, escritura y ejecución




[NML] = [0] = No tiene ningún permiso
[NML] = [1] = Sólo permite la ejecución
[NML] = [2] = Sólo permite la escritura
[NML] = [3] = Permite la escritura y ejecución
[NML] = [4] = Sólo permite la lectura
[NML] = [5] = Permite la lectura y ejecución
[NML] = [6] = Permite la lectura y escritura
[NML] = [7] = Permite lectura, escritura y ejecución


Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. chattr +a file1: permite escribir abriendo un fichero solamente modo append.
  2. chattr +c file1: permite que un fichero sea comprimido / descomprimido automaticamente.
  3. chattr +d file1: asegura que el programa ignore borrar los ficheros durante la copia de seguridad.
  4. chattr +i file1: convierte el fichero en invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado.
  5. chattr +s file1: permite que un fichero sea borrado de forma segura.
  6. chattr +S file1: asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync.
  7. chattr +u file1: te permite recuperar el contenido de un fichero aún si este está cancelado.
  8. lsattr: mostrar atributos especiales.

Archivos y Ficheros comprimidos

  1. bunzip2 file1.bz2: descomprime in fichero llamado ‘file1.bz2′.
  2. bzip2 file1: comprime un fichero llamado ‘file1′.
  3. gunzip file1.gz: descomprime un fichero llamado ‘file1.gz’.
  4. gzip file1: comprime un fichero llamado ‘file1′.
  5. gzip -9 file1: comprime con compresión máxima.
  6. rar a file1.rar test_file: crear un fichero rar llamado ‘file1.rar’.
  7. rar a file1.rar file1 file2 dir1: comprimir ‘file1′, ‘file2′ y ‘dir1′ simultáneamente.
  8. rar x file1.rar: descomprimir archivo rar.
  9. unrar x file1.rar: descomprimir archivo rar.
  10. tar -cvf archive.tar file1: crear un tarball descomprimido.
  11. tar -cvf archive.tar file1 file2 dir1: crear un archivo conteniendo ‘file1′, ‘file2′ y’dir1′.
  12. tar -zcvf /var/backup.tar.gz --exclude='otroarchivo' --exclude='archivo3' /var/copiar crear tar excluyendo archivos
  13. tar -tf archive.tar: mostrar los contenidos de un archivo.
  14. tar -xvf archive.tar: extraer un tarball.
  15. tar -xvf archive.tar -C /tmp: extraer un tarball en / tmp.
  16. tar -cvfj archive.tar.bz2 dir1: crear un tarball comprimido dentro de bzip2.
  17. tar -xvfj archive.tar.bz2: descomprimir un archivo tar comprimido en bzip2
  18. tar -cvfz archive.tar.gz dir1: crear un tarball comprimido en gzip.
  19. tar -xvfz archive.tar.gz: descomprimir un archive tar comprimido en gzip.
  20. zip file1.zip file1: crear un archivo comprimido en zip.
  21. zip -r file1.zip file1 file2 dir1: comprimir, en zip, varios archivos y directorios de forma simultánea.
  22. unzip file1.zip: descomprimir un archivo zip.
  23. xz -9 -k file1: comprimi el archivo  -9 para comprimir al maximo y -k para mantener los archivos
  24. unxz file1.xz: descomprimir el archivo
  25. Ficheros gz
    Comprimir: gzip -9 fichero
    Descomprimir: gzip -d fichero.gz
  26. Ficheros bz2
    Comprimir: bzip fichero

    Descomprimir: bzip2 -d fichero.bz2
  27. Ficheros tar.gz
    comprimir al maximo: tar cvf - directorios O archivos | gzip -9 - > maximocomprimir.tar.gz
    comprimir en partes de 150mb: 7z a -v150m paquetecomprimido video.avi
    para descomprimir por partes: 7z x paquetecomprimido.7z.001
    Comprimir: tar -czfv archivo.tar.gz ficheros   o tar -vczf filename.tar.gz ficheros
    Descomprimir: tar -xzvf archivo.tar.gz
    Ver contenido: tar -tzf archivo.tar.gz
  28. Ficheros tar.bz2
    Comprimir: tar -c ficheros | bzip2 > archivo.tar.bz2
    Descomprimir: bzip2 -dc archivo.tar.bz2 | tar -xv
    Ver contenido: bzip2 -dc archivo.tar.bz2 | tar -t
  29. Ficheros tar.bz2
    Comprimir: tar -c ficheros | bzip2 > archivo.tar.bz2
    Descomprimir: bzip2 -dc archivo.tar.bz2 | tar -xv

    Ver contenido: bzip2 -dc archivo.tar.bz2 | tar -t
  30. Ficheros zip
    Comprimir: zip archivo.zip ficheros
    Descomprimir: unzip archivo.zip

    Ver contenido: unzip -v archivo.zip
  31.  Ficheros lha
    Comprimir: zip archivo.zip ficheros
    Descomprimir: unzip archivo.zip

    Ver contenido: unzip -v archivo.zip
  32. Ficheros arj
    Comprimir: arj a archivo.arj ficheros
    Descomprimir: unarj archivo.arj
    Descomprimir: arj -x archivo.arj
    Ver contenido: arj -v archivo.arj

    Ver contenido: arj -l archivo.arj
  33. Ficheros zoo
    Comprimir: zoo a archivo.zoo ficheros
    Descomprimir: zoo -x archivo.zoo
    Ver contenido: zoo -L archivo.zoo

    Ver contenido: zoo -v archivo.zoo
  34. Ficheros rar
    Comprimir: rar -a archivo.rar ficheros
    Descomprimir: rar -x archivo.rar
    Ver contenido: rar -l archivo.rar
    Ver contenido: rar -v archivo.rar
  35. tar -cvf /tmp/backup_`date +"%Y-%m-%d_(%H-%M)"`.tar /opt/lampp/htdocs/   realiza un respaldo de con fecha y hora

Paquetes RPM (Red Hat, Fedora y similares)

  1. rpm -ivh package.rpm: instalar un paquete rpm.
  2. rpm -ivh –nodeeps package.rpm: instalar un paquete rpm ignorando las peticiones de dependencias.
  3. rpm -U package.rpm: actualizar un paquete rpm sin cambiar la configuración de los ficheros.
  4. rpm -F package.rpm: actualizar un paquete rpm solamente si este está instalado.
  5. rpm -e package_name.rpm: eliminar un paquete rpm.
  6. rpm -qa: mostrar todos los paquetes rpm instalados en el sistema.
  7. rpm -qa | grep httpd: mostrar todos los paquetes rpm con el nombre “httpd”.
  8. rpm -qi package_name: obtener información en un paquete específico instalado.
  9. rpm -qg “System Environment/Daemons”: mostar los paquetes rpm de un grupo software.
  10. rpm -ql package_name: mostrar lista de ficheros dados por un paquete rpm instalado.
  11. rpm -qc package_name: mostrar lista de configuración de ficheros dados por un paquete rpm instalado.
  12. rpm -q package_name –whatrequires: mostrar lista de dependencias solicitada para un paquete rpm.
  13. rpm -q package_name –whatprovides: mostar la capacidad dada por un paquete rpm.
  14. rpm -q package_name –scripts: mostrar los scripts comenzados durante la instalación /eliminación.
  15. rpm -q package_name –changelog: mostar el historial de revisions de un paquete rpm.
  16. rpm -qf /etc/httpd/conf/httpd.conf: verificar cuál paquete rpm pertenece a un fichero dado.
  17. rpm -qp package.rpm -l: mostrar lista de ficheros dados por un paquete rpm que aún no ha sido instalado.
  18. rpm –import /media/cdrom/RPM-GPG-KEY: importar la firma digital de la llave pública.
  19. rpm –checksig package.rpm: verificar la integridad de un paquete rpm.
  20. rpm -qa gpg-pubkey: verificar la integridad de todos los paquetes rpm instalados.
  21. rpm -V package_name: chequear el tamaño del fichero, licencias, tipos, dueño, grupo, chequeo de resumen de MD5 y última modificación.
  22. rpm -Va: chequear todos los paquetes rpm instalados en el sistema. Usar con cuidado.
  23. rpm -Vp package.rpm: verificar un paquete rpm no instalado todavía.
  24. rpm2cpio package.rpm | cpio –extract –make-directories *bin*: extraer fichero ejecutable desde un paquete rpm.
  25. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm: instalar un paquete construido desde una fuente rpm.
  26. rpmbuild –rebuild package_name.src.rpm: construir un paquete rpm desde una fuente rpm.

Actualizador de paquetes YUM (Red Hat, Fedora y similares)

  1. yum install package_name: descargar e instalar un paquete rpm.
  2. yum localinstall package_name.rpm: este instalará un RPM y tratará de resolver todas las dependencies para ti, usando tus repositorios.
  3. yum update package_name.rpm: actualizar todos los paquetes rpm instalados en el sistema.
  4. yum update package_name: modernizar / actualizar un paquete rpm.
  5. yum remove package_name: eliminar un paquete rpm.
  6. yum list: listar todos los paquetes instalados en el sistema.
  7. yum search package_name: Encontrar un paquete en repositorio rpm.
  8. yum clean packages: limpiar un caché rpm borrando los paquetes descargados.
  9. yum clean headers: eliminar todos los ficheros de encabezamiento que el sistema usa para resolver la dependencia.
  10. yum clean all: eliminar desde los paquetes caché y ficheros de encabezado.

Paquetes Deb (Debian, Ubuntu y derivados)

  1. dpkg -i package.deb: instalar / actualizar un paquete deb.
  2. dpkg -r package_name: eliminar un paquete deb del sistema.
  3. dpkg -l: mostrar todos los paquetes deb instalados en el sistema.
  4. dpkg -l | grep httpd: mostrar todos los paquetes deb con el nombre “httpd”
  5. dpkg -s package_name: obtener información en un paquete específico instalado en el sistema.
  6. dpkg -L package_name: mostar lista de ficheros dados por un paquete instalado en el sistema.
  7. dpkg –contents package.deb: mostrar lista de ficheros dados por un paquete no instalado todavía.
  8. dpkg -S /bin/ping: verificar cuál paquete pertenece a un fichero dado.
  9. dpkg --get-selections | less | grep openjdk : listar los paquetes instalados de openjdk
  10. dpkg -l | grep php : listar las versiones instaladas de php

Actualizador de paquetes APT (Debian, Ubuntu y derivados)

  1. apt-show-versions: muestra la version disponible para un paquete
  2. apt-cache policy: muestra la version disponible para un paquete
  3. aptitude versions
  4. apt-get -V -s upgrade: Para ver todas las actualizaciones posibles, ejecute una actualización en modo detallado y (para estar seguro) con simulación
  5. apt-get -V -s install <package> : ver actualizaciones disponibles para un paquete
  6. aptitude -V -s install <package> : ver actualizaciones disponibles para un paquete
  7. apt-get install package_name: instalar / actualizar un paquete deb.
  8. apt-cdrom install package_name: instalar / actualizar un paquete deb desde un cdrom.
  9. apt-get update: actualizar la lista de paquetes.
  10. apt-get upgrade: actualizar todos los paquetes instalados.
  11. apt-get remove package_name: eliminar un paquete deb del sistema.
  12. apt-get check: verificar la correcta resolución de las dependencias.
  13. apt-get clean: limpiar cache desde los paquetes descargados.
  14. apt-cache search searched-package: retorna lista de paquetes que corresponde a la serie «paquetes buscados».
  15. dpkg -L curl: Ver los archivos que se instalaron del paquete o programa CURL
  16. sudo apt-get upgrade <package_name> actualizar un paquet en especifico
  17. apt-cache pkgnames <search_term> buscar archivos
  18. apt-cache showpkg <package_name> mostrar paquetes a instalar
  19. sudo apt-get install <package_name> --no-upgrade actualizar todos los paquetes menos uno
  20. sudo apt-get install <package_name> --only-upgrade actualizar un solo paquete enconcreto
  21. sudo apt-get install <package_name>=<version_number> instalar una version especifica de un paquete
  22. sudo apt-get purge --auto-remove <package_name>

Actualizador de Paquetes pacman (Arch derivados)

       #Instalar paquetes
  1. pacman -S “paquete” #Instala un paquete.
  2. pacman -Sy “paquete” #Sincroniza repositorios e instala el paquete.
  3. yaourt -S #instalar paquetes de los repositorios AUR
    # Actualizar paquetes
  4. pacman -Sy #Sincroniza repositorios.
  5. pacman -Syy #Fuerza la sincronización de repositorios incluso para paquetes que parecen actualizados.
  6. pacman -Syyuu #Fuerza la sincronización de repositorios incluso para paquetes que parecen actualizados y arregla posibles errores.
  7. pacman -Syu #Sincroniza repositorios y actualiza paquetes.
  8. pacman -Syyu #Fuerza sincronización y actualiza paquetes.
  9. pacman -Su #Actualiza paquetes sin sincronizar repositorios.
  10.  pacman-mirrors -g #actualiza las direcciones donde apuntan los repositorios
  11. sudo pacman-mirrors --fasttrack && sudo pacman -Syyu actualizar repositorios y forzar el actualizado general
  12. yaourt -Su --aur #actualiza los paquetes AUR
    # Buscar paquetes
  13. pacman -Ss “paquete” #Busca un paquete.
  14. pacman -Si “paquete” #Muestra información detallada de un paquete.
  15. pacman -Sg “grupo” #Lista los paquetes que pertenecen a un grupo.
  16. pacman -Qs “paquete” #Busca un paquete YA instalado.
  17. pacman -Qi “paquete” #Muestra información detallada de un paquete YA instalado.
  18. pacman -Qdt #Muestra paquetes huérfanos.
  19. yaourt -Ssq #Buscar paquetes en los repositorios AUR
    # Eliminar paquetes
  20. pacman -R “paquete” #Borra paquete sin sus dependencias.
  21. pacman -Rs “paquete” #Borra paquete y sus dependencias no utilizadas.
  22. pacman -Rdd  “paquete” #Borra el paquete ignorando las dependencias

Paquetes Npm

  1. npm init  iniciar configuracion del package.json
  2. npm install -f  <paquete> para instalar paquetes de manera forzada
  3. npm install --verbose <paquete> para instalar los paquetes y ver el progreso de manera especifica
  4. npm install -g <paquete>  instalar paquetes de forma global

Paquetes Android SDK con React-native

  1. cd ~/Android/Sdk/emulator  && ./emulator -avd one -netspeed full -netdelay none -debug-init        iniciar emulador creado previamente con el nombre "one"
  2. react-native run-android para ejecutar un la app en otro terminal


 Ver el contenido de un fichero

  1. cat file1: ver los contenidos de un fichero comenzando desde la primera hilera.
  2. tac file1: ver los contenidos de un fichero comenzando desde la última línea.
  3. more file1: ver el contenido a lo largo de un fichero.
  4. less file1: parecido al commando ‘more’ pero permite salvar el movimiento en el fichero así como el movimiento hacia atrás.
  5. head -2 file1: ver las dos primeras líneas de un fichero.
  6. tail -2 file1: ver las dos últimas líneas de un fichero.
  7. tail -f /var/log/messages: ver en tiempo real qué ha sido añadido al fichero.

Manipulación de texto

  1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulación de texto utilizando PIPE, STDIN y STDOUT.
  2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt: sintaxis general para manipular un texto de un fichero y escribir el resultado en un fichero nuevo.
  3. cat file1 | command( sed, grep, awk, grep, etc…) » result.txt: sintaxis general para manipular un texto de un fichero y añadir resultado en un fichero existente.
  4. grep Aug /var/log/messages: buscar palabras “Aug” en el fichero ‘/var/log/messages’.
  5. grep ^Aug /var/log/messages: buscar palabras que comienzan con “Aug” en fichero ‘/var/log/messages’
  6. grep [0-9] /var/log/messages: seleccionar todas las líneas del fichero ‘/var/log/messages’ que contienen números.
  7. grep Aug -R /var/log/*: buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo.
  8. sed ‘s/stringa1/stringa2/g’ example.txt: reubicar “string1” con “string2” en ejemplo.txt
  9. sed ‘/^$/d’ example.txt: eliminar todas las líneas en blanco desde el ejemplo.txt
  10. sed ‘/ *#/d; /^$/d’ example.txt: eliminar comentarios y líneas en blanco de ejemplo.txt
  11. echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’: convertir minúsculas en mayúsculas.
  12. sed -e ‘1d’ result.txt: elimina la primera línea del fichero ejemplo.txt
  13. sed -n ‘/stringa1/p’: visualizar solamente las líneas que contienen la palabra “string1”.
  14. sed 's/"""//g' : replace text
  15. tr --delete '\n' : remove all enter
  16. cat general.txt | sed 's/"""//g' | tr --delete '\n' | tee -a output.txt : replace text and remove all anter and set result to file
  17. sed 's/^//g' : remove first charater
  18. sed 's/^/and text like "%/'  : append to start string
  19. sed 's/$/%"/' : append to finish string
  20. rename 's/^video_//' *.mp4 : renombrar archivos desde la terminal asociado a la extension
  21. grep -rl $archivoParaRemplazar $ubicacion | xargs sed -i 's#'$archivoParaRemplazar'#'$textoParaRemplazar'#g' remplazar texto
  22. grep -rl 'http://dpidudyah7i0b.cloudfront.net/devops/plugins/bootstrap/bootstrap.css' www.cleancss.com/  | xargs sed -i 's#http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css#css/jquery-ui.csss#g'
  23. grep -rion "palabra a buscar" --exclude-dir=node_modules: buscar una palabra entre archivos de forma recursiva excluyendo el folder node_modules
  24. lscpu | grep -E "(Model|CPU MHz)"  obtener varios elementos de un grep
  25. find ./ -type f -readable -writable -exec sed -i "s/background:#ff6622/background:#ff0000/g" {} \; buscar y remplazar un texto en diferentes archivos

Establecer caracter y conversión de ficheros

  1. dos2unix filedos.txt fileunix.txt: convertir un formato de fichero texto desde MSDOS a UNIX.
  2. unix2dos fileunix.txt filedos.txt: convertir un formato de fichero de texto desde UNIX a MSDOS.
  3. recode ..HTML < page.txt > page.html: convertir un fichero de texto en html.
  4. recode -l | more: mostrar todas las conversiones de formato disponibles.

Análisis del sistema de ficheros

  1. badblocks -v /dev/hda1: Chequear los bloques defectuosos en el disco hda1.
  2. fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema Linux en el disco hda1.
  3. fsck.ext2 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  4. e2fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  5. e2fsck -j /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  6. fsck.ext3 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  7. fsck.vfat /dev/hda1: reparar / chequear la integridad del fichero sistema fat en el disco hda1.
  8. fsck.msdos /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.
  9. dosfsck /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.

Formatear un sistema de ficheros

  1. mkfs /dev/hda1: crear un fichero de sistema tipo Linux en la partición hda1.
  2. mke2fs /dev/hda1: crear un fichero de sistema tipo Linux ext 2 en hda1.
  3. mke2fs -j /dev/hda1: crear un fichero de sistema tipo Linux ext3 (periódico) en la partición hda1.
  4. mkfs -t vfat 32 -F /dev/hda1: crear un fichero de sistema FAT32 en hda1.
  5. fdformat -n /dev/fd0: formatear un disco flooply.
  6. mkswap /dev/hda3: crear un fichero de sistema swap.

Trabajo con la SWAP

  1. mkswap /dev/hda3: crear fichero de sistema swap.
  2. swapon /dev/hda3: activando una nueva partición swap.
  3. swapon /dev/hda2 /dev/hdb3: activar dos particiones swap.

Salvas (Backup)

  1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio ‘/home’.
  2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio ‘/home’.
  3. restore -if /tmp/home0.bak: restaurando una salva interactivamente.
  4. rsync -rogpav –delete /home /tmp: sincronización entre directorios.
  5. rsync -rogpav -e ssh –delete /home ip_address:/tmp: rsync a través del túnel SSH.
  6. rsync -az -e ssh –delete ip_addr:/home/public /home/local: sincronizar un directorio local con un directorio remoto a través de ssh y de compresión.
  7. rsync -az -e ssh –delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un directorio local a través de ssh y de compresión.
  8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’: hacer una salva de un disco duro en un host remoto a través de ssh.
  9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”).
  10. tar -Puf backup.tar /home/user: hacer una salva incremental del directorio ‘/home/user’.
  11. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’: copiar el contenido de un directorio en un directorio remoto a través de ssh.
  12. ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’: copiar un directorio local en un directorio remoto a través de ssh.
  13. tar cf – . | (cd /tmp/backup ; tar xf – ): copia local conservando las licencias y enlaces desde un directorio a otro.
  14. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents: encontrar y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro.
  15. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con extensión ‘.log’ y hacer un archivo bzip.
  16. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco floppy.
  17. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada en un floppy.


Capturar Pantalla KDE

  1.  spectacle -r -c -b :ejecutar captura de pantalla por region rectangular, sin interfaz y copiando la imagen al clipboard
  2. xclip -selection clipboard -t image/png -i /home/other/image.png : copiar imagen al clipboard

CD-ROM

  1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force: limpiar o borrar un cd regrabable.
  2. mkisofs /dev/cdrom > cd.iso: crear una imagen iso de cdrom en disco.
  3. mkisofs /dev/cdrom | gzip > cd_iso.gz: crear una imagen comprimida iso de cdrom en disco.
  4. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd: crear una imagen iso de un directorio.
  5. cdrecord -v dev=/dev/cdrom cd.iso: quemar una imagen iso.
  6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -: quemar una imagen iso comprimida.
  7. mount -o loop cd.iso /mnt/iso: montar una imagen iso.
  8. cd-paranoia -B: llevar canciones de un cd a ficheros wav.
  9. cd-paranoia – ”-3”: llevar las 3 primeras canciones de un cd a ficheros wav.
  10. cdrecord –scanbus: escanear bus para identificar el canal scsi.
  11. dd if=/dev/hdc | md5sum: hacer funcionar un md5sum en un dispositivo, como un CD.

Trabajo con la RED ( LAN y Wi-Fi)

  1. ifconfig eth0: mostrar la configuración de una tarjeta de red Ethernet.
  2. ifup eth0: activar una interface ‘eth0′. (reiniciar ip 2)
  3. ifdown eth0: deshabilitar una interface ‘eth0′.(reiniciar ip 1)
  4. ifconfig eth0 192.168.1.1 netmask 255.255.255.0: configurar una dirección IP.
  5. ifconfig eth0 promisc: configurar ‘eth0’en modo común para obtener los paquetes (sniffing).
  6. dhclient eth0: activar la interface ‘eth0′ en modo dhcp.
  7. ethtool eth0: obtener las especificaciones generales del adaptador
  8. route -n: mostrar mesa de recorrido.
  9. route add -net 0/0 gw IP_Gateway: configurar entrada predeterminada.
  10. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1: configurar ruta estática para buscar la red ‘192.168.0.0/16′.
  11. route del 0/0 gw IP_gateway: eliminar la ruta estática.
  12. echo “1” > /proc/sys/net/ipv4/ip_forward: activar el recorrido ip.
  13. hostname: mostrar el nombre del host del sistema.
  14. host www.example.com: buscar el nombre del host para resolver el nombre a una dirección ip(1).
  15. nslookup www.example.com: buscar el nombre del host para resolver el nombre a una direccióm ip y viceversa(2).
  16. ip link show: mostar el estado de enlace de todas las interfaces.
  17. mii-tool eth0: mostar el estado de enlace de ‘eth0′.
  18. ethtool eth0: mostrar las estadísticas de tarjeta de red ‘eth0′.
  19. netstat -tup: mostrar todas las conexiones de red activas y sus PID.
  20. netstat -tupl: mostrar todos los servicios de escucha de red en el sistema y sus PID.
  21. tcpdump tcp port 80: mostrar todo el tráfico HTTP.
  22. iwlist scan: mostrar las redes inalámbricas.
  23. iwconfig eth1: mostrar la configuración de una tarjeta de red inalámbrica.
  24. whois www.example.com: buscar en base de datos Whois. 
  25. traceroute www.example.com : herramienta que muestra la ruta para llegar al hos
  26. ping xxxx: Manda una señal que deberá ser devuelta por el equipo xxxx para comprobar si se encuentra en línea o no.
  27. ping -DO cirelramos.com.ve: chequea el ping y muestra los paquetes perdidos 

Comandos de comandos

  1. man xxxxx: Muestra el manual de uso o configuración del programa xxxxx.
  2. man –k xxxxx: Muestra las páginas de manual que contengan la palabra xxxxx.
  3. apropos xxxxx: Lista las páginas de manual que tratan acerca del comando xxxxx.
  4. whereis xxxxx: Muestra la localización más probable para el programa xxxxxx.
SERVICIOS DEL SISTEMA:
  1. apachectl -k stop: Sirve para detener el proceso apache
  2. update-rc.d SERVICIO disable desactivar un servicio o el arranque
  3. systemctl disable  SERVICIO 
  4. systemctl list-unit-files --type=service listar los servicios activos/desactivados del inicio
  5. service --status-all ver el estatus actual de todos los servicios
  6. service apache2 stop finalizar el servicio apache2
  7. sudo service mdm stop parar la intefaz mdm (xfce linux mint)
  8. sudo service gdm stop para la interfaz grafica
  9. sudo service lightdm stop para la interfaz grafica
  10. sudo service httpd restart para reiniciar apache en aws
  11. sudo /etc/init.d/php-fpm restart reiniciar php en aws

Redes de Microsoft Windows (SAMBA)

  1. nbtscan ip_addr: resolución de nombre de red bios.
  2. nmblookup -A ip_addr: resolución de nombre de red bios.
  3. smbclient -L ip_addr/hostname: mostrar acciones remotas de un host en windows.
  4. /run/user/1000/gvfs/  : ruta donde se monta samba y sftp

Tablas IP (CORTAFUEGOS)

  1. iptables -t filter -L: mostrar todas las cadenas de la tabla de filtro.
  2. iptables -t nat -L: mostrar todas las cadenas de la tabla nat.
  3. iptables -t filter -F: limpiar todas las reglas de la tabla de filtro.
  4. iptables -t nat -F: limpiar todas las reglas de la tabla nat.
  5. iptables -t filter -X: borrar cualquier cadena creada por el usuario.
  6. iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT: permitir las conexiones telnet para entar.
  7. iptables -t filter -A OUTPUT -p tcp –dport http -j DROP: bloquear las conexiones HTTP para salir.
  8. iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT: permitir las conexiones POP a una cadena delantera.
  9. iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT”: registrando una cadena de entrada.
  10. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE: configurar un PAT (Puerto de traducción de dirección) en eth0, ocultando los paquetes de salida forzada.
  11. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22: redireccionar los paquetes diriguidos de un host a otro.

Monitoreando y depurando

  1. top: mostrar las tareas de linux usando la mayoría cpu.
  2. ps -eafw: muestra las tareas Linux.
  3. ps -e -o pid,args –forest: muestra las tareas Linux en un modo jerárquico.
  4. pstree: mostrar un árbol sistema de procesos.
  5. kill -9 ID_Processo: forzar el cierre de un proceso y terminarlo.
  6. kill -1 ID_Processo: forzar un proceso para recargar la configuración.
  7. sudo kill -9 $(sudo lsof -t -i:80)   :   Forzar parada de proceso
  8. netstat -plnt |grep -i  "node"    :  buscar proceso por nombre, por puerto
  9. netstat -tapul : buscar proceso por puerto
  10. sudo lsof -i -P -n | grep mongo  : buscar los puertos y tipo de conexion sea local o remota abierta para ese proceso 
  11. killall node   : parar todos los procesos con el nombre
  12. lsof -p $$: mostrar una lista de ficheros abiertos por procesos.
  13. lsof /home/user1: muestra una lista de ficheros abiertos en un camino dado del sistema.
  14. strace -c ls >/dev/null: mostrar las llamadas del sistema hechas y recibidas por un proceso.
  15. strace -f -e open ls >/dev/null: mostrar las llamadas a la biblioteca.
  16. watch -n1 ‘cat /proc/interrupts’: mostrar interrupciones en tiempo real.
  17. last reboot: mostrar historial de reinicio.
  18. lsmod: mostrar el kernel cargado.
  19. free -m: muestra el estado de la RAM en megabytes.
  20. smartctl -A /dev/hda: monitorear la fiabilidad de un disco duro a través de SMART.
  21. smartctl -i /dev/hda: chequear si SMART está activado en un disco duro.
  22. tail /var/log/dmesg: mostrar eventos inherentes al proceso de carga del kernel.
  23. tail /var/log/messages: mostrar los eventos del sistema.

VirtualBox

  1. export DISPLAY=:0  seleccionar la interfaz para arranca una aplicacion desde el terminal
  2. VBoxManage list vms -l: mostrar las maquinas virtuales instaladas de forma detallada
  3. VBoxManage list vms : mostrar las maquinas virtuales instaladas de forma sencilla
  4. VBoxManage startvm "slackware" : inicia la maquina virtual 
  5. VBoxManage controlvm "slackware" pause : pausa la maquina virtual
  6.  VBoxManage controlvm "slackware" resume : resume la pausa de la maquina virtual
  7. VBoxManage controlvm "slackware" reset : reinicia la maquina virtual
  8. VBoxManage controlvm "slackware" poweroff : apaga la maquina virtual

SQL

           ---------------MYSQL-----------------

  1. show global status where `variable_name` = 'Threads_connected' se ejecuta en mysql y te dice cuantas conexciones activas hay en Mysql
  2. /etc/mysql/mysql.conf.d/mysqld.cnf: editar el archivo y agregar  luego [mysqld]  la  siguiente linea: sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    mysqldump --routines -h localhost -u root -p password_root name_database > name_database_`date +"%Y-%m-%d_(%H_%M)"`.sql --skip-lock-tables
  3. alter table t_certificado_digital add certificado_adjunto_factura varchar(150) after certificado_adjunto_pago;
          show create table t_certificado_digital;

  1. import database/usr/bin/mysql --default-character-set=utf8 mydatabase -h myhost -u myuser --password=mypassword < backup-prod
  2. export database/usr/bin/mysqldump -h myhost -u myuser --password=mypass mydatabase > myexport.sql
  3. export database with especific charset mysqldump --skip-set-charset --default-character-set=latin1
  4. show global database size: SELECT table_schema AS "Base de datos", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Tamaño (MB)" FROM information_schema.TABLES GROUP BY table_schema;
  5. show logs mysql:
    1. SET GLOBAL general_log = 'ON';
    2. SET GLOBAL slow_query_log = 'ON';
    3. SET GLOBAL general_log_file = '/var/log/mysql/query.log';


   


                ---------------POSTGRESQL-----------------

  1. SELECT * FROM pg_stat_activity;   obtener cuantas conexiones activas hay en  postgresql                                                                           
  2. SELECT sum(numbackends) FROM pg_stat_database; obtener cuantas conexiones activas hay en  postgresql
  3. psql -U postgres -h localhost -W: conectarse a postgresql
  4. psql -h 127.0.0.1 -p 5432 -U root miBasedeDatos: conectarse a postgresql
  5. sudo -u postgres psql postgres conectarse a postgresql 
  6.  sudo su - postgres :  conectarse a postgresql 
  7. pg_restore -h localhost -p 5432 -U root -d miBasedeDatos -v '/home/servidor/respaldoDB' : comando para restaurar la base de datos
  8. pg_dump -U user_name -h remote_host -p remote_port name_of_database > name_of_backup_file: comando para restaurar la base de datos
  9. REVOKE connect ON DATABASE miDB FROM PUBLIC; remover la conexion a una base de datos al esquema publico
  10. GRANT ALL PRIVILEGES ON DATABASE name_of_database TO user_name;
  11. GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO user_name
  12. ALTER USER root IDENTIFIED WITH mysql_native_password BY 'yourpassword'; cambiar el tipo de contraseña en mysql para la version 8
  13. ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword'; cambiar el acceso a cualquier dominio
  14. GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' asignar todos los privilegios a un usuario

---------------BACKUP DATABASE-----------------

su - postgres
pg_dump database > /tmp/database.bak

---------------RESTORE DATABASE-----------------

su - postgres
createdb empy_database
psql empty_database < 
/tmp/database.bak

Graphql

  1. https://github.com/skevy/graphiql-app/releases 
    chmod +x file.AppImage
    ./file.AppImage
    para instalar app Graphiql


Mongo

  1. /etc/mongodb.conf  : cambiamos el valor de bind_ip a 0.0.0.0 y reiniciamos mongo para aceptar las conexiones remotas

Bash

  1. ! EXPRESSION The EXPRESSION is false.
  2. -n STRING The length of STRING is greater than zero.
  3. -z STRING The lengh of STRING is zero (ie it is empty).
  4. STRING1 = STRING2 STRING1 is equal to STRING2
  5. STRING1 != STRING2 STRING1 is not equal to STRING2
  6. INTEGER1 -eq INTEGER2 INTEGER1 is numerically equal to INTEGER2
  7. INTEGER1 -gt INTEGER2 INTEGER1 is numerically greater than INTEGER2
  8. INTEGER1 -lt INTEGER2 INTEGER1 is numerically less than INTEGER2
  9. -d FILE FILE exists and is a directory.
  10. -e FILE FILE exists.
  11. -r FILE FILE exists and the read permission is granted.
  12. -s FILE FILE exists and it's size is greater than zero (ie. it is not empty).
  13. -w FILE FILE exists and the write permission is granted.
  14. -x FILE FILE exists and the execute permission is granted.
  15.  


LibreOffice

cd /nombre/directorio/donde/esta/pdf
soffice --infilter="writer_pdf_import" --convert-to doc nombre.pdf
libreoffice --invisible --convert-to docx:"MS Word 2007 XML" nombre.pdf
abiword --to=doc nombre.pdf

Otros comandos útiles

  1. apropos …keyword: mostrar una lista de comandos que pertenecen a las palabras claves de un programa; son útiles cuando tú sabes qué hace tu programa, pero de sconoces el nombre del comando.
  2. man ping: mostrar las páginas del manual on-line; por ejemplo, en un comando ping, usar la opción ‘-k’ para encontrar cualquier comando relacionado.
  3. whatis …keyword: muestra la descripción de lo que hace el programa.
  4. mkbootdisk –device /dev/fd0 `uname -r`: crear un floppy boteable.
  5. gpg -c file1: codificar un fichero con guardia de seguridad GNU.
  6. gpg file1.gpg: decodificar un fichero con Guardia de seguridad GNU.
  7. wget -k -r www.example.com: descargar un sitio web completo.
    wget  -k -r -A pdf,js,html  www.example.com  filtrar por archivos la descarga
    wget  -k -r -A -d pdf,js,html  www.example.com  descargar con informacion especificada
    wget --spider -r --no-parent www.example.com recorrer todo sitio web
    wget  -k -r -p -X "/router-default/,/convert-units/" "https://html-cleaner.com/"
  8. wget -c www.example.com/file.iso: descargar un fichero con la posibilidad de parar la descargar y reanudar más tarde.
  9. wget -O foo.html google.com descargar el archivo con otro nombre
  10. echo ‘wget -c www.example.com/files.iso‘ | at 09:00: Comenzar una descarga a cualquier hora. En este caso empezaría a las 9 horas.
  11. ldd /usr/bin/ssh: mostrar las bibliotecas compartidas requeridas por el programa ssh.
  12. alias hh=’history’: colocar un alias para un commando –hh= Historial.
  13. chsh: cambiar el comando Shell.
  14. chsh –list-shells: es un comando adecuado para saber si tienes que hacer remoto en otra terminal.
  15. who -a: mostrar quien está registrado, e imprimir hora del último sistema de importación, procesos muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y últimos cambios del reloj del sistema.
  16. dpkg -s firefox | egrep "^Package|^Description"  obtiene la especificación del paquete y descripción cortando solo el texto necesario..
  17.   pgrep: busca procesos en ejecución basándose en el nombre u otros atributos. Para obtener el PID de todos los procesos del usuario root, por ejemplo:
    pgrep -u root

    Comparado con la forma habitual de hacerlo:

    ps -ef | egrep ‘^root ‘ | awk ‘{print $2}’


    pstree: muestra la lista de los procesos en ejecución en forma de árbol.
    bc: un pequeño intérprete para el cálculo matemático. Podemos iniciar el intérprete e introducir las operaciones, escribirlas en un archivo de texto o incluso usar una tubería y pasarlas directamente desde la línea de comandos:
    echo -e “sqrt(16)\nquit\n” | bc -q -i

    split: sencillo comando que, como su nombre indica, nos permite dividir un fichero en varias partes. En la siguiente orden, por ejemplo, se divide el archivo “ficherogrande” en partes de 2MB, usando como nombre para los ficheros ficherogrande_aa, ficherogrande_ab, etc:
    split -b 2m ficherogrande ficherogrande_

    nl: son las siglas de number of lines (número de líneas). Se utiliza, como es de esperar, para contar el número de líneas de un fichero. Útil, por ejemplo, si quieres saber cuánto te ha cundido el pasar todo el fin de semana programando.
    mkfifo: crea una tubería con un nombre asociado. Veamos un pequeño ejemplo. Primero creamos una tubería mi-tuberia y almacenamos el resultado de un ls en la tubería:
    mkfifo tuberia
    ls > tuberia


    Esto hará que se cree un archivo con el contenido almacenado en la tubería y que la consola permanezca bloqueada hasta que se se lea la salida de la tubería desde otra parte. Abrimos otra consola y escribimos:

    head tuberia

    ldd: muestra las librerías compartidas de las que depende un programa. Para el comando java del JRE/JDK, por ejemplo:
    ldd /usr/bin/java
    linux-gate.so.1 => (0xb7f8b000)
    libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f44000)
    libjli.so => /usr/lib/jvm/java-6-sun-1.6.0.10/jre/bin/../lib/i386/jli/libjli.so (0xb7f3b000)
    libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f36000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dd8000)
    /lib/ld-linux.so.2 (0xb7f71000)


    col: ¿quieres guardar la salida de una página de manual como texto plano?
    PAGER=cat
    man less | col -b > less.txt

    xmlwf: ¿necesitas comprobar si un archivo XML está bien formado?

    curl -s ‘http://bashcurescancer.com’ > bcc.html
    xmlwf bcc.html


    lsof: muestra una lista de los archivos abiertos. Recordad que en Linux también se utilizan archivos para representar cosas como directorios o sockets, por lo que es posible listar todas las conexiones TCP con algo como:

    lsof | grep TCP
  18.  Trabajando con Directorios:
  19. pwd → Imprime en Pantalla la ruta del directorio actual.
  20. cd → Cambia de un directorio a otro hacia adelante indicando al directorio al
    cual se desea ingresar.
  21.  cd .. → Devuelve al directorio superior.
  22.  cd ../.. → Devuelve a 2 directorios superiores.
  23.  cd → Ingresa al directorio del usuario.
  24.  cd ~ → Ingresa al directorio del usuario.
  25.  cd - → Devuelve al directorio anterior.
  26. ls → Lista el contenido de una carpeta.
  27.  ls -a → Lista todo el contenido incluyendo los archivos ocultos.
  28.  ls -h → Muestra el contenido con cifras entendibles por nosotros.
  29.  ls -i → Muestra el ID del inodo.
  30.  ls -l → Muestra el contenido en modo lista con información adicional como:
  31. ls -r → Muestra de Forma inversa el contenido listado.
  32.  ls -s → Muestra el tamaño del archivo o carpeta.
  33.  ls -S → Organiza la salida de mayor tamaño a menor
  34.  ls -t → Muestra el contenido por hora/fecha de modificación, mas reciente a
    la mas antigua.
  35.  ls -R → Muestra el contenido de los subdirectorios.
  36. mkdir  →  Crea un directorio. EJ: mkdir dir1
  37.  mkdir -p  → Permite crear directorios y subdirectorios al tiempo. EJ: mkdir -p
    dir1/dir2/dir3
  38. rmdir  →  Permite borrar un directorio si y solo si esta vacío.
  39.  rmdir -p →  Borra un subdirectorio.

Trabajando con Archivos

  1. touch → Crea un archivo
  2. file → Indica el tipo de archivo
  3. cat → Muestra el contenido de un archivo o varios
  4. tac → Muestra el contenido de un archivo de forma inversa
  5. head → Muestra las 10 primeras lineas de un archivo.
  6.  head -20 → Muestra las 20 primeras lineas de un archivo, el 20 puede ser
    56 cambiado por cualquier valor numérico entero.
  7. tail → Muestra las 10 ultimas lineas de un archivo.
  8.  tail -20 → Muestra las 20 ultimas lineas de un archivo, el 20 puede ser
    cambiado por cualquier valor numérico entero.
  9. tail -f → Va actualizando el archivo a medida que se van generando datos.
  10. wc → Muestra información de lineas, palabras y caracteres de un archivo.
  11. ls | wc →Muestra la cantidad de elementos que hay en un directorio 
  12. more → Muestra la información de un archivo de texto en forma paginada.
  13. less → Es similar a more pero a contrario de este, less permite devolverse a
    visualizar una parte del archivo que ya ha sido pasada.
  14. strings → Permite visualizar los caracteres ASCLL de un archivo ejecutable.

Trabajando con Archivos y Directorios

  1. cp → Permite copiar un archivo o directorio, su estructura es: cp
    archivo/pathacopiar rutadestino
  2. cp -i → Copia de forma interactiva, solicita confirmación de realizar la copia
    si encuentra un archivo con el mismo nombre.

  3. cp -r → Copia recursiva, cuando se requiere copiar todo el contenido.

  4. cp -f → Copia forzada.

  5. cp -n → No sobrescribe archivos con el mismo nombre.

  6. cp -p → Perseverante, mantiene la información de los metadatos del archivo
    origen (permisos, fecha, etc)
  7. cp -ra .??*  → copiar todos los archivos de la carpeta actual, hasta los ocultos

  8. rm → Permite borrar un archivo o directorio
  9. rm -r → Permite borrar de forma recursiva todo el contenido del directorio
    indicado.
  10. rm -i → Solicita confirmación para eliminar un archivo
  11. rm -f → Fuerza la eliminación de un archivo
     En ocasiones cuando un archivo inicia con un carácter especial como un
    guión, es necesario indicar la finalización de las opciones del comando con
    guión guión. - -. Por ejemplo para eliminar el archivo “-file.txt” es necesario
    escribir rm -r -- -file.txt
  12. rm –rf .??*   →  elimina todos los archivos hasta los ocultos de la carpeta actual
  13. mv → Permite mover un archivo o directorio y también es usado para cambiar
    nombres,
    su
    estructura
    es:
    mv
    archivo/pathamover
    rutadestino/nombrenuevo

  14. mv -n → No sobrescribe si el archivo ya existe.

  15. mv -i → Solicita confirmación para mover el archivo.




     

Comando History

Guarda el historial de comandos de la sesión
  1. history → Muestra el historial d e comandos
  2. !# → Llama el comando que se encuentra en el numero de la linea indicado
  3. history -c → Borra el historial de comandos
  4. .bachrc → En este archivo que se encuentra en el home de cada usuario se puede configurar el tamaño del history (Disminuir o aumentar los comandos recordados, fecha, etc). 
  5. Con el comando: echo "export HISTTIMEFORMAT='%F %T : '" >> $HOME/.bashrc Podremos Indicarle a la shell que guarde el historial con la fecha de ejecución del comando.


 Comando time

  1. Indica cuanto tiempo se demora en ejecutar el comando indicado. Ej: time ls

 Ejecutables

  1. flexget --debug execute ejecutar con debug
  2.  flexget check ejecutar

 Nano

  1. mejoro notablemente la interacción del usuario final con la edición de archivos por
    consola (Su funcionamiento es muy similar al editor de texto gráfico como writer), acá
    mencionaremos algunos de los comandos.

    Desplazarse entre párrafos, lineas, frases y demás se realiza con las teclas de
    cursor.
    Ctrl + g (F1) → Muestra la ayuda
    ctrl + x (F2) → Cierra el archivo actual
    ctrl + o (F3) → Guarda el trabajo actual
    ctrl + j (F4) → Justificar el Párrafo Actual.
    Ctrl + r (F5) → Insertar otro fichero en el actual
    ctrl + w (F6) → Buscar una cadena o expresión regular
    ctrl + y (F7) → Ir a la pantalla anterior
    ctrl + v (F8) → Ir a la siguiente pantalla
    ctrl + k (F9) → Cortar la línea actual y guardarla en el cutbuffer
    ctrl + u (F10) → Pegar el cutbuffer en la línea actual
    ctrl + c (F11) → Mostrar la posición del cursor
    ctrl + t (F12) → Invocar el corrector ortográfico (si está disponible)



     
Comando aptitude y apt

  1. aptitude → Por si solo mostrara un menú de instalación de software amigable.
  2. aptitude install → Instala software junto con las dependencias necesarias.
  3. aptitude remove → Elimina paquetes junto con las dependencias que queden
    huérfanas.
  4. aptitude purge → Elimina paquetes y dependencias huérfanas junto con los
    ficheros de configuración.
  5. aptitude search → Busca paquetes en las listas de paquetes locales de apt.

  6. aptitude update → Actualiza las listas de paquetes locales.
  7. aptitude upgrade → Actualiza los paquetes disponibles.
  8. aptitude clean → Elimina ficheros temporales descargados durante la instalación de
    un software.
  9. aptitude dist-upgrade → Actualiza paquetes, incluso si eso significa que debe
    desinstalar otros.
  10. aptitude show → Muestra detalles acerca del paquete nombrado.

  11. aptitude autoclean → Elimina los paquetes deb obsoletos.

  12. aptitude hold → Fuerza a que un paquete permanezca en su versión actual, y no se
    actualice.

  13. aptitude reinstall → Reinstala el paquete o software en mención.

  14. aptitude full-upgrade → Actualizar paquetes instalados a su versión más reciente,
    instalando o eliminando paquetes si es necesario.

  15. aptitude safe-upgrade → Actualiza solo aquellos paquetes indicados.

  16. aptitude keep-all → Cancela cualquier cambio programado.

  17. aptidude show → Muestra información sobre el paquete solicitado.




  18. apt-get → Instala o desinstala software

  19.  apt-get install → Instala Software indicado
  20. apt-get install --reinstall →reinstalar un paquete
  21.  apt-get remove → Desinstala el software indicado
  22.  apt-get autoremove  →  Elimina automáticamente todos los paquetes no usados o
    librerías huérfanas.
  23. apt-get purge → Elimina el software y también archivos de configuración.

  24.  apt-get autoclean → Limpia completamente los archivos temporales usados
    durante la instalación de un software

  25.  apt-get clean → Limpia los archivos temporales generados durante la
    instalación de un software.

  26.  apt-get update → Consigue listas de paquetes nuevos y actualizaciones.

  27.  apt-get upgrade → Realiza actualizaciones de los paquetes

  28.  apt-get source → Descarga archivadores origen

  29.  apt-get build-dep → Configura las dependencias de compilación para paquetes
    origen

  30.  apt-get dist-upgrade → Actualiza la distribución.

  31.  apt-get check → Verifica que no hay dependencias rotas.

  32.  apt-get markauto → Marca los paquetes dados como instalados
    automáticamente

  33.  apt-get unmarkauto → Marca los paquetes dados como instalados manualmente

  34.  apt-get changelog → Descarga y muestra el registro de cambios del paquete
    dado

  35.  apt-get download → Descarga el paquete binario en el directorio actual

  36. apt-cache → Busca paquetes dentro del sistema local

  37. apt-cache gencaches → Construye el paquete y la caché de origen

  38.  apt-cache showpkg → Muestra información general para un paquete

  39.  apt-cache showsrc → Muestra registros del origen

  40. apt-cache stats → Muestra algunas estadísticas básicas

  41.  apt-cache dump → Muestra el archivo entero en formato breve

  42.  apt-cache dumpavail → Imprime un archivo disponible en la salida estándar

  43.  apt-cache unmet → Muestra dependencia no conseguidas

  44.  apt-cache search → Busca una lista de paquetes para un patrón de expresión de
    registro

  45.  apt-cache show → Muestra un registro legible para el paquete

  46. apt-cache depends → Muestra información de dependencia en bruto para un
    paquete

  47.  apt-cache rdepends → Muestra información de la dependencia inversa para un
    paquete

  48.  apt-cache pkgnames → Lista los nombres de todos los paquetes en el sistema









 

Comando dpkg



  1. Dpkg Es el gestor de paquetes de las distribuciones basadas en Debian, este no usa los
    repositorios estándar que se encuentran en /etc/apt/sources.list si no que es el encargado
    de administrar e instalar aquellos paquetes ya empaquetados como .deb
  2. dpkg -i → Instala el paquete indicado

  3. dpkg -r → Desinstala el paquete o software que se hace mención pero se mantiene
    la configuración.

  4.  dpkg -Ri → Instalar todos los paquetes .deb de un directorio.

  5.  dpkg -l → Lista todos los paquetes instalados en el sistema.

  6.  dpkg -P → Elimina el paquete indicado con su respectiva configuración.
    Aunque dpkg cuenta con mas opciones estas 2 son las mas usadas, para el resto de
    actividades se recomienda el uso de aptitude o apt.

    Además existen otros comandos asociados a dpkg, acá listamos algunos.


  7. dpkg-architecture → Configura y determina la arquitectura para la construcción
    paquetes.

  8. dpkg-query → Muestra los paquetes de la base de datos de dpkg

  9. dpkg-source → Herramienta de manipulación de paquetes fuente de Debian .dsc

  10. dpkg-reconfigure → Reconfigurar un paquete ya configurado como MySql

  11. dpkg-split → Divide/Une el paquete indicado en varias partes

  12. dpkg-buildpackage → Crea un paquete .deb a partir de sus fuentes

  13. dpkg-name → Renombra el paquete según su contenido

  14. dpkg-scanpackages → Escanea y genera un índice de los paquetes dentro de
    directorio.

  15. dpkg-checkbuilddeps → Compruebas las dependencias del paquete y conflictos
    compilación.

  16. dpkg-deb → Administra los paquetes .deb

  17. dpkg-preconfigure → Permite que los paquetes realicen las preguntas
    configuración.

  18. dpkg-vendor → Consulta la información sobre el autor del paquete.






     

Instalación desde las fuentes

  1. La instalación desde las fuentes de un programa es la manera mas clásica de instalación,ya que requiere cumplir primero con las dependencias del programa (Al contrario de apt que las cumple durante la instalación) para luego proceder con la configuración, compilación e instalación del software.

    Los pasos a continuación son aplicables en la mayoría de programas que se instalen
    desde las fuentes, pero siempre es recomendable leer su manual o documento de
    instalación.
  2.  Confirmar que se cuentan con las dependencias del programa, las esenciales son gcc y make
  3. Descargar el programa fuente, normalmente viene en formato .tar.gz
  4.  Descomprimir el programa en un directorio con los suficientes permisos para
    realizar la configuración.
  5.  Ingresar y configurar el programa con .config o ./configure
  6.  Compilar el programa con el comando make
  7.  Instalar el programa con make install

Atajos de Teclado

  1. Ctrl + Alt + Fn (1-6): Para abrir terminales a pantalla completa. Requiere autentificación con usuario y contraseña. Cambiaremos a la terminal correspondiente a la tecla Fn que pulsemos, correspondiendo ésta al orden en el que las abrimos. En Linux podemos tener múltiples terminales funcionando simultáneamente, por defecto controlaremos hasta 6 con esta combinación de teclas. Por ejemplo Ctrl + Alt + F1 nos lleva a la primera terminal abierta.tty: Con este comando, en el caso de tener varias terminales abiertas, nos dirá en cuál nos encontramos.
  2. Ctrl + Alt + F7: Nos devolverá al entorno gráfico (si usábamos alguno).
  3. Shift (Mayus) + RePág: Realizaremos scroll hacia arriba en la terminal.
  4. Shift (Mayus) + AvPág: Realizaremos scroll hacia abajo en la terminal.
  5. Tab (Tabulador): Completará el comando, nombre de fichero o directorio que estemos escribiendo. En caso de múltiples coincidencias, con una doble pulsación de esta tecla obtendremos todos los resultados posibles encontrados en el directorio o sistema.
  6. Flecha de dirección ‘arriba’ y /o ‘abajo’: Nos moveremos por el historial compuesto por los últimos comandos usados.
  7. Ctrl + r: Buscará en el historial el último comando usado según lo que vayamos escribiendo. Por ejemplo utilizamos el comando clear hace unas horas, si pulsamos Ctrl + r y escribimos cl nos mostrará el comando clear, puesto que lo ha buscado en el historial y es el más reciente que coincide.
  8. Ctrl + c: Interrumpe cualquier proceso en ejecución de forma inmediata y nos devuelve al prompt.
  9. Ctrl + z: Envía el proceso actual a segundo plano. Para recuperarlo sólo tendremos que escribir fg y pulsar Intro.
  10. Ctrl + d: Cierra la sesión de la terminal en la que nos encontramos. Si estamos usando una interfaz gráfica en la que hemos abierto una terminal, ésta se sólo se cerrará.
  11. Ctrl + w: Elimina la palabra anterior a la posición del cursor.
  12. Ctrl + k: Corta todo aquello que se encuentre entre la situación del cursor y el final de la línea.
  13. Ctrl + u: Corta la línea en la que nos encontramos al completo.
  14. Ctrl + y: Pega el contenido copiado o cortado con Ctrl + u o Ctrl + k.
  15. !!: Repetirá el último comando usado.

    Desintalar por completo un paquete

  16. sudo apt-get remove --purge paquete
  17. sudo apt-get autoremove
  18. sudo apt-get autoclean


  19. Composer / Laravel Comandos

    1. composer global update  → actualizar los paquetes
    2.  composer global self-update → actualizar los paquetes
    3.  composer global self-update → actualizar los paquetes
    4. php artisan serve --host=0.0.0.0 --port=3080 → ejecutar laravel con el puerto 3080 y aceptar las conexiones desde cualquier lugar
    5. php artisan make:model Image -m→ crear modelo
    6. php artisan make:migration CreateAuthorsTable --create=authors  crear migracion especificando el nombre de la tabla
    7. php artisan migrate:  migrar el modelo a la base de datos
    8. php artisan migrate:rollback --step=6 deshacer 6 migraciones anteriores
    9.  php artisan db:seed --class=ProductionTableSeeder ejecutar un seed en particular
    10. php artisan migrate:fresh --seed -n --force→ forzar migracion y seeds
    11. php artisan make:test UserTest crear Test
    12. php artisan make:seeder ImagesTableSeeder→ crear  modelo para hacer seed
    13. php artisan make:controller ImagesController --resource→ crear los controllers
    14. php artisan route:list → listar las rutas disponibles
    15. php artisan route:list | grep -i avatar | awk '{print $3,$2,$5,$8,$9}' → filter for columns info
    16. php artisan make:middleware Cors → Añadir la estructura para especificar los cors en laravel
    17. composer create-project laravel/laravel  miproyecto → crear proyecto laravel con su ultima version
    18. composer create-project laravel/laravel miproyecto "5.1.*" → crear proyecto laravel en una version en especifico
    19. cd $HOME/.config/composer/ && composer init → reiniciar la configuracion composer.json
    20.  php artisan route:clear && php artisan cache:clear && php artisan config:clear  limpiar, rutas, cache y configuracion temportal
    21. composer require refinery29/test-util:0.10.2  → composer install version specif package
    22. php artisan key:generate  → generar encryption key 
    23. composer clearcache  → vaciar el cache de paquetes descargados
    24. instalar paquetes con docker en consola interactiva y composer
    25. sudo docker run --rm --interactive --tty \
        --volume $PWD:/app \
        --user $(id -u):$(id -g) \
       composer composer require "guzzlehttp/guzzle":"^6.3.1|^7.0.1"
  

    Docker Comandos

    1. sudo docker inspect mysql-hr-container | jq '.[].NetworkSettings.Networks'
    2.   → inspeccionar el contenedor y obtener en formato json los valores
      docker inspect --format="{{json .Mounts}}" docker inspect --format="{{json .Mounts}}"
    3. sudo docker cp Session.vim mysql-hr-container:/tmp → copiar un archivo del host al contenedor
    4. sudo docker cp mysql-hr-container:/var/log/mysql/query.log . → copiar un archivo del contendor al host
    5. sudo docker add   example.com/tmp mysql-hr-container:/tmp → descargar un archivo y añadirlo en el contenedor
    6. sudo docker logs  -t --tail=10 mysql-hr-container → mostrar los logs de un contenedor con timestamp
    7. sudo docker run -it --entrypoint=bash xdebug-php7.3 → ejecutar una imagen sobre escribiendo en entrypoint y revisar problemas de ejecucion
    8.  sudo docker stats --format "table {{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDs}}" → docker status con nombre del contenedor y otras informaciones
    9.  sudo docker ps --format "table {{.Names}}\t{{.Ports}}\t{{.Image}}\t{{.Status}}"  →  imprimir docker ps con un format especifico
    10. docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)  → docker inspect para obtener la info especifica
    11. sudo docker-compose down -v → eliminar los volumenes de los contenedores
    12. date --set "2013-7-14 00:03"→ asignar fecha en contenedor
    13. sudo docker network create   --driver=bridge   --subnet=172.28.0.0/16   --ip-range=172.28.5.0/24   --gateway=172.28.5.254   jenkins → crear network con el nombre jenkins

    Docker compose Comandos

    1. sudo docker-compose build --force-rm --no-cache → crear imagen sin cache

    Comandos Varios

    1. crontab with logs→ */1 * * * * /home/$USER/Documents/script.sh  >> /home/$USER/Downloads/cron.log 2>&1
    2.  curl -k -i -X GET "https://google.com"→ consultas de curl con ssl sin verificar
    3. siege -c 10 -r 10 url → probar respuesta de endpoints
      -c es cuantas peticiones a la vez
      -r es cuantas veces repite las peticiones a la vez
    4. socat UDP-RECV:5000 STDOUT →  crear listener udp server
    5. nc -uv 172.47.47.1 5000 → enviar información al server udp
    6. yt-dlp "https://www.youtube.com/watch?v=Ic99CjraOeQ&list=PLpkcUJwi3EFG3dtxqipHq_h0wVynKTHdA&index=1" -x --audio-format mp3 -ciw  -o "%(playlist_index)s-%(title)s.%(ext)s" download from youtube with number of position
    7. bucle bash one line x=0;\ for i in `seq 1 2`; do\ curl -X 'GET' \ "https://domain.com/api/force-message?all_devices=1&title=TITLE-$x&body=body" \ -H 'accept: application/json' \ -H 'X-CSRF-TOKEN: ';\ echo $(( x++ ));\ done



1 comentarios :