======Utilidades Linux====== ===== APT ====== ===Repositorios=== * /etc/apt/sources.list ===Operaciones sobre repositorio=== #Actualizar repositorios: apt-get update #Actualizar paquetes instalados: apt-get upgrade apt-get upgrade #Buscar paquetes: apt-cache search #Mostrar info de un paquete: apt-cache show #Mostrar paquetes instalados apt list --installed | grep ===Instalar/desinstalar=== #Instalar un paquete: apt-get install apt-get install = #Reinstalar un paquete: apt-get install --reinstall #Desinstalar un paquete: apt-get remove #Desinstalar un paquete y toda su configuración: apt-get remove --purge #Corregir errores de instalación: apt-get install -f #Elimina el paquete y sus fichero de conf apt-get purge #Elimina paquetes que ya no se usan por haber nuevas versiones apt-get autoclean #Elimina paquetes que eran dependencias de otro desinstalado apt-get autoremove === dpkg (Debian Packaging System) === Para instalar paquetes //.deb// #Paquetes instalados dpgk -l | grep #Instalar un paquete: dpkg -i #Instalar un paquete "a la fuerza": dpkg -i --force-all # Desinstalar un paquete: dpkg -r #Corregir errores de instalación dpkg --configure -a ===== Servicios ====== Comprobar estado, arrancar, reiniciar, parar * systemctl status mysql * systemctl [start, restart, stop] mysql * service mysql status * service apache2 start/stop ==== MariaDB ===== Para administrar, hay que loguearse como root en bash === Usuarios === #Crear usuario mysql> CREATE USER 'user'@localhost IDENTIFIED BY 'pass'; #Ver los usuarios SELECT User (ó *) FROM mysql.user; #Crear base de datos mysql> CREATE DATABASE `mibd`; #Uso sin permisos para acceder desde local mysql> GRANT USAGE ON *.* TO 'user'@localhost IDENTIFIED BY 'pass'; #Uso sin permisos para acceder desde remoto mysql> GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY 'pass'; === Privilegios === #Conceder todos los privilegios sobre una base de datos en local mysql> GRANT ALL privileges ON `mibd`.* TO 'user'@localhost; #Privilegios desde remoto mysql> GRANT ALL privileges ON `mibd`.* TO 'user'@'%'; #Mostrar privilegios mysql> SHOW GRANTS FOR 'user'@localhost; #Eliminar privilegios REVOKE ALL PRIVILEGES on *.* from 'user'@localhost; REVOKE USAGE on *.* from 'user'@localhost; #Aplicar los cambios realizados mysql> FLUSH PRIVILEGES; #Verificar permisos mysql> SHOW GRANTS FOR 'user'@localhost; ==== PostgreSQL ===== #cambiar al usuario postgres (superusuario de postgresql) su - postgres #conectarme mediante el cliente -> psql psql create database mydb; create user myuser with encrypted password 'mypass'; grant all privileges on database mydb to myuser; revoke all on database mydb to myuser; #Salir del cliente \q Crear bases de datos y usuarios, desde el terminal a través del usuario postgres #Cambio al usuario postgres su - postgres createuser createdb dropdb dropuser ====Apache ==== * Directorio de apache2 -> ''/etc/apache2'' * Fichero principal de configuracion -> ''/etc/apache2/apache2.conf'' * Carpeta http del servidor -> ''/var/www'' service apache2 status service apache2 start/stop/restart apachectl status apache2 -v -> Muestra datos sobre la versión ===== Compresores===== Archivos .tar.gz: * Comprimir: ''tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/'' * Descomprimir: ''tar -xzvf archivo.tar.gz'' * Descomprimir en un directorio: ''tar -xzvf archivo.tar.gz -C /carpeta/destino'' * También: ''tar -xf archivo.tar.gz -C /carpeta/destino'' Archivos .tar: * Empaquetar: ''tar -cvf paquete.tar /dir/a/comprimir/'' * Desempaquetar: ''tar -xvf paquete.tar'' Archivos .gz: * Comprimir: ''gzip -9 index.php'' * Descomprimir: ''gzip -d index.php.gz'' Archivos .zip: * Comprimir: ''zip archivo.zip carpeta'' * Descomprimir: ''unzip archivo.zip'' ===== Miscelanea ===== Gnome Desktop * update-rc.d -f gdm3 defaults -> en caso de que no arranque * apt-get install gnome -> en caso de que lo anterior no sirva * Alt + F2 -> selección de programa para ejecutar (gnome-terminal) Red * ip addr show -> muestra ip y mac * nmcli ->Network Manager [[https://developer.gnome.org/NetworkManager/stable/nmcli.html|Soporte comando]] * arp -a -> Mostrar tablas arp * arp -s xxx.xxx.xxx.xxx xx:xx:xx:xx:xx:xx -> añadir arp estática Nautilus * Ctrl + h -> mostrar ocultos ===== Rutas de Utilidad===== Accesos directos al escritorio -> ''/usr/share/applications'' ===== CertBot ===== Generar certificado SSL para dominio y wildcard para subdominios $ certbot certonly --manual -d *.mydomain.com -d mydomain.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory --register-unsafely-without-email --rsa-key-size 4096 Para añadir las entradas DNS Txt, no se debe incluir el nombre del dominio: ''TXT _acme-challenge "ku1k_n8q7fLah09qr6UDxk8Ot819PRI2kK_CfBdYwm8" '' * Ruta de certificados: /etc/letsencrypt/live/[[dominio]] * Certificado CRT -> cert.pem * Clave privada (Key) -> privkey.pem Renovar certificados $ certbot renew