https://www.keopx.net/ es Exploring .img Files on Linux and create your custom one https://www.keopx.net/blog/exploring-img-files-linux-and-create-your-custom-one <span>Exploring .img Files on Linux and create your custom one</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><ul> <li>Discover the hidden secrets of a monolithic <code>.img</code> file</li> <li>Mount the partitions in an <code>.img</code> file using <code>losetup</code>, <code>kpartx</code> and <code>mount</code></li> <li>Create your own <code>.img</code> files and use them as virtual disks</li> <li>Write out your virtual disk image to a thumb drive (or any drive for that matter) for use later</li> </ul> <h2>Install packages</h2> <p><code>$ sudo aptitude install kpartx xz-utils</code></p> <h2>Decompress image</h2> <p>Once its downloaded you will want to uncompress it with <code>xz --decompress</code>:</p> <p><code>$ xz --decompress Retrobro128KillerHomeConsole.img.img.xz</code></p> <h2>Mount image</h2> <p>We’re going to attach the image file to what is known as a <a href="https://web.archive.org/web/20210118104618/https://en.wikipedia.org/wiki/Loop_device">loopback device</a>.</p> <p><code>$ sudo losetup /dev/loop0 Retrobro128KillerHomeConsole.img</code></p> <p>Note: We used <code>/dev/loop0</code> in this example. If <code>/dev/loop0</code> wasn’t available to us (that is, it was already in use), we could have chosen <code>/dev/loop1</code>, etc.</p> <p><code>$ sudo losetup -a /dev/loop0: [65026]:28970069 (/home/keopx/Retrobro128KillerHomeConsole.img)</code></p> <p>Now <code>/dev/loop0</code> is attached. How about look at the partition table with <code>fdisk</code>?</p> <p><code>$ sudo fdisk -l /dev/loop0 Disco /dev/loop0: 119,8 GiB, 128579534848 bytes, 251131904 sectores Unidades: sectores de 1 * 512 = 512 bytes Tamaño de sector (lógico/físico): 512 bytes / 512 bytes Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes Tipo de etiqueta de disco: dos Identificador del disco: 0xf2d3cb4f Disposit. Inicio Comienzo Final Sectores Tamaño Id Tipo /dev/loop0p1 * 8192 124927 116736 57M e W95 FAT16 (LBA) /dev/loop0p2 124928 251131903 251006976 119,7G 83 Linux </code></p> <p>To see what <code>kpartx</code> <em>would</em> map, run it with the <code>-l</code> option:</p> <p><code>$ sudo kpartx -l /dev/loop0 loop0p1 : 0 116736 /dev/loop0 8192 loop0p2 : 0 251006976 /dev/loop0 124928</code></p> <p>Let’s go ahead and run it and add the maps:</p> <p><code>$ sudo kpartx -a /dev/loop0 </code></p> <p>Now you can see new devices on <strong>dolphin</strong>.</p> <p>Running a shell:</p> <p>Now that the partitions are mapped, let’s examine the filesystems on each partition with <code>file</code> and the <code>--special-files</code> and <code>--dereference</code> options.</p> <p><code>$ sudo file -sL /dev/mapper/loop0p1 /dev/mapper/loop0p1: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, reserved sectors 4, root entries 512, Media descriptor 0xf8, sectors/FAT 116, sectors/track 32, heads 64, sectors 116736 (volumes &gt; 32 MB), serial number 0xb13de1e5, label: "boot ", FAT (16 bit)</code></p> <p><code>$ sudo file -sL /dev/mapper/loop0p2 /dev/mapper/loop0p2: Linux rev 1.0 ext4 filesystem data, UUID=c50e928e-5669-44d0-8e3c-a59d21ad3da2, volume name "retropie" (extents) (64bit) (large files) </code></p> <p>Now that we have our partitions mapped, we can mount them. Create two directories to serve as mountpoints:</p> <p><code>$ mkdir boot # We will mount the FAT partition here $ mkdir retropie # We will mount the ext4 partition here</code></p> <p>Once they are created, <code>mount</code> the filesystems (only system in my case).</p> <p><code>$ sudo mount /dev/mapper/loop0p2 retropie</code></p> <h2>Umount image</h2> <p>Once you are done and want to “let go” of the <code>.img</code> file, reverse the process with:</p> <p><code>$ sudo umount retropie $ sudo kpartx -d /dev/loop0 $ sudo losetup -d /dev/loop0</code></p> <p>Reference:</p> <ul> <li><a href="https://web.archive.org/web/20210118104618/https://dev.iachieved.it/iachievedit/exploring-img-files-on-linux/">https://dev.iachieved.it/iachievedit/exploring-img-files-on-linux/</a></li> </ul></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Jue, 26/12/2019 - 11:50</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/debian-10" hreflang="es">Debian 10</a></div> <div class="field__item"><a href="/categoria/raspberry-pi" hreflang="es">Raspberry pi</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/bash" hreflang="es">bash</a></div> <div class="field__item"><a href="/tag/terminal" hreflang="es">Terminal</a></div> <div class="field__item"><a href="/tag/consola" hreflang="es">consola</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=308&amp;2=field_comments&amp;3=comment" token="O6DJWUhWDSOQytsmVQ9idBx3ufl7Pw7sSFZCnZvlKQU"></drupal-render-placeholder> </div> </div> </section> Thu, 26 Dec 2019 10:50:37 +0000 keopx 308 at https://www.keopx.net Debian 10 Buster Killer 1535 wireless https://www.keopx.net/blog/debian-10-buster-killer-1535-wireless-0 <span>Debian 10 Buster Killer 1535 wireless</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Source list</h2> <p><code>vim /etc/apt/sources.list</code></p> <p><code>deb http://deb.debian.org/debian buster main contrib non-free deb-src http://deb.debian.org/debian buster main contrib non-free deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb http://deb.debian.org/debian buster-updates main contrib non-free deb-src http://deb.debian.org/debian buster-updates main contrib non-free deb http://deb.debian.org/debian buster-backports main contrib non-free deb-src http://deb.debian.org/debian buster-backports main contrib non-free</code></p> <h2>Install Killer 1535 wireless</h2> <p><code>apt-get update apt-get install firmware-atheros modprobe -r ath10k_pci &amp;&amp; modprobe ath10k_pci</code></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mié, 31/07/2019 - 11:49</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/categoria/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/debian" hreflang="es">Debian</a></div> <div class="field__item"><a href="/tag/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/tag/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=307&amp;2=field_comments&amp;3=comment" token="wOKF7PGJM0rAsVthP3CB6CJbW2yMj35ZM7lgtAhHerI"></drupal-render-placeholder> </div> </div> </section> Wed, 31 Jul 2019 09:49:36 +0000 keopx 307 at https://www.keopx.net Debian 10 Buster Killer 1535 wireless https://www.keopx.net/blog/debian-10-buster-killer-1535-wireless <span>Debian 10 Buster Killer 1535 wireless</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Source list</h2> <p><code>vim /etc/apt/sources.list</code></p> <p><code>deb http://deb.debian.org/debian buster main contrib non-free deb-src http://deb.debian.org/debian buster main contrib non-free deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb http://deb.debian.org/debian buster-updates main contrib non-free deb-src http://deb.debian.org/debian buster-updates main contrib non-free deb http://deb.debian.org/debian buster-backports main contrib non-free deb-src http://deb.debian.org/debian buster-backports main contrib non-free</code></p> <h2>Install Killer 1535 wireless</h2> <p><code>apt-get update apt-get install firmware-atheros modprobe -r ath10k_pci &amp;&amp; modprobe ath10k_pci</code></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mié, 31/07/2019 - 11:49</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/categoria/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/debian" hreflang="es">Debian</a></div> <div class="field__item"><a href="/tag/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/tag/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=306&amp;2=field_comments&amp;3=comment" token="42QT9JrWrEc_UDqgLKgc1xP-G36JGoUf5Zi2SjEYL1M"></drupal-render-placeholder> </div> </div> </section> Wed, 31 Jul 2019 09:49:16 +0000 keopx 306 at https://www.keopx.net Debian 10 Buster Intel 9260 wireless https://www.keopx.net/blog/debian-10-buster-intel-9260-wireless <span>Debian 10 Buster Intel 9260 wireless</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Source list</h2> <p><code>vim /etc/apt/sources.list</code></p> <p><code>deb http://deb.debian.org/debian buster main contrib non-free deb-src http://deb.debian.org/debian buster main contrib non-free deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb http://deb.debian.org/debian buster-updates main contrib non-free deb-src http://deb.debian.org/debian buster-updates main contrib non-free deb http://deb.debian.org/debian buster-backports main contrib non-free deb-src http://deb.debian.org/debian buster-backports main contrib non-free</code></p> <h2>Install Intel 9260 wireless</h2> <p><code>apt-get update apt-get install firmware-iwlwifi modprobe -r iwlwifi ; modprobe iwlwifi</code></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mié, 31/07/2019 - 11:47</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/categoria/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/debian" hreflang="es">Debian</a></div> <div class="field__item"><a href="/tag/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/tag/debian-10" hreflang="es">Debian 10</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=305&amp;2=field_comments&amp;3=comment" token="JwdtiyS9D-o5czOPW2dvf1jnhqc4L7a2E0F7-hlOCzA"></drupal-render-placeholder> </div> </div> </section> Wed, 31 Jul 2019 09:47:48 +0000 keopx 305 at https://www.keopx.net Debian 9 stretch Intel 9260 wireless https://www.keopx.net/blog/debian-9-stretch-intel-9260-wireless <span>Debian 9 stretch Intel 9260 wireless</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Source list</h2> <p><code>vim /etc/apt/sources.list</code></p> <p><code>deb http://ftp.fi.debian.org/debian/ stretch main non-free contrib deb-src http://ftp.fi.debian.org/debian/ stretch main non-free contrib deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free # stretch-updates, previously known as 'volatile' deb http://ftp.fi.debian.org/debian/ stretch-updates main contrib non-free deb-src http://ftp.fi.debian.org/debian/ stretch-updates main contrib non-free # stretch-backports, previously on backports.debian.org deb http://ftp.fi.debian.org/debian/ stretch-backports main contrib non-free deb-src http://ftp.fi.debian.org/debian/ stretch-backports main contrib non-free</code></p> <h2>Install Intel 9260 wireless</h2> <p><code>apt-get update apt-get -t stretch-backports install firmware-iwlwifi modprobe -r iwlwifi ; modprobe iwlwifi</code></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mar, 30/07/2019 - 11:29</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/categoria/debian-9" hreflang="es">Debian 9</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/debian" hreflang="es">Debian</a></div> <div class="field__item"><a href="/tag/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/tag/debian-9" hreflang="es">Debian 9</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=304&amp;2=field_comments&amp;3=comment" token="xj5M9EUQBOXfvM86p4DHqU2Thy82w9FS-c3d3Edfghk"></drupal-render-placeholder> </div> </div> </section> Tue, 30 Jul 2019 09:29:56 +0000 keopx 304 at https://www.keopx.net Debian 9 stretch Killer 1535 wireless https://www.keopx.net/blog/debian-9-stretch-killer-1535-wireless <span>Debian 9 stretch Killer 1535 wireless</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Source list</h2> <p><code>vim /etc/apt/sources.list</code></p> <p><code>deb http://ftp.fi.debian.org/debian/ stretch main non-free contrib deb-src http://ftp.fi.debian.org/debian/ stretch main non-free contrib deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free # stretch-updates, previously known as 'volatile' deb http://ftp.fi.debian.org/debian/ stretch-updates main contrib non-free deb-src http://ftp.fi.debian.org/debian/ stretch-updates main contrib non-free # stretch-backports, previously on backports.debian.org deb http://ftp.fi.debian.org/debian/ stretch-backports main contrib non-free deb-src http://ftp.fi.debian.org/debian/ stretch-backports main contrib non-free</code></p> <h2>Install Killer 1535 wireless</h2> <p><code>apt-get update apt-get -t stretch-backports installfirmware-atheros modprobe -r ath10k_pci &amp;&amp; modprobe ath10k_pci</code></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mar, 30/07/2019 - 11:27</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/categoria/debian-9" hreflang="es">Debian 9</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/debian-9" hreflang="es">Debian 9</a></div> <div class="field__item"><a href="/tag/debian" hreflang="es">Debian</a></div> <div class="field__item"><a href="/tag/wireless" hreflang="es">Wireless</a></div> <div class="field__item"><a href="/tag/killer-1535" hreflang="es">Killer 1535</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=303&amp;2=field_comments&amp;3=comment" token="sa399Mh3axyRePEx5V9FMfqKFfCkboHkWk0Hw1TQfQs"></drupal-render-placeholder> </div> </div> </section> Tue, 30 Jul 2019 09:27:03 +0000 keopx 303 at https://www.keopx.net Instalación y configuracion de java https://www.keopx.net/blog/instalacion-y-configuracion-de-java <span> Instalación y configuracion de java</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Obtenemos java</h2> <p>Antes de descargar una versión de java debemos saber la versión del S.O. esto es, si es x86 o amd64. Para ello ejecutamos lo siguiente:</p> <p><code># uname -a</code><br /> <code>Linux Hetz01 3.2.0-38-generic #61-Ubuntu SMP Tue Feb 19 12:18:21 UTC 2013 x86_64 <strong>x86_64</strong> x86_64 GNU/Linux</code></p> <p>Ahora descargamos java a nuestro equipo:</p> <ul> <li><a href="https://web.archive.org/web/20210118110020/http://www.java.com/es/download/linux_manual.jsp?locale=es">http://www.java.com/es/download/linux_manual.jsp?locale=es</a></li> <li><a href="https://web.archive.org/web/20210118110020/http://www.oracle.com/technetwork/es/java/javase/downloads/index.html">http://www.oracle.com/technetwork/es/java/javase/downloads/index.html</a></li> </ul> <h2>Instalar JRE</h2> <h3>Subimos JAVA</h3> <p><code>$ scp jre-7u17-linux-x64.tar.gz root@78.47.194.156:.</code></p> <h3>Ahora instalamos en el servidor</h3> <p><code># tar -xvf  jre-7u17-linux-x64.tar.gz</code><br /> <code># mkdir /usr/lib/jvm</code><br /> <code># mv jre1.7.0_17 /usr/lib/jvm/</code><br /> <code># update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0_17/bin/java 0</code><br /> <code># update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jre1.7.0_17/bin/javaws 0</code></p> <h2>Instalar JDK</h2> <h3>Subimos JAVA</h3> <p><code>$ scp jdk-7u17-linux-x64.tar.gz root@78.47.194.156:.</code></p> <h3>Ahora instalamos en el servidor</h3> <p><code># tar -xvf  jdk-7u17-linux-x64.tar.gz</code><br /> <code># mkdir /usr/lib/jvm</code><br /> <code># mv jdk1.7.0_17 /usr/lib/jvm/</code><br /> <code># update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_17/bin/java 1</code><br /> <code># update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/&gt;&gt;jdk1.7.0_17/bin/javac 1</code><br /> <code># update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_17/bin/javaws 1</code></p> <h2><code>Enlaces simbólicos</code></h2> <p><code>Para poder actualiza tanto el <strong>jdk</strong> como el <strong>jre</strong> podemos usar el enlace simbólico que apunte concreta de la <strong>jvm</strong> a uno genérico.</code></p> <h3>JRE simbólico</h3> <p><code># ln -s /usr/lib/jvm/jre1.7.0_17 /usr/lib/jvm/jre1.7.0</code></p> <p>Ahora configuramos el nuevo entorno:</p> <p>&gt;<code># update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0/bin/java 0</code><br /> &gt;<code># update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jre1.7.0/bin/javaws 0</code></p> <h3>JDK simbólico</h3> <p><code># ln -s /usr/lib/jvm/jdk1.7.0_17 /usr/lib/jvm/jdk1.7.0</code></p> <p>Ahora configuramos el nuevo entorno:&gt;</p> <p><code># update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1</code><br /> <code># update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 1 </code><br /> <code># update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0/bin/javaws 1</code></p> <h2>Reconfigurar java</h2> <p><code># update-alternatives --config java</code><br /> <code># update-alternatives --config javac</code><br /> <code># update-alternatives --config javaws</code></p> <h2>Referencias</h2> <ul> <li><a href="https://web.archive.org/web/20210118110020/http://www.liberiangeek.net/2012/04/install-oracle-java-runtime-jre-7-in-ubuntu-12-04-precise-pangolin/">http://www.liberiangeek.net/2012/04/install-oracle-java-runtime-jre-7-in-ubuntu-12-04-precise-pangolin/</a></li> <li><a href="https://web.archive.org/web/20210118110020/http://www.liberiangeek.net/2012/04/install-oracle-java-jdk-7-in-ubuntu-12-04-precise-pangolin">http://www.liberiangeek.net/2012/04/install-oracle-java-jdk-7-in-ubuntu-12-04-precise-pangolin</a></li> <li><a href="https://web.archive.org/web/20210118110020/http://www.java.com/es/download/linux_manual.jsp?locale=es">http://www.java.com/es/download/linux_manual.jsp?locale=es</a></li> <li><a href="https://web.archive.org/web/20210118110020/http://www.oracle.com/technetwork/es/java/javase/downloads/index.html">http://www.oracle.com/technetwork/es/java/javase/downloads/index.html</a></li> </ul> <p> </p> </div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Lun, 29/07/2019 - 11:23</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/java" hreflang="es">Java</a></div> <div class="field__item"><a href="/categoria/debian" hreflang="es">Debian</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/java" hreflang="es">Java</a></div> <div class="field__item"><a href="/tag/server" hreflang="es">server</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=302&amp;2=field_comments&amp;3=comment" token="wNnqtKqLMvApCw1DE11sNDEU8kVI9SRvQvrQQNe09rc"></drupal-render-placeholder> </div> </div> </section> Mon, 29 Jul 2019 09:23:23 +0000 keopx 302 at https://www.keopx.net Crear claves GPG2 en GNU/Linux con Ed25519 https://www.keopx.net/blog/crear-claves-gpg2-en-gnulinux-con-ed25519 <span>Crear claves GPG2 en GNU/Linux con Ed25519</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"> <p>Vamos a crear un par de claves GPG2 basados en cifrado <em>Ed25519</em>. Lo realizaremos en la consola aunque también se puede realizar utilizando "Contraseñas y claves de cifrado".</p> <p>A continuación, invocamos gpg en la consola con la opción <em>--expert</em> y <em>--full-gen-key</em>.</p> <pre> <code class="language-bash">$ gpg2 --expert --full-gen-key gpg (GnuPG) 2.1.8; Copyright (C) 2015 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.</code></pre><p>Luego, seleccionamos el <em>9</em> para seleccionar la clave principal de <em>ECC</em> y la subclave de cifrado <em>de ECC</em>.</p> <pre> <code class="language-bash">Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) (7) DSA (set your own capabilities) (8) RSA (set your own capabilities) (9) ECC and ECC (10) ECC (sign only) (11) ECC (set your own capabilities) Your selection? 9</code></pre><p>La siguiente es la <strong>selección importante</strong>. Seleccionamos <em>1</em> para seleccionar "<em>Curve25519</em>".</p> <pre> <code class="language-bash">Please select which elliptic curve you want: (1) Curve 25519 (2) NIST P-256 (3) NIST P-384 (4) NIST P-521 (5) Brainpool P-256 (6) Brainpool P-384 (7) Brainpool P-512 (8) secp256k1 Your selection? 1</code></pre><p>Verás una <em>ADVERTENCIA</em>, pero es lo que quieres.</p> <pre> <code class="language-bash">gpg: WARNING: Curve25519 is not yet part of the OpenPGP standard. Use this curve anyway? (y/N) y</code></pre><p>Se le pregunta sobre la caducidad de la clave.</p> <pre> <code class="language-bash">Please specify how long the key should be valid. 0 = key does not expire &lt;n&gt; = key expires in n days &lt;n&gt;w = key expires in n weeks &lt;n&gt;m = key expires in n months &lt;n&gt;y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y </code></pre><p>Luego, pregunta sobre una identidad de usuario.</p> <pre> <code class="language-bash"> GnuPG needs to construct a user ID to identify your key. Real name: keopx Email address: keopx@keopx.net Comment: You selected this USER-ID: "keopx &lt;keopx@keopx.net&gt;" </code></pre><p>Por último, pide confirmación.</p> <pre> <code class="language-bash">Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o</code></pre><p>Entonces, va así.</p> <pre> <code class="language-bash">We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. </code></pre><p>Pide a la frase de contraseña las claves por ventana emergente y, a continuación, finaliza.</p> <pre> <code class="language-bash">gpg: key D1A0681AAEDE141B marked as ultimately trusted gpg: directory '/home/user/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/user/.gnupg/openpgp-revocs.d/4E2A32714B8E5ADAECA181ABD1A0681AAEDE141B.rev' public and secret key created and signed. pub ed25519 2019-01-13 [SC] 4E2A32714B8E5ADAECA181ABD1A0681AAEDE141B 4E2A32714B8E5ADAECA181ABD1A0681AAEDE141B uid keopx &lt;keopx@keopx.net&gt; sub cv25519 2019-01-13 [E] </code></pre><p>Referencia:</p> <ul> <li><a href="https://web.archive.org/web/20210118112155/https://debconf17.debconf.org/talks/162/">https://debconf17.debconf.org/talks/162/</a></li> <li><a href="https://web.archive.org/web/20210118112155/https://www.keopx.net/blog/crear-claves-gpg-en-gnulinux">https://www.keopx.net/blog/crear-claves-gpg-en-gnulinux</a></li> </ul> </div> </div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Dom, 13/01/2019 - 11:19</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/gpg" hreflang="es">GPG</a></div> <div class="field__item"><a href="/categoria/gnu-linux" hreflang="es">GNU Linux</a></div> <div class="field__item"><a href="/categoria/seguridad" hreflang="es">Seguridad</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/seguridad" hreflang="es">seguridad</a></div> <div class="field__item"><a href="/tag/gpg" hreflang="es">GPG</a></div> <div class="field__item"><a href="/tag/gnu-linux" hreflang="es">GNU Linux</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=301&amp;2=field_comments&amp;3=comment" token="aKhbvLK9H1YjgGr-ZNN1elbev_LB5TsJErSit8E7BMo"></drupal-render-placeholder> </div> </div> </section> Sun, 13 Jan 2019 10:19:23 +0000 keopx 301 at https://www.keopx.net Stop and Remove all Docker containers https://www.keopx.net/blog/stop-and-remove-all-docker-containers <span>Stop and Remove all Docker containers</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><h2>Stop all Docker containers</h2> <pre> <code class="language-bash">docker stop $(docker ps -a -q)</code></pre><h2>Remove not running all containers</h2> <pre> <code class="language-bash">docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm</code></pre><h2>Delete all Volume</h2> <pre> <code class="language-bash">docker volume rm $(docker volume ls -qf dangling=true)</code></pre><h2>Delete all containers</h2> <pre> <code class="language-bash">docker rm $(docker ps -a -q)</code></pre><h2>Delete all images</h2> <pre> <code class="language-bash">docker rmi $(docker images -q)</code></pre><h2>Clean docker used space.</h2> <pre> <code class="language-bash">sudo service docker stop &amp;&amp; sudo rm -rf /var/lib/docker &amp;&amp; sudo service docker stop &amp;&amp; sudo service docker start</code></pre><p>Source:</p> <ul> <li><a href="https://gist.github.com/keopx/51e37289b2088358b82b">stop_remove_docker_all.md</a></li> </ul> </div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mar, 30/01/2018 - 20:48</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/docker" hreflang="es">Docker</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/docker" hreflang="es">Docker</a></div> <div class="field__item"><a href="/tag/containers" hreflang="es">Containers</a></div> <div class="field__item"><a href="/tag/devops" hreflang="es">DevOps</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=296&amp;2=field_comments&amp;3=comment" token="XZVg4USyCkxZc6Q3TeHD5WUFVXaRZZ2eepogcOAMlHM"></drupal-render-placeholder> </div> </div> </section> Tue, 30 Jan 2018 19:48:09 +0000 keopx 296 at https://www.keopx.net Uso adecuado de email personal y/o corporativo y disminuir las distracciones https://www.keopx.net/blog/uso-adecuado-email-personal-corporativo-disminuir-distracciones <span>Uso adecuado de email personal y/o corporativo y disminuir las distracciones</span> <div class="text-content field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>El e-mail es probablemente la herramienta más potente con la que contamos para trabajar en equipo. Usar correctamente el e-mail y conocer toda su potencia y posibilidades permite ser más efectivo en la comunicación y mejorar el ambiente de trabajo.</p> <p>Cada persona usa el e-mail de una forma particular: hay a quien le gusta ser breve y conciso, otros que prefieren escribir pocos mensajes pero muy largos, quien prefiere la comunicación uno-a-uno y los que hacen cc:opias a todo el mundo... los que leen el e-mail cada 5 minutos y los que lo hacen una vez al día.</p> <p>A continuación hay una serie de consejos para utilizarlo mejor:</p> <ul> <li>Piensa que <strong>mandar emails es como hablar con alguien</strong>: <strong>si te escriben</strong>, lo que <strong>tu interlocutor espera es que le contestes</strong>, aunque solo sea para decirle "OK" o "Hoy no tengo tiempo para responderte completamente. Lo haré mañana". Intenta no tardar mucho en responder.</li> <li>Es más práctico el correo-sólo-texto que el correo-HTML.</li> <li>Los <strong>e-mails cortos son más efectivos</strong>. La norma general es mensajes de no más de 25 líneas (4-5 párrafos) excepto para explicar cosas largas o complejas.</li> <li>Firma. Hazte una firma de texto chula con tus datos de contacto y alguna recomendación de uso de algo de tu organización. Cinco líneas máximo como recomienda la netiqueta, claro.</li> <li>El "Tema" o<strong> "Asunto" de los mensajes es importante</strong> que sea lo más claro y explicativo posible para que todo el mundo pueda archivar y buscar fácilmente mensajes históricos.</li> <li><strong>Las citas</strong> ("quotes") <strong>pueden hacerse dejando al final del e-mail el mensaje original</strong> (o la cadena de mensajes que se haya generado) o usando el signo de cita (&gt;) delante de las líneas citadas. <strong>Hay que vigilar los reenvíos al "exterior"</strong>, para que un mensaje inocente no lleve una cola de citas previas confidenciales.</li> <li><strong>TO: (Para: Destinatario:)</strong> La norma general es que el mensaje <strong>se envía a los implicados en algo</strong> (campo To: o Para:) si se espera respuesta de ellos directamente (a veces no habrá respuesta, por ejemplo si el mensaje es puramente informativo). <strong>Todos los que reciben un mail a su nombre en el campo "To:" deben "darse por aludidos"</strong> sobre el contenido y responder si es necesario.</li> <li><strong>CC: (Copias:)</strong>. El campo Copia (CC:) <strong>se usa para informar a terceros de algo</strong>. Por ejemplo, es elegante y recomendable copiar siempre al responsable/equipo para que esté informado de lo que uno hace, o a compañeros que tengan tangencialmente que saber algo sobre un tema, etc. Los CC:copiados no tienen por que darse por aludidos ni se espera obligatoriamente una respuesta de ellos.</li> <li><strong>BCC: (Copia Ciega:) No se debe usar para trabajo interno</strong>. Básicamente, no debe haber información secreta cruzada (o cruzada secretamente ;-).<strong> No es nada elegante y no hay "razones secretas" ni cosas que ocultar a los demás para usar las copias ciegas</strong> -- además de que a mucha gente le despistan. <strong>La única excepción</strong> es el envío de información a largas <strong>listas de gente de algo puramente informativo</strong> en la que la longitud de la lista de gente sea más larga que el propio mensaje <strong>y no tenga sentido que sea visible</strong> o que el resto de destinatarios <strong>no deban saber</strong> del resto de correos <strong>por temas de privacidad</strong>.</li> <li><strong>Cadenas de respuesta</strong> (gente). <strong>En general, al responder se debe responder a los mismos que estaban en el mensaje original ("responder a todos")</strong>, sin eliminar ni añadir a nadie (y si hace, suele ser bueno explicar por qué -- "bla bla bla... por cierto, copio a Pepe porque el otro día me dijo algo sobre el tema. Bla bla bla..." La única excepción son los mensajes tipo "lista de correo", en los que el autor pide una respuesta privada para recoger información o datos concretos ("que todo el mundo me confirme si viene a la reunión o no").</li> <li><strong>Reenvío (Forward:)</strong> <strong>Se puede usar para pasar un mensaje interno o externo a cualquier compañero o grupo de gente</strong>. En general si no se requiere respuesta basta con indicarlo con el texto "FYI" (For Your Information = Para tu información... = Que Lo Sepas ;-)</li> <li><strong>Ficheros adjuntos</strong>: <strong>utiliza PDF para documentos enviados a clientes y el original</strong> (.doc, .xls o similar con OpenOffice) <strong>para trabajo en equipo</strong>, ya que pueden ser corregidos. Pero lo ideal es usar la intranet.</li> <li><strong>Lectura de correo</strong>. <strong>Se supone que todo el mundo lee su correo varias veces al día en horas de oficina</strong>, pero ten en cuenta que <strong>no todo el mundo lee el correo los fines de semana </strong>(no se debería hacer). Con el tiempo se adivina quién hace qué y quién lee más el correo y quién no. Hasta que descubras esto, no hay que dar por supuesto que un mensaje enviado el viernes a las 21.00 será contestado antes del lunes<strong>. Si se trata de algo urgente que necesite confirmación</strong>, es <strong>mejor pedirlo</strong> de forma explícita.</li> <li><strong>Recomendaciones en los envíos -- generales:</strong> <ul> <li><strong>Enviar los mails a los mínimos implicados </strong>posibles para evitar "spammear" con mensajes a demasiada gente.</li> <li><strong>Usar grupo@organizacion.com</strong> con suma moderación. Todos los mensajes enviados a esta lista, al igual que toda la intranet, son confidenciales.</li> <li><strong>Informar siempre (con CC:) a todos los posibles implicados</strong> en temas importantes. O al menos pasar un resumen después de que se haya debatido algo importante.</li> <li><strong>Los mails con una línea en blanco entre párrafos son más legibles.</strong></li> <li>En vez de enviar una página web completa o un texto copiado al completo, <strong>a veces es más práctico copiar-y-pegar la URL en el mensaje </strong>y que el destinatario haga clic para verlo.</li> <li><strong>La más importante: USAR EL SENTIDO COMÚN al usar el correo ;-)</strong></li> </ul> </li> </ul> <p>Relacionados: <a href="https://www.keopx.net/blog/tener-en-cuenta-al-enviar-correos">https://www.keopx.net/blog/tener-en-cuenta-al-enviar-correos</a></p></div> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Dom, 14/01/2018 - 12:42</span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/correo" hreflang="es">Correo</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/correo-0" hreflang="es">Correo</a></div> <div class="field__item"><a href="/tag/email" hreflang="es">email</a></div> </div> </div> <section class="comments"> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=295&amp;2=field_comments&amp;3=comment" token="Q2SyrLgQNzI8otXh_MJ-9nOsnAwULJp8Os7rXRL5HYg"></drupal-render-placeholder> </div> </div> </section> Sun, 14 Jan 2018 11:42:09 +0000 keopx 295 at https://www.keopx.net