{"id":1113,"date":"2022-05-27T18:06:46","date_gmt":"2022-05-27T18:06:46","guid":{"rendered":"https:\/\/asgardius.company\/?p=1113"},"modified":"2022-05-27T18:06:46","modified_gmt":"2022-05-27T18:06:46","slug":"creando-un-servidor-con-debian-11-en-oracle-cloud","status":"publish","type":"post","link":"https:\/\/asgardius.company\/?p=1113","title":{"rendered":"Creando un servidor con Debian 11 en Oracle Cloud"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/asgardius.company\/wp-content\/uploads\/2021\/06\/JKHP_debian16001-1024x768.jpg\" alt=\"\" class=\"wp-image-583\"\/><\/figure>\n\n\n\n<p>La versi\u00f3n gratuita del servicio Oracle Cloud se puede considerar como aceptable para pruebas, pero la variedad de sistemas operativos es inferior a la ofrecida por proveedores como Scaleway o Digital Ocean. Algunos usuarios han encontrado formas de instalar otras distribuciones, como en el caso de Debian<\/p>\n\n\n\n<p>Para seguir este tutorial se necesita lo siguiente<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cuenta en Oracle Cloud<\/li><li>Recursos libres para crear un servidor (puede ser X86 o ARM)<\/li><li>Cliente SSH<\/li><li>Tener abierto un puerto TCP adicional al 22 dentro del firewall de Oracle Cloud (en mi caso usar\u00e9 el puerto 8080)<\/li><\/ul>\n\n\n\n<p>Primero necesitamos crear un servidor virtual con Ubuntu 20.04 (el cual reemplazaremos por Debian m\u00e1s adelante). En caso de requerir uno con procesador X86 seleccionar la versi\u00f3n minimal de este debido a que esta es m\u00e1s conveniente por la reducida memoria RAM que hay disponible para este tipo de instancias desde la versi\u00f3n gratuita del servicio. Una vez que el servidor est\u00e9 en marcha eliminamos algunos paquetes que no necesitamos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt purge --autoremove snapd<\/code><\/pre>\n\n\n\n<p> actualizamos los paquetes y reiniciamos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt dist-upgrade -y &amp;&amp; sudo apt install lsof &amp;&amp; sudo reboot<\/code><\/pre>\n\n\n\n<p>Liberamos espacio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt purge -y $(dpkg-query -Wf '${Package}\\n' | grep header)  $(apt list --installed | grep -oP \"^linux.*\\d\\d\\d\\d-oracle\" | grep -v \"$(uname -r)\") linux-modules-extra-$(uname -r) lxc* lxd* vim* &amp;&amp; sudo apt -y autoremove &amp;&amp; sudo apt -y autoclean &amp;&amp; sudo apt -y clean  \nsudo rm -rf \/var\/log\/* \/var\/lib\/apt\/lists\/*<\/code><\/pre>\n\n\n\n<p>Revisamos el uso de disco (La unidad ra\u00edz deber\u00eda tener utilizados menos de 1.3GB en Ubuntu Standard y menos de 600MB en Ubuntu Minimal)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -h<\/code><\/pre>\n\n\n\n<p>Obtenemos privilegios de superusuario<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo su<\/code><\/pre>\n\n\n\n<p>Nos movemos al directorio ra\u00edz<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/<\/code><\/pre>\n\n\n\n<p>Creamos el sistema de archivos temporal de la siguiente manera en Ubuntu Standard<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -t tmpfs -o size=1700m tmpfs mnt<\/code><\/pre>\n\n\n\n<p>En Ubuntu Minimal el espacio requerido es menor<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -t tmpfs -o size=600m tmpfs mnt<\/code><\/pre>\n\n\n\n<p>Copiamos el sistema ra\u00edz a la memoria RAM<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar --one-file-system -c . | tar -C \/mnt -x<\/code><\/pre>\n\n\n\n<p>Cambiamos el sistema ra\u00edz del disco duro a la memoria RAM<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount --make-private -o remount,rw \/\nmount --move dev mnt\/dev\nmount --move proc mnt\/proc\nmount --move run mnt\/run\nmount --move sys mnt\/sys\nsed -i '\/^&#91;^#]\/d;' mnt\/etc\/fstab\necho 'tmpfs \/ tmpfs defaults 0 0' &gt;&gt; mnt\/etc\/fstab\ncd mnt\nmkdir old_root\nmount --make-private \/\nunshare -m\npivot_root . old_root<\/code><\/pre>\n\n\n\n<p>Iniciamos el servidor SSH desde el sistema de transici\u00f3n utilizando un segundo puerto (yo utilic\u00e9 el 8080)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/sbin\/sshd -D -p 8080 &amp;<\/code><\/pre>\n\n\n\n<p>Iniciamos sesi\u00f3n en el servidor SSH reci\u00e9n creado (podemos salirnos de la sesi\u00f3n actual o abrir otra terminal)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -p 8080 ubuntu@hostname<\/code><\/pre>\n\n\n\n<p>Volvemos a elevar privilegios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo su<\/code><\/pre>\n\n\n\n<p>Cerramos los procesos asociados al sistema anterior<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pkill agetty\npkill dbus-daemon\npkill atd\npkill iscsid\npkill rpcbind\npkill unattended-upgrades\nkill 1 <\/code><\/pre>\n\n\n\n<p>Desmontamos la unidad ra\u00edz<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>umount -l \/dev\/sda1<\/code><\/pre>\n\n\n\n<p>Revisamos que el disco duro no tenga particiones montadas<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -h<\/code><\/pre>\n\n\n\n<p>Descargamos una imagen de Debian para la nube y la escribimos en el disco duro. En el caso de utilizar un procesador X86 ser\u00eda de esta forma<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -L https:\/\/cloud.debian.org\/cdimage\/cloud\/bullseye\/latest\/debian-11-generic-amd64.tar.xz | tar -OJxvf - disk.raw | dd of=\/dev\/sda bs=1M<\/code><\/pre>\n\n\n\n<p>En caso de utilizar un procesador ARM ser\u00eda con otra imagen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -L https:\/\/cloud.debian.org\/cdimage\/cloud\/bullseye\/latest\/debian-11-generic-arm64.tar.xz | tar -OJxvf - disk.raw | dd of=\/dev\/sda bs=1M<\/code><\/pre>\n\n\n\n<p>Una vez que termine sincronizamos la cache<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sync<\/code><\/pre>\n\n\n\n<p>Cerramos la sesi\u00f3n SSH y reiniciamos desde la consola de Oracle Cloud (debemos marcar la casilla de reinicio forzado para que funcione). Una vez reiniciado el servidor limpiamos la lista de hosts conocidos del cliente SSH e iniciamos sesi\u00f3n mediante el usuario debian con la misma clave privada utilizada para iniciar sesi\u00f3n durante el proceso de migraci\u00f3n<\/p>\n\n\n\n<p>Referencias<\/p>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/4abhinavjain\/893ec13c651bee08088c8f4661998952\">https:\/\/gist.github.com\/4abhinavjain\/893ec13c651bee08088c8f4661998952<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La versi\u00f3n gratuita del servicio Oracle Cloud se puede considerar como aceptable para pruebas, pero la variedad de sistemas operativos es inferior a la ofrecida por proveedores como Scaleway o Digital Ocean. Algunos usuarios han encontrado formas de instalar otras distribuciones, como en el caso de Debian Para seguir este tutorial se necesita lo siguiente&hellip; <a class=\"more-link\" href=\"https:\/\/asgardius.company\/?p=1113\">Seguir leyendo <span class=\"screen-reader-text\">Creando un servidor con Debian 11 en Oracle Cloud<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1113","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/1113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1113"}],"version-history":[{"count":0,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/1113\/revisions"}],"wp:attachment":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}