www.keopx.net https://www.keopx.net/ es [DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9 https://www.keopx.net/talk/drupalcampspain2022-introduccion-al-desarrollo-de-modulos-en-drupal-9 <span>[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9</span> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Sáb, 04/06/2022 - 18:30</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Taller realizado en la <a href="https://2022.drupalcamp.es/sessions/tallerworkshop-introduccion-al-desarrollo-de-modulos-en-drupal-9">DrupalCamp Spain de 2022</a> centrado en el desarrollo para <a href="https://www.drupal.org">Drupal</a> 9. En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.</p> <p>Se explicara por encima algunos conceptos.</p> <p>Puedes facilitar lo que deseas encontrarte en el taller, de esta manera intentare <strong>ajustarme a lo que los asistentes</strong> desearían conocer :)</p> <ul><li><strong>Formulario</strong>:<a href="https://docs.google.com/forms/d/e/1FAIpQLSdCblnLhdSCxtrG1gbiBJbQ7baZNH3x6yBFlL9lJpn5LCxnwQ/viewform"> formulario</a></li> </ul><p>Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.</p> <p>Se proporciona una OVA (VirtualBox 6.1) para facilitar el desarrollo.</p> <p><strong>Recomendación</strong>:</p> <ul><li><span>Drupal 9. Instalado y funcionando.</span></li> <li><span>IDE de desarrollo. En la maquina virtual estara disponible Code.</span></li> <li><span>Se recomienda usar la maquina virtual para facilitar la sesión.</span></li> </ul><p>Algunos módulos que veremos, por ello es aconsejable instalarlos.</p> <ul><li>Modulo Devel</li> <li>Modulo Coder</li> <li>Módulo Examples</li> </ul><p>Están disponibles maquinas virtuales o instaladores para facilitar:</p> <ul><li>Docker (+ Lando) / Maquina virtual (VitualBox 6.1)</li> <li><a href="http://drupalcamp2022.keopx.net/">http://drupalcamp2022.keopx.net/</a> (recomendado)</li> </ul><p>Presentación</p> <ul><li><a href="http://drupalcamp2022.keopx.net/">http://drupalcamp2022.keopx.net/</a></li> </ul><p> </p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/fbXuPOFjqfMgWT" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="595"></iframe></p> <div class="text-align-center" style="margin-bottom:5px"><strong><a href="//www.slideshare.net/keopx/drupalcampspain2022-introduccin-al-desarrollo-de-mdulos-en-drupal-9" target="_blank" title="[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9">[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9</a> </strong> from <strong><a href="//www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p> </p> </div> <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/drupal-9" hreflang="es">Drupal 9</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</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/desarrollo" hreflang="es">Desarrollo</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/drupal-9" hreflang="es">Drupal 9</a></div> <div class="field__item"><a href="/tag/modules" hreflang="es">Modules</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/contribuir" hreflang="es">Contribuir</a></div> </div> </div> Sat, 04 Jun 2022 16:30:00 +0000 keopx 309 at https://www.keopx.net 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/exploring-img-files-linux-and-create-your-custom-one#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/debian-10-buster-killer-1535-wireless-0#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/debian-10-buster-killer-1535-wireless#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/debian-10-buster-intel-9260-wireless#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/debian-9-stretch-intel-9260-wireless#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/debian-9-stretch-killer-1535-wireless#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/instalacion-y-configuracion-de-java#comments 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 clearfix 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 data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <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 https://www.keopx.net/blog/crear-claves-gpg2-en-gnulinux-con-ed25519#comments [DrupalCampSpain2018] CircleCI https://www.keopx.net/talk/drupalcampspain2018-circleci <span> [DrupalCampSpain2018] CircleCI</span> <span><span lang="" about="/users/keopx" typeof="schema:Person" property="schema:name" datatype="">keopx</span></span> <span>Mar, 29/05/2018 - 11:15</span> <div class="text-content clearfix 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>Una breve entrada a CircleCI y como implementarla en nuestros proyectos de Drupal 8.</p> <p>Veremos como podemos apoyarnos en herramientas adicionales como Robo, Docker, etc. para facilitar algunas de las tareas y procesos.</p> <p>Me basaré en el ejemplo que publico <a href="https://web.archive.org/web/20210118105804/https://twitter.com/juampynr">Juampy</a> para Lullabot: <a href="https://web.archive.org/web/20210118105804/https://www.lullabot.com/articles/continuous-integration-drupal-8-circleci">https://www.lullabot.com/articles/continuous-integration-drupal-8-circleci</a></p> <p>También comentare algunos tips que he visto y que pueden ayudar a facilitar el entendimiento.</p> <p class="text-align-center"> <iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="https://web.archive.org/web/20210118105804if_/https://www.slideshare.net/slideshow/embed_code/key/j4xn9pTVmhPRz8" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="595"></iframe></p> <div class="text-align-center" style="margin-bottom:5px"><strong><a href="https://www.slideshare.net/keopx/drupalcampspain2018-circleci" target="_blank" title="[DrupalCampSpain2018] CircleCI">[DrupalCampSpain2018] CircleCI</a> </strong> from <strong><a href="https://web.archive.org/web/20210118105804/https://www.slideshare.net/keopx" target="_blank">Keopx </a></strong></div> <p>Presentación:</p> <ul><li><a href="https://web.archive.org/web/20210118105804/https://2018.drupalcamp.es/sessions/integracion-continua-con-circleci-para-drupal-8-regiguren">https://2018.drupalcamp.es/sessions/integracion-continua-con-circleci-para-drupal-8-regiguren</a></li> </ul></div> </div> <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/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> <div class="field__item"><a href="/categoria/circleci" hreflang="es">CircleCI</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/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupalcamp" hreflang="es">DrupalCamp</a></div> <div class="field__item"><a href="/tag/integracion-continua" hreflang="es">Integración continua</a></div> <div class="field__item"><a href="/tag/robo" hreflang="es">Robo</a></div> <div class="field__item"><a href="/tag/behat" hreflang="es">Behat</a></div> <div class="field__item"><a href="/tag/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/tag/docker" hreflang="es">Docker</a></div> </div> </div> Tue, 29 May 2018 09:15:43 +0000 keopx 300 at https://www.keopx.net