Siempre veo que hay mucha gente que pregunta "¿Cual distro de Linux recomiendan para comenzar?" Muchas veces la respuesta va orientada a Ubuntu o alguna distribución que tenga reputación de ser 'amigable' con el usuario o alguna cuestión parecida.
En mi caso, hice caso a ese consejo y empecé con Ubuntu, y luego de unos meses me pase a la distribución de la que se hereda, Debian, solo para darme cuenta de que no habia casi nada diferente, o si era diferente no era más 'difícil' por así decirlo.
Así que seguramente los comandos que se detallan en este post sirvan para ambas distribuciones y (
creo que) con muy pocas diferencias para Mint.
Hoy vuelvo a instalar Debian en mi PC y armo esta guía para establecer las primeras configuraciones en el SO.(https://i.imgur.com/SH84JHf.png)
Debian 9.8 con escritorio Cinnamon (y también se ven mis humildes especificaciones del hardware lol ::) )
Se puede elegir el escritorio que quieras durante la instalación del SO, en mi caso me gusta Cinnamon, y si en tu caso tenés una PC con muy pocos recursos, podrias elegir XFCE el cual es muy liviano y no consume muchos recursos
Lo primero que necesitamos hacer es acualizar el sistema, para lo que necesitamos permisos de administrador o 'root'
- Agregando nuestro usuario a los sudoers
Pondríamos en la consola escribir
su y loguearnos como
root para hacer el update, pero más adelante vamos a querer igual que nuestro usuario tenga este tipo de permisos asique aprovechamos ahora a agregarlo a los '
sudoers'
Primero podes intentar hacer un
sudo whoami
Y te va a decir que tu usuario no se encuentra en el '
sudoers file'
1- Cambiar a root
su
2- Correr comando
usermod -a -G sudo USER (dónde user es tu nombre de usuario)
3-Desloguearse del usuario root
exit
4- Probar exito
sudo whoami
Ya tenés los permisos para usar 'sudo' ;D A veces hay que hacerlo de forma manual para que funcione por lo que
entre el paso 1 y 2 vamos a editar el archivo sudoers
nano /etc/sudoers
Y al final del archivo agregarle
user ALL=(ALL:ALL) ALL (donde user es tu nombre de usuario)
¿Y qué es todo ese "ALL"?
Citaruser ALL=(ALL:ALL) ALL: en este se indica que la regla se aplica a cualquier anfitrión (o host).
user ALL=(ALL:ALL) ALL: "user" podrá usar comandos de cualquier usuario.
user ALL=(ALL:ALL) ALL: si el anterior "ALL" permitía usar comandos de usuarios, éste lo hará de grupos.
user ALL=(ALL:ALL) ALL: las reglas se aplican a todos los comandos."
(Cita de: https://slimbook.es/tutoriales/linux/86-anadir-usuario-al-fichero-sudoers)
Tambien hay que establecer la contraseña UNIX del usuario root, para impedir que alguien booteando un sistema Live pueda correr una consola en modo administrador dentro de nuestro sistema.
Así que :
sudo passwd
(https://i.imgur.com/GjLBuo4.png)
- Actualizar sistema a la ultima version
Ya somos administradores de nuestra pc y ahora si se puede actualizar el sistema ;) pero antes vamos a modificar nuestra Sources.list
Las sources.list son los lugares a donde nuestro sistema va a 'preguntar' si hay actualizaciones que no tengamosasique:
sudo nano /etc/apt/sources.list
Lo que nos abre el archivo que debería verse algo asi:
(https://i.imgur.com/s6nWebm.png)
y vamos a comentar la primera línea que (creo) que es la que queda de la instalación, por eso dice algo de CD-ROM y el nombre del ISO de la instalación.
y después de comentar esa línea agregamos "contrib non-free" al final de cada línea
(Explicación oficial de debian: https://wiki.debian.org/SourcesList)
y nos quedaría algo así:(https://i.imgur.com/BVqS8bO.png)
Cerrar y guardar el archivo y correr los 3 comandos fundamentalessudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
o en un solo comando, agregándole -y para que le de que 'si' a todo y no nos este preguntandosudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade
ya nuestro sistema esta al día :)Este siguiente paso es porque yo tenía Windows instalado en la PC y estoy haciendo un Dual-Boot asique me toca actualizar el Grub para que me reconozca los otros SO del disco.
sudo update-grub
De esta manera ya la próxima vez que encienda el PC tendre los dos sistemas operativos en el menú de grub para elegir a cual entrar
Ahora lo que sería aconsejable es que se instalen, si fuera necesario los drivers de la placa de video, motherboard, etc.
No voy a comentar nada sobre eso ya que mi pc es una notebook con todo integrado (del 2008) así que no me toca hacer esa parte con mi hardware xD
Este paso se aplica solo PCs con poca ram ya que si tenes 8gb o más no creo que se note ninguna mejora.El uso de la swap se mide con un parámetro llamado 'Swapiness' que podemos chequear con el comando:
cat /proc/sys/vm/swappiness
El default es de 60, lo que (creo) que sería lo lógico para un servidor, pero no para un uso cotidiano de una pc de escritorio.
Para editarlo hay que agregar un parámetro en
gedit admin:///etc/sysctl.conf
Lo que abre el archivo (pide permisos root) y al final agregamos esta linea
###################################################################
# Reducir el uso de SWAP
vm.swappiness=10
Guardar->Salir->Reiniciar el sistema.
Si todo salió bien, cat /proc/sys/vm/swappiness deberia decir que tu swapiness es de 10 o el valor que le hayas puesto
Vamos a instalar el
UFW (Uncomplicated FireWall) para utilizar desde la consola, o el GUFW (Graphical UFW) para utilizar desde una interfaz gráfica
sudo apt-get install ufw
sudo ufw enable
Y para ver el estado
sudo ufw status verbose
(https://i.imgur.com/C6VucWS.png)
Lo importante es la parte que dice deny (incoming), lo que quiere decir que va a bloquear todos el tráfico entrante y al lado dice allow (outgoing) o sea que va a permitir todas las conexiones salientes.
Si te interesa más sobre las reglas del mismo o querés investigar más a fondo
sudo ufw show raw
- Sandbox para el navegador
Esta configuración
para el navegador es una que me agrada bastante, su objetivo es que el navegador tenga permisos de lectura para todos los archivos que tenga que usar para su normal funcionamiento, pero q
ue solo tenga permisos de escritura en las carpetas designadas para 'descargas' o las carpetas que le indiquemos.
Lo único que he notado que es incómodo es al momento de tener que subir un archivo que esta en la carpeta de 'documentos' tenemos que moverlo a 'descargas' y ahi si el navegador puede seleccionarlo.
Instalar
sudo apt-get install firejail
Chequeamos su versión
firejail --version
Ahora corremos firefox con la sandboxfirejail firefox & disown
El disown hace que podamos cerrar la terminal, y para ver que efectivamente esta corriendo con firejail ponemos
firejail --tree
Para mirar películas y todos los videos que queramos :D
sudo apt-get install vlc
- Cambiar dirección
MAC automáticamente
Instalaremos el script
MacChanger el cual hace que nuestra dirección fisica del PC cambie
cada vez que nos conectamos a una red.
sudo apt-get install macchanger
Durante la instalación nos saldrá un prompt en el que pregunta si cambiar automáticamente la dirección MAC, seleccionar que si.
(https://i.imgur.com/fRONkFj.png)
Siempre he usado ProtonVPN (de ProtonMail) y nunca me ha dado problemas además que tiene una buena velocidad, para configurar la VPN primero instalaremos los paquetes necesarios:
sudo apt-get install openvpn
sudo apt-get install network-manager-openvpn-gnome
sudo apt install resolvconf
Despues de este punto descargar el archivo de configuración, dejo el tutorial oficial de ProtonVPN así no se extiende esta parte
https://protonvpn.com/support/linux-vpn-setup/
Hace un tiempo fue noticia el nuevo DNS de cloudflare 1.1.1.1 o 1.0.0.1, debido a su respeto por la
privacidad y velocidad, asique personalmente lo uso en todos mis dispositivos
La configuración es muy simple, en la barra de tareas vamos a la sección de conexiones, entramos a la configuración de nuestra conexión, sea wifi o cable y hacemos click en el martillito para configurar.
Seleccionar OFF en el pistillo de usar DNS automático, y en los campos de texto escribir el 1.1.1.1 como la principal y 1.0.0.1 como la alternativa
(https://i.imgur.com/sl9ugQ2.png)
Tutorial y más información en su página oficial
https://1.1.1.1/
Anonsurf es un script que te permite enrutar todo el tráfico de tu pc mediante TOR
Git para clonar el repositorio y el Tor service obviamente
sudo apt-get install git
sudo apt-get install tor
Clonar repositorio e instalar con el installer
git clone https://github.com/Und3rf10w/kali-anonsurf.git
cd kali-anonsurf
sudo ./installer.sh
Con esto debería bastar para poder hacer un
'sudo anonsurf start' y navegar en la red tor, aunque en mi caso tuve un error con el paquete i2p el cual solucioné de la siguiente manera:
Instalar apt-transport-https y curl
sudo apt-get install apt-transport-https curl
Editamos el i2p.sources.list
sudo nano /etc/apt/sources.list.d/i2p.list
Y al final del archivo agregar estas líneas
deb https://deb.i2p2.de/ stretch main
deb-src https://deb.i2p2.de/ stretch main
quedando asi:
(https://i.imgur.com/UnN2L8n.png)
Últimos comandos (cosas varias)
sudo apt-get install i2p
curl -o i2p-debian-repo.key.asc https://geti2p.net/_static/i2p-debian-repo.key.asc
gpg -n --import --import-options import-show i2p-debian-repo.key.asc
sudo apt-key add i2p-debian-repo.key.asc
sudo apt-get update
sudo apt-get install i2p i2p-keyring
Y ahora si, le damos a
sudo anonsurf start
Descargar el paquete de este link:
https://www.torproject.org/download/download.html.en
El navegador no requiere instalación, solo extraer y ejecutar :D
- BONUS TRACK (?) Customizar GRUB
Para que cuando enciendas el PC tenga tu propio estilo !Primero elegimos una imagen en JPG (creo haber leido que PNG también puede ser pero no lo he probado) y lo importante es que sea de la misma resolución de tu monitor.
Suponiendo que nuestra imagen se llama wallpaper.jpg abrimos una consola en la carpeta en la que esta la imagen y el comando
sudo cp -v wallpaper.jpg /boot/grub
Y listo !
En el caso de que tengas problemas con la imagen puede ser por la resolución así que lo cambiamos en el archivo de configuración
sudo nano /etc/default/grub
Y en la línea que dice algo como
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
Recorda quitar el # al principio de la línea antes de guardar el archivo
GRUB_GFXMODE=1366x768 (o la resolución que corresponda)
luego
sudo update-grub para que reconozca los cambios
(https://i.imgur.com/V88eQsM.png)
Espero que sea de utilidad el post para saber que es lo primero que hay que hacer después de instalar linux y aprovecho para preguntar¿Qué otras configuraciones recomendarias? Saludos !!
Me ha parecido muy bueno.
Otras cosas que yo hago siempre:
Configurar NTP para un servidor cercano; en mi caso, utilizo los de la Armada, que son los oficiales para España.
En el fichero /etc/ntp.conf, añado el servidor hora.roa.es
También me creo alias para comandos comunes; por ejemplo, "sagi" en vez de "sudo apt-get install", o "sus" en vez de "sudo su -", etc.
Esto se configura en /home/usuario/.bashrc, con la sintaxis que ya viene definida en el fichero. Por ejemplo:
alias actualiza='sudo apt-get update && sudo apt-get upgrade'
En mis máquinas yo aplico root-denied, y luego ya trabajo con sudo, o escalo privilegios desde el usuario estándar. Si en la instalación no le has indicado que no se pueda logar como root, siempre puedes eliminar el contenido de /etc/securetty o comentar todas sus líneas para impedir que se acceda con root (nunca borrar el fichero).
$ dd if=/dev/zero > of=/etc/securetty
Muy bueno ! a los alias los uso generalmente para el update y cuestiones repetitivas :D
En cuanto al root-denied no lo he probado, tendre que investigar al respecto jaja :D