https://linuxhub.it/rss.xml it 🔧 #howto - Installare VMware Player su Fedora 30 https://linuxhub.it/article/howto-installare-vmware-player-su-fedora-30 <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Installare VMware Player su Fedora 30</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Il <strong>player</strong> <strong>di</strong> <strong>VMware</strong> permette la creazione, gestione ed esecuzione di macchine virtuali. Il pacchetto offerto dall'azienda è vasto ed offre più strumenti, fra cui l'insieme Workstation/Professional.</p> <p>In questa guida vediamo come installare il player su Fedora 30, la quale richiede alcuni accorgimenti come la compilazione dei moduli, al momento non supportati nella versione 5 del kernel Linux.</p> <h2>Compilazione moduli</h2> <p>Per prima cosa scarichiamo ed installiamo via <strong>dnf</strong>, gli strumenti necessari alla compilazione del moduli:</p> <pre> <code>sudo dnf install git make gcc gcc-c++ kernel-devel kernel-headers</code></pre> <p>portiamoci in una locazione su cui lavorare, ad esempio nella cartella Download (Scaricati su sistemi in Italiano) del nostro utente:</p> <pre> <code>cd ~/Scaricati</code></pre> <p>ed <a href="https://github.com/mkubecek/vmware-host-modules/releases">otteniamo</a>/scompattiamo la versione più recente della patch (la 15.1.0 nel momento in cui scrivo):</p> <pre> <code>wget https://github.com/mkubecek/vmware-host-modules/archive/player-15.1.0.zip unzip player-15.1.0.zip</code></pre> <p>successivamente procediamo con la compilazione via <strong>make</strong>:</p> <pre> <code>make sudo make install </code></pre> <h2>Installazione di VMware Player</h2> <p>Otteniamo una copia gratuita del player dal <a href="https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0">portale ufficiale</a> (la 15.1.0 nel momento in cui scrivo), portiamoci alla sua locazione da terminale e rendiamo il file eseguibile:</p> <pre> <code>chmod +x VMware-Player-*.bundle</code></pre> <p>ed avviamo l'installazione:</p> <pre> <code>sudo ./VMware-Player-*.bundle</code></pre> <p>Infine una volta terminata l'installazione (per non riavviare la macchina), carichiamo manualmente il modulo <strong>vmmon</strong>:</p> <pre> <code>sudo modprobe vmmon</code></pre> <p>Possiamo ora avviare l'interfaccia del player dal menu applicazioni di sistema o semplicemente digitando <code>vmplayer</code>.</p> <p> </p> <p>Per dubbi e chiarimenti, utilizzate il nostro <a href="https://t.me/gentedilinux">gruppo Telegram</a>.</p> <p><em>Good *nix </em><strong><em>_Mirko</em></strong></p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/13" typeof="schema:Person" property="schema:name" datatype="">Mirko Brombin</span></span> <span property="schema:dateCreated" content="2019-08-20T19:42:22+00:00" class="field field--name-created field--type-created field--label-hidden">Mar, 08/20/2019 - 21:42</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> <div class="field__item"><a href="/term/fedora" property="schema:about" hreflang="it">fedora</a></div> </div> </div> Tue, 20 Aug 2019 19:42:22 +0000 Mirko Brombin 612 at https://linuxhub.it 🔧 #howto - Come fare un dual boot su Arch Linux https://linuxhub.it/article/howto-come-fare-un-dual-boot-su-arch-linux <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Come fare un dual boot su Arch Linux</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><strong>Arch Linux</strong> è una distribuzione molto amata dalla comunità, per via di una community attiva e una wiki completa, ma non per questo è esente da problemi di sorta o complicazioni nell'uso.</p> <p>Una nelle spine nel fianco di Arch Linux è <em>l'installazione</em>, a non tutti gli utenti può piacere, ma la maggior parte si ritroverà compatta su una cosa: <em>"Ma quanto è problematico fare un buon <strong>Dual Boot con Arch Linux!"</strong>.</em></p> <p>Dato che l'installazione di Arch viene fatta da terminale, i tools per il partizionamento del disco sono molto più complessi da usare per un utente normale e bisogna fare attenzione a non fare passaggi sbagliati(cosa non scontata), ma soprattutto non c'è nessun riferimento su quale siano le partizioni da formattare e quali siano quelle del sistema da mantenere per il Dual Boot.</p> <p>Io per il partizionamento procedo in un altro modo rispetto al partizionamento da terminale.</p> <h2>Configurazione delle partizioni</h2> <p>Se siamo su Windows, prima cosa procurarsi una live di <strong>GParted</strong>, così da avere uno strumento grafico per vedere e gestire le partizioni su linux, se invece siete su una distribuzione linux potete usare lo strumento di partizionamento che più vi aggrada. Dopo aver preparato la chiavetta riavviare il PC e entrare nella live.</p> <p>Ora <em>partizioniamo il disco con la GUI di GParted</em>, così da fare il tutto in modo più semplice che con il terminale e così da non rischiare di eliminare partizioni sbagliate, a questo punto prendiamo lo strumento per le note che più ci aggrada e ci appuntiamo quali sono esattamente le partizioni dove vogliamo installare il nostro Arch<em>(Es. /dev/sdx1 /, /dev/sdx2 /home)</em>. Ora riavviamo con una USB con Arch e procediamo a formattare le partizioni giuste e ovviamente, a montarle.</p> <p>Alla fine dovremmo avere una struttura del tipo:</p> <pre> <code>Disco -&gt; |-Partizione del secondo OS |-ESP del secondo OS |-Partizioni di Arch |-ESP di Arch</code></pre> <h2>Creazione del Dual Boot</h2> <p>A questo punto durante l'installazione quando installiamo grub installiamo anche <strong><em>os-prober</em></strong> e, finita l'installazione ed entrati in Arch Linux, entrando in un terminale possiamo creare il nuovo file <em>config</em> di grub:</p> <pre> <code>sudo grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-linux Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img Found Windows Boot Manager on /dev/sda3@/efi/Microsoft/Boot/bootmgfw.efi done</code></pre> <p>Così grub avrà aggiunto anche il secondo OS tra le boot entry e potremo usare il nostro <strong><em>Dual Boot con Arch.</em></strong></p> <p> </p> <p>Per dubbi e chiarimenti, utilizzate il nostro <a href="https://t.me/gentedilinux">gruppo Telegram</a>.</p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/81" typeof="schema:Person" property="schema:name" datatype="">Talebian</span></span> <span property="schema:dateCreated" content="2019-08-09T19:14:18+00:00" class="field field--name-created field--type-created field--label-hidden">Ven, 08/09/2019 - 21:14</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> </div> </div> Fri, 09 Aug 2019 19:14:18 +0000 Talebian 611 at https://linuxhub.it 🔧 #howto Installazione e configurazione di MongoDB su Debian https://linuxhub.it/article/howto-installazione-e-configurazione-di-mongodb-su-debian <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto Installazione e configurazione di MongoDB su Debian</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><span><strong>MongoDB</strong> è un database non relazionale, basato su documenti.</span><span> La sua struttura lo colloca nella classifica dei database <strong>NoSQL</strong>.</span></p> <p>In questa guida vediamo come installarlo su Debian .</p> <h2>Installazione</h2> <p>Per prima cosa dobbiamo installare il pacchetto <strong>mongodb</strong> dal gestore pacchetti:</p> <pre> <code>sudo apt install -y mongodb</code></pre> <p>questo è in realtà un metapackage che andrà ad installare un totale di 5 pacchetti:</p> <ul><li><code>mongodb-org-server</code></li> <li><code>mongodb-org-mongos</code></li> <li><code>mongodb-org-shell</code></li> <li><code>mongodb-org-tools</code></li> </ul><p>procediamo infine con l'abilitazione e l'avvio del servizio via <strong>systemctl</strong>:</p> <pre> <code>sudo systemctl enable mongodb sudo systemctl start mongodb</code></pre> <p>richiedendone quindi lo stato:</p> <pre> <code>sudo systemctl status mongodb</code></pre> <p>dovremmo ricevere un output simile al seguente:</p> <pre> <code>mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 17:55:43 BST; 38min ago Docs: man:mongod(1) Main PID: 17360 (mongod) Tasks: 16 (limit: 4915) CGroup: /system.slice/mongodb.service └─17360 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf Aug 07 17:55:43 hersy systemd[1]: Started An object/document-oriented database. </code></pre> <p>Possiamo procedere nel seguente modo per ottenere una seconda verifica del suo funzionamento:</p> <pre> <code>mongo --eval 'db.runCommand({ connectionStatus: 1 })'</code></pre> <p>ottenendo quindi un esito simile al seguente:</p> <pre> <code>MongoDB shell version: 3.2.11 connecting to: test { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 } </code></pre> <p>dove <strong>ok: 1 </strong>è la conferma che il server funziona correttamente.</p> <h2>Configurazione</h2> <p>Per impostazione base MongoDB è configurato per funzionare nella maggior parte delle casistiche, unico accorgimento è quello di modificare l'indirizzo IP a cui è consentita la connessione. Infatti di default resta in ascolto sull'indirizzo locale <strong>127.0.0.1 </strong>per consetire a MongoDB di funzionare con un IP pubblico ci basta modificare le impostazioni con il seguente comando:</p> <pre> <code>sudo nano /etc/mongodb.conf</code></pre> <p>andiamo quindi a modificare come segue:</p> <pre> <code>bind_ip = 127.0.0.1, NOSTRO_IP #port = 27017 </code></pre> <p>dove <strong>NOSTRO_IP</strong> è ovviamente il nostro indirizzo IP a cui vogliamo abilitare l'accesso.</p> <p>Ultimate le modifiche riavviamo il servizio via systemctl:</p> <pre> <code>sudo systemctl restart mongodb</code></pre> <p> </p> <p>Per dubbi e chiarimenti, utilizzate il nostro <a href="https://t.me/gentedilinux">gruppo Telegram</a>.</p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/105" typeof="schema:Person" property="schema:name" datatype="">Hersy</span></span> <span property="schema:dateCreated" content="2019-08-07T17:22:23+00:00" class="field field--name-created field--type-created field--label-hidden">Mer, 08/07/2019 - 19:22</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> <div class="field__item"><a href="/term/debian" property="schema:about" hreflang="it">debian</a></div> <div class="field__item"><a href="/term/mongodb" property="schema:about" hreflang="it">mongodb</a></div> </div> </div> Wed, 07 Aug 2019 17:22:23 +0000 Hersy 609 at https://linuxhub.it 🔧 #howto - Collegare e sincronizzare Nextcloud su desktop Linux https://linuxhub.it/article/howto-collegare-e-sincronizzare-nextcloud-su-desktop-linux <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Collegare e sincronizzare Nextcloud su desktop Linux</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Abbiamo già pubblicato nella <a href="https://linuxhub.it/node/537">Raccolta su Nextcloud</a> come installare questa piattaforma su varie distribuzioni server.</p> <blockquote> <p>Il termine Linux nel titolo di questo articolo fa riferimento in realtà a tutto l'insieme di distribuzioni compatibili (Fedora, Ubuntu, Debian, ..).</p> </blockquote> <p>Ciò che andiamo a vedere oggi è come collegare e sincronizzare Nextcloud nella nostra distribuzione desktop di tutti i giorni. I pregi di mantenere la sincronia fra desktop e server sono diversi, in primis l'immediata disponibilità dei file, il loro aggiornamento ed il poterli utilizzare quando non è presente una connessione per poi salvare le modifiche quando torniamo online.</p> <h2>Installazione</h2> <p>Il mio metodo preferito per sincronizzare i file è tramite il client ufficiale, si può poi optare per altre soluzioni come ad esempio la configurazione del percorso DAV ma non è questa la guida.</p> <p>Per prima cosa scarichiamo il client ufficiale (<a href="https://nextcloud.com/install/#install-clients">qui</a>) che su Linux viene fornito sotto forma di AppImage pronta all'uso:</p> <img alt="Download Nextcloud Linux AppImage" data-entity-type="file" data-entity-uuid="c4b13e66-c41c-4f61-8df8-c53b59c40e91" src="/sites/default/files/inline-images/howto_nextcloud_download_linuxhub.png" class="align-center" /><p>Successivamente portiamoci nella directory dove è stato scarico il file e spostiamolo nella locazione <strong>/opt </strong>di sistema:</p> <pre> <code>sudo mv Nextcloud*.AppImage /opt</code></pre> <p>ed impostiamo i permessi per l'esecuzione del file:</p> <pre> <code>sudo chmod +x /opt/Nextcloud*.AppImage</code></pre> <p>in questo modo lo possiamo eseguire come una normale applicazione.</p> <h2>Registrazione nel sistema</h2> <p>Portarsi sempre alla directory <strong>/opt</strong> o ricorrere al terminale per avviare l'applicazione, non è di certo la miglior scelta in un contesto produttivo. In questa parte di guida vediamo come registrare l'applicazione con <strong>appimaged</strong> in modo da inserire la nostra AppImage nella directory di sistema e facendola così rilevare ed inserire nei menu delle applicazioni.</p> <p>Per prima cosa scarichiamo <strong>appimaged</strong>:</p> <pre> <code>wget "https://github.com/AppImage/appimaged/releases/download/continuous/appimaged-x86_64.AppImage"</code></pre> <p>impostiamo i permessi:</p> <pre> <code>chmod +x appimaged-x86_64.AppImage</code></pre> <p>ed installiamo</p> <pre> <code>./appimaged-x86_64.AppImage --install</code></pre> <p>rieffettuiamo il login col nostro account per renderlo funzionante. Infine eseguiamo:</p> <pre> <code>appimaged</code></pre> <p> per rilevare le nostre AppImage, ora NextCloud compare nel nostro menu applicazioni.</p> <h2>Avvio col sistema</h2> <p>Per facilitarne il funzionamento, può tornare utile eseguirlo col sistema in modo da avviarlo ad ogni accensione.</p> <p>Ci sono diversi metodi per fare ciò, quello che consiglio io è sfruttare le impostazioni fornite col Desktop Environment in uso.</p> <h3>KDE</h3> <p>Nel caso di KDE possiamo procedere dal gestore Impostazioni, cerchiamo <strong>Avvio e spegnimento</strong>, una volta entrati nella sezione clicchiamo su <strong>Aggiungi programma</strong> e selezioniamo la nostra AppImage in <strong>/opt</strong>, infine salviamo le modifiche.</p> <h3>GNOME</h3> <p>Creiamo uno script <strong>sh</strong> per l'esecuzione della nostra <strong>AppImage</strong> in ~/.config/autostart:</p> <pre> <code>nano ~/.config/autostart/nextcloud.sh</code></pre> <p>col seguente contenuto:</p> <pre> <code>#!/bin/bash cd /opt ./Nextcloud.AppImage</code></pre> <p>infine salviamo.</p> <h3>XFCE/Mate</h3> <p>Dal menu delle Impostazioni, portiamoci su <strong>Avvio applicazioni</strong>, nella finestra che si apre clicchiamo su <strong>Aggiungi</strong> e selezioniamo il percorso della nostra AppImage in <strong>/opt</strong>.</p> <p> </p> <p>Per dubbi e chiarimenti, utilizzate il nostro <a href="https://t.me/gentedilinux">gruppo Telegram</a>.</p> <p><em>Good *nix </em><strong><em>_Mirko</em></strong></p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/13" typeof="schema:Person" property="schema:name" datatype="">Mirko Brombin</span></span> <span property="schema:dateCreated" content="2019-08-06T19:04:54+00:00" class="field field--name-created field--type-created field--label-hidden">Mar, 08/06/2019 - 21:04</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> <div class="field__item"><a href="/term/nextcloud" property="schema:about" hreflang="it">nextcloud</a></div> </div> </div> Tue, 06 Aug 2019 19:04:54 +0000 Mirko Brombin 608 at https://linuxhub.it 🔧 #howto - Guida all'uso di Visual Studio Code https://linuxhub.it/article/howto-guida-alluso-di-visual-studio-code <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Guida all&#039;uso di Visual Studio Code</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Chi abitualmente chiacchiera con noi sul gruppo Telegram di <a href="https://t.me/gentedilinux">gentedilinux</a> sa già che il mio editor di codice preferito è <strong>Visual Studio Code</strong>.</p> <p>Sono tentato di chiamarlo "Ambiente di Sviluppo" (o <strong>IDE</strong>) poichè nonostante sia pubblicizzato come editor di codice estendibile, è in realtà talmente supportato dalla community da essere uno degli strumenti di programmazione più avanzati e completi che io conosca.</p> <p>Visual studio code gode di un ottima documentazione fornita ufficialmente, di una ottima community e di supporto su tutti i sistemi operativi. Per questo motivo oggi ho deciso di elencarvi quali sono le motivazioni e gli strumenti che potete configurare sul vostro pc per avere un ambiente che si avvicina molto ad un ambiente di sviluppo integrato. Eviterò cose ovvie come le estensioni, per il quale il software ha già una serie di meccanismi che ne semplificano la scoperta e la l'installazione.</p> <p>Tutti gli esempi li farò usando java come linguaggio d'esempio.</p> <h2>Workspace setting</h2> <p>Il primo passo è sicuramente quello di impostare quelle che sono le impostazioni comuni per il vostro workspace. Apriamo quindi la cartella dove siamo intenzionati a inserire i file del nostro progetto e tramite menu bar selezioniamo <strong>File-&gt;Save Workspace As-&gt;.</strong>.. e diamo un nome al nostro file.</p> <p>Ci si aprirà quindi un editor sul file creato, ci troviamo davanti un file json, non troppo difficile tranquilli, anche perchè è già parzialmente compilato. Inseriamo nella voce path, nelle virgolette che seguono i due punti, il percorso completo della cartella dei nostri sorgenti.</p> <p>L'ambiente ora ci mostrerà nell'explorer solo quei file!</p> <h2>Code Snippet</h2> <p>Anche chiamati code template da altri IDE, sono quegli strumenti che tramite un abbreviazione a scelta inseriscono dei blocchi di codice.</p> <p>Per farvi un esempio provate a strivere sysout o syserr e premere ctrl-spazio. vi si aprirà un layout che vi proporrà di sostituire quell'abbreviazione con System.out.println(); o System.err.println();</p> <p>Comodo vero?<br /> Vediamo come impostare i nostri snippet!</p> <p>Dalla menu bar accediamo a <strong>File-&gt;preferences-&gt;user snippet</strong>, qui possiamo decidere se creare delle abbreviazioni globali o solo per la cartella src. Io sceglierei quelle globali.<br /> Ci troviamo anche qui un file json, se odiavate questa tipologia di file beh mi spiace.</p> <p>Dovrete scrivere gli snippet tra parentesi graffe e separate ognuno da virgola, tutto racchiuso tra le due parentesi graffe già presenti nel file.</p> <p>Studiamo la struttura di un singolo snippet:</p> <pre> <code>"NOME SNIPPET":{ "prefix": "abbreviazione", "body":[ "linea di codice", "altra linea di codice", "va beh avete capito..." ], "description": "descrizione se volete" }</code></pre> <p>Dunque non mi soffermerò su cose ovvie come descrizione e nome dello snippet, vediamo gli altri due campi invece.</p> <p>Il "prefix" è semplicemente quella frase che attiverà lo snippet, nel caso in esempio scrivendo abbreviazione e premendo ctrl-spazio, o premendo prima la combinazione per poi cercare la parola chiave in seguito, potrete assistere alla sostituzione del blocco di codice.</p> <p>Inserendo nel blocco 'body' le variabili <strong>$1,$2</strong>...etc avrete dei tab-blocking, cioè segnaposti che vi permetteranno di compilare dei campi in successione premendo tab per spostarvi da uno all'altro. Ancora potete usare alcune variabili particolari per creare combinazioni veramente potenti, come ottenere all'interno del blocco il numero di riga, la data, il nome del file o del testo precedentemente selezionato. Altri dettagli nella documentazione [https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables]</p> <p>Ecco un esempio di snippet:</p> <pre> <code>"System exit":{ "prefix": "sysex", "body":[ "System.out.println(\"${1:messaggio_uscita}\");", "System.exit(${TM_CURRENT_WORD:codice_uscita});" ], "description": "Exit method" }</code></pre> <p>Questo snippet consente di sostituire all'abbreviazione sysexit la stampa di un messaggio e l'uscita di un programma java. Se prima di scriverlo viene selezionato un numero questo si sostituisce come codice di uscita all'interno del metodo che l'attua.</p> <h2>Compilazione</h2> <p>L'autocompilazione del codice su un IDE è una delle cose sicuramente più importanti che ci sia per evitare inutili perdite di tempo a chi sviluppa.</p> <p>Su visual studio code si possono impostare i così detti "task", cioè l'auto esecuzione di alcuni comandi tramite un semplice click.<br /> Per creare un task andiamo su <strong>terminal-&gt;run task</strong> ci chiederà se vogliamo creare un nuovo task e che tipo di task, selezioniamo quindi "other". Si aprirà un editor con un file json che rappresenterà il nostro task, inizialmente il template riporterà un task bash semplice, un echo.</p> <pre> <code>{ "version": "2.0.0", "tasks": [ { "label": "echo", "type": "shell", "command": "echo Helloworld" } ] }</code></pre> <p>Non è difficile capire che questo task semplicemente esegue una stampa in bash della stringa hello world ma analizziamolo meglio:</p> <ul><li>label: indica il nome del task</li> <li>type: attraverso questo parametro diremo a vscode che il comando eseguito è un comando da avviare con l'interprete dei comandi predefinito</li> <li>command: potete inserire qua qualunque comando vogliate interpretabile tramite shell, oppure il percorso di uno script</li> </ul><p>Ora capirete da qua che questo approccio ha già infiniti risvolti, perchè già definendo uno script in particolare con i comandi che ci servono per compilare il nostro progetto abbiamo già tutte le possibilità che cerchiamo.</p> <p>Possiamo concatenare più task aggiungendo una virgola dopo la parentesi graffa che segue command nell'esempio... così:</p> <pre> <code>{ "version": "2.0.0", "tasks": [ { "label": "echo", "type": "shell", "command": "echo Helloworld" }, { "label": "cat", "type": "shell", "command": "cat Helloworld" } ] }</code></pre> <p>Questo ci fa capire che il blocco del task vero e proprio è quello più interno.</p> <p>Ma noi siamo persone brutte, e vogliamo fare di più... esistono delle variabili particolari nei task che possono essere utilizzati per richiamare particolari testi. ad esempio la cartella di lavoro o il percorso del file, quindi troviamo la varibile che più ci aggrada in questa pagina [https://code.visualstudio.com/docs/editor/variables-reference] e scriviamo i nostri task complessi, ecco a voi quello che uso io per compilare in java:</p> <pre> <code>{ "label": "compila ", "type": "shell", "command": "javac ${file} ${workspaceFolder}/../bin" }</code></pre> <p>Si può fare molto di più con i task di VSCode, come le attività di compilazione continua, oppure i build task. Ma lascio queste scoperte a voi ricordandovi la documentazione.</p> <h2> </h2> <p>La stesura completa di tutte le possibilità che si hanno con questo software è ancora lunga, ci sono altre potenzialità come il debug. Però vista la corposità dell'articolo lasciamo queste scoperte ad un possibile futuro approfondimento.</p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/29" typeof="schema:Person" property="schema:name" datatype="">PsykeDady</span></span> <span property="schema:dateCreated" content="2019-08-04T15:19:43+00:00" class="field field--name-created field--type-created field--label-hidden">Dom, 08/04/2019 - 17:19</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> </div> </div> Sun, 04 Aug 2019 15:19:43 +0000 PsykeDady 607 at https://linuxhub.it 🔧 #howto - Installazione e configurazione di MongoDB su Centos 7 https://linuxhub.it/article/howto-installazione-e-configurazione-di-mongodb-su-centos-7 <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Installazione e configurazione di MongoDB su Centos 7</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><span><strong>MongoDB</strong> è un database non relazionale, basato su documenti.</span><span> La sua struttura lo colloca nella classifica dei database <strong>NoSQL</strong>.</span></p> <p>In questa guida vediamo come installarlo su Centos 7.</p> <h2>Preparazione repository</h2> <p>Per prima cosa aggiungiamo la repository ufficiale, in modo da ottenere una versione aggiornata.</p> <p>Creiamo il file <strong>mongodb-org.repo </strong>in locazione <strong>/etc/yum.repos.d/</strong> col nostro editor preferito:</p> <pre> <code>sudo nano /etc/yum.repos.d/mongodb-org.repo</code></pre> <p>col seguente contenuto:</p> <pre> <code>[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc </code></pre> <p>infine salviamo il file.</p> <h2>Installazione</h2> <p>Procediamo all'installazione come con qualunque altro pacchetto, via package-manager <strong>yum</strong>:</p> <pre> <code>sudo yum install mongodb-org</code></pre> <p>in questo modo verranno installati i seguenti pacchetti:</p> <ul><li><code>mongodb-org-server</code></li> <li><code>mongodb-org-mongos</code></li> <li><code>mongodb-org-shell</code></li> <li><code>mongodb-org-tools</code></li> </ul><p>Una volta installato avviamo il servizio con <strong>systemctl</strong>:</p> <pre> <code>sudo systemctl start mongod</code></pre> <p>Inizialmente mongodb rimarrà in ascolto sulla porta 27017, possiamo esserne sicuri digitando:</p> <pre> <code>sudo tail /var/log/mongodb/mongod.log</code></pre> <p>subito dopo aver avviato il processo con systemctl, in questo modo otteniamo un output simile:</p> <pre> <code>[initandlisten] waiting for connections on port 27017</code></pre> <p>In questo momento mongodb è installato e pronto all'uso.</p> <h2>Configurazione</h2> <p>Possiamo modificare le impostazioni di mongodb dal file in locazione <strong>/etc/mongod.conf</strong>.</p> <p>Normalmente la configurazione base è ottima per qualunque scopo generale, ciò che consiglio è di attivare la sezione <strong>security</strong>, eliminandone il commento:</p> <pre> <code>security: authorization: enabled</code></pre> <p>in questo modo entrerà in gioco il sistema di gestione dei ruoli, senza questo qualunque utente potrà accedere ai vostri database senza necessità di permessi speciali.</p> <p>Una volta modificata la configurazione, riavviamo semplicemente:</p> <pre> <code>sudo systemctl restart mongod</code></pre> <p> </p> <p>Per dubbi e chiarimenti, utilizzate il nostro <a href="https://t.me/gentedilinux">gruppo Telegram</a>.</p> <p><em>Good *nix </em><strong><em>_Mirko</em></strong></p> <p> </p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/13" typeof="schema:Person" property="schema:name" datatype="">Mirko Brombin</span></span> <span property="schema:dateCreated" content="2019-08-03T15:32:11+00:00" class="field field--name-created field--type-created field--label-hidden">Sab, 08/03/2019 - 17:32</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> <div class="field__item"><a href="/term/centos" property="schema:about" hreflang="it">centos</a></div> <div class="field__item"><a href="/term/mongodb" property="schema:about" hreflang="it">mongodb</a></div> </div> </div> Sat, 03 Aug 2019 15:32:11 +0000 Mirko Brombin 606 at https://linuxhub.it 🔧 #howto - Cifrare file e cartelle con CryFS e ECryptFS https://linuxhub.it/article/howto-cifrare-file-e-cartelle-con-cryfs-e-ecryptfs <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Cifrare file e cartelle con CryFS e ECryptFS</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>In questa guida vediamo due metodi per tenere al sicuro i nostri file, nello specifico <strong>CryFS</strong> e <strong>ecryptfs</strong>.</p> <p>Personalmente, consiglio il primo metodo poiché permette l'interazione con i servizi cloud (come Dropbox), tuttavia se volete sapere ad esempio come cifrare la vostra intera home con il secondo metodo, su <a href="https://github.com/PsykeDady/Archlinux_installazione">github</a> trovate una sezione nella mia guida di installazione di Archlinux (dovrebbe valere anche per altre distro).</p> <blockquote> <p>Consiglio di fare le prime prove con dati di poco rilievo per evitare di comprometterne il contenuto.</p> </blockquote> <h2>ecryptFS</h2> <p>Iniziamo con <strong>ecryptfs</strong> e supponiamo di dover cifrare la cartella <em>/percorso/SegretiDiStato</em>.</p> <p>Installiamo dunque i pacchetti necessari dal package manager di sistema:</p> <pre> <code># Debian/Ubuntu e derivate sudo apt install ecryptfs-utils keyutils rsync lsof # RHEL/Centos e derivate sudo yum install ecryptfs-utils keyutils rsync lsof # Fedora e derivate sudo dnf install ecryptfs-utils keyutils rsync lsof</code></pre> <p>Procediamo con l'abilitazione del modulo con <strong>modprobe</strong>:</p> <pre> <code>sudo modprobe ecryptfs</code></pre> <p>rendiamo privata la nostra cartella di interesse:</p> <pre> <code>chmod 700 /percorso</code></pre> <p>e procediamo con ecryptfs:</p> <pre> <code>sudo mount -t ecryptfs /percorso /percorso</code></pre> <p>questo comando servirà anche a decifrare la cartella ogni qual volta vorrete usarla.</p> <p>Per cifrare e rendere quindi inaccessibile la locazione, digitiamo:</p> <pre> <code>sudo umount /percorso</code></pre> <p>Possiamo rendere più semplice l'operazione prendendo l'ultima riga del file <strong>/etc/mtab</strong>:</p> <pre> <code>tail -1 /etc/mtab</code></pre> <p>copiamo tutte le opzioni che terminano per <strong>ecryptfs</strong> (tranne <strong>ecryptfs_sig</strong>) e creiamo il seguente script:</p> <pre> <code>sudo mount -t ecryptfs /percorso /percorso -o &lt;tutte le opzioni separate da ,&gt;</code></pre> <p>dopo di ché usate questo script per montare la cartella!</p> <h2>CryFS</h2> <p>Procediamo con l'installazione di <strong>cryfs</strong>:</p> <pre> <code># Debian/Ubuntu e derivate sudo apt install cryfs # RHEL/Centos e derivate sudo yum install cryfs # Fedora e derivate sudo dnf install cryfs</code></pre> <p>Facciamo chiarezza ad alcune definizioni prima di procedere:</p> <ul><li><strong>mountpoint</strong> è dove scriverete e leggerete i vostri file</li> <li><strong>basepoint</strong> è dove cryfs salverà le informazioni riguardanti i dati e la cifratura.</li> </ul><p>Supponendo sempre di dover cifrare <strong>/percorso</strong>, creiamo un'altra locazione da usare come <em>basepoint</em> (consiglio di crearla nascosta)</p> <pre> <code>mkdir .SDSb </code></pre> <blockquote> <p>Possiamo comunque avviare Cryfs senza creare il percorso in anticipo, la creerà lo strumento stesso.</p> </blockquote> <p>procediamo con:</p> <pre> <code>cryfs cartellabase cartellamount</code></pre> <p>e nel nostro caso specifico:</p> <pre> <code>cryfs /percorso</code></pre> <p>ci verrà chiesto se vogliamo le impostazioni di default e quale password vogliamo. Tra le opzioni disponibili ci sono metodo di cifratura, a quanti bit e altro.</p> <p>Possiamo smontare la locazione con:</p> <pre> <code>cryfs-umount /percorso</code></pre> <p>Se utilizzate cryfs in combinazione a dropbox, ricordate di inserire dentro la cartella del cloud la directory base e non quella di mount!</p> <pre> <code>cryfs Dropbox/.cartellabase Altropercorso/cartellaMount</code></pre> <p>così facendo eviterete inutili problematiche di sincronizzazione continua.</p> <p>Esistono comunque dei tool grafici (come vault di plasma) che consentono di usare questi tool senza doversi appoggiare al terminale, ma conoscere come funzionano e come configurare questi tool vi renderà possibile correggere eventuali errori delle GUI.</p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/29" typeof="schema:Person" property="schema:name" datatype="">PsykeDady</span></span> <span property="schema:dateCreated" content="2019-07-27T08:11:54+00:00" class="field field--name-created field--type-created field--label-hidden">Sab, 07/27/2019 - 10:11</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> </div> </div> Sat, 27 Jul 2019 08:11:54 +0000 PsykeDady 603 at https://linuxhub.it 🔧 #howto - Gesture meravigliose e come crearle https://linuxhub.it/article/howto-gesture-meravigliose-e-come-crearle <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">🔧 #howto - Gesture meravigliose e come crearle</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Invidiabili le gesture di MacOS?<br /> Vediamo come ottenere la stessa esperienza sulla nostra distribuzione Linux preferita!</p> <p>In ambienti Linux possiamo trovare (nel bene e nel male) degli strumenti per la configurazione delle gesture del nostro touchpad. Nel particolare quello di cui vi vorrei parlare oggi è <strong>libinput-gestures</strong>, usato oltretutto da GNOME nella sua configurazione base (anche su Wayland).</p> <h2>Installazione</h2> <p>Per prima cosa installiamo <strong>libinput</strong> e <strong>libinput-gestures</strong>:</p> <pre> <code># Debian/Ubuntu e derivate sudo apt install libinput libinput-gestures # Fedora e derivate sudo dnf install libinput libinput-gestures</code></pre> <p>è inoltre consigliata l'installazione di <strong>wmctrl</strong> e <strong>xdotool</strong>:</p> <pre> <code># Debian/Ubuntu e derivate sudo apt install wmctrl xdotool # Fedora e derivate sudo dnf install wmctrl xdotool</code></pre> <h2>Preparazione</h2> <p>Prima di procedere con la pratica, vediamo quali sono i risultati che vogliamo ottenere, condivido quelle che sono le mie intenzioni ed i risultati che ho ottenuto:</p> <ul><li>swipe alto con 4 dita: nascondi desktop</li> <li>swipe basso con 4 dita: nascondi desktop</li> <li>swite a sinistra con 4 dita: prossimo desktop </li> <li>swite a destra con 4 dita: desktop precedente</li> <li>swipe in alto con 3 dita: mostra i desktop</li> <li>swite in basso con 3 dita: mostra le finestre aperte in questo desktop</li> <li>swite a sinistra con 3 dita: prossimo desktop </li> <li>swite a destra con 3 dita: desktop precedente</li> <li>pinch verso l'esterno con due dita: ingrandisci il desktop</li> <li>pinch verso l'interno con due dita: rimpicciolisci il desktop</li> </ul><blockquote> <p>Da tenere in considerazione che le vostre possibilità sono altamente influenzate dal DE che userete. Infatti con xfce4 ad esempio non vi è modo di presentare i desktop, e per presentare le finestre avrete bisogno di altri tool come <strong>skippy-xd</strong>.</p> <p>Quindi scegliete in base alle possibilità offerte dal vostro DE.</p> </blockquote> <h2>Configurazione</h2> <p>Procediamo con la creazione (o modifica) del file:</p> <pre> <code>$(HOME)/.config/libinput-gestures.conf</code></pre> <p>associando ad ogni azione un comando, nel seguente formato:</p> <pre> <code>&lt;azione touchpad&gt; &lt;comando&gt;</code></pre> <p>Il mio file di configurazione, in base alle intenzioni precedentemente citate, è il seguente:</p> <pre> <code>gesture swipe up 4 wmctrl -k on gesture swipe down 4 wmctrl -k off gesture swipe left 4 xdotool key ctrl+alt+n gesture swipe right 4 xdotool key ctrl+alt+p gesture swipe up 3 xdotool key super+w gesture swipe down 3 xdotool key super+s gesture swipe left 3 xdotool key ctrl+alt+n gesture swipe right 3 xdotool key ctrl+alt+p gesture pinch out 2 xdotool key super+shift+p gesture pinch in 2 xdotool key super+shift+m</code></pre> <p>possiamo trovare maggiori informazioni e combinazioni dal file fornito di base al percorso:</p> <pre> <code>/etc/libinput-gestures.conf</code></pre> <p>Nell'esempio qui sopra di configurazione, il comando <strong>xdotool key</strong>, consente sotto <strong>Xorg</strong> di inviare una determinata combinazione di tasti, come se li aveste realmente premuti, è importante quindi impostare delle shortcut nel caso in cui voleste sfruttare questa configurazione.</p> <p>Concludo questa guida con alcune considerazioni:</p> <ul><li>Prima di tutto:<br /><strong>libinput-gestures </strong>va avviato con il sistema. quindi scrivetevi un file .desktop ( o usate le impostazioni di avvio del vostro DE) richiamando <strong>lininput-gestures</strong> come comando.</li> <li>non è purtroppo possibile con xorg e libinput in coppia variare le impostazioni in base all'accelerazione (ad esempio "pizzicare" maggiormente per ingrandire), esistono comunque altri gestures-manager come "<strong>fusuma</strong>" che permettono di farlo.</li> <li>per capire se funziona o no libinput, potete usare<strong> libinput-debug-events</strong> e <strong>libinput-debug-gui</strong>, il loro utilizzo è abbastanza semplice.</li> <li>consiglio inoltre ad ogni riavvio da sospensione o ibernazione di digitare <strong>libinput-gestures-setup restart </strong>per riavviare il servizio, poichè è normale che smetta di funzionare.</li> </ul><p> </p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/29" typeof="schema:Person" property="schema:name" datatype="">PsykeDady</span></span> <span property="schema:dateCreated" content="2019-07-20T08:35:25+00:00" class="field field--name-created field--type-created field--label-hidden">Sab, 07/20/2019 - 10:35</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> </div> </div> Sat, 20 Jul 2019 08:35:25 +0000 PsykeDady 602 at https://linuxhub.it 🔧 #howto - Installazione e uso di gtop https://linuxhub.it/article/howto-installazione-e-uso-di-gtop <span property="schema:name" class="field field--name-title field--type-string field--label-hidden"> 🔧 #howto - Installazione e uso di gtop</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>In questa guida vediamo come installare <strong>gtop</strong> oltre che ad una breve introduzione a questo sistema di monitoraggio basato su NodeJS.</p> <h2>Installazione di NodeJS</h2> <p>Inanzitutto è essenziale installare NodeJS per il funzionamento di <strong>gtop</strong>.<br /> Abbiamo scritto una guida semplificata in merito a cui vi rimando <a href="https://linuxhub.it/article/howto-installare-node-version-manager-nvm-su-debian-9 ">qui</a>.</p> <h2>Installazione</h2> <p>L'installazione è semplice grazie all'utilizzo di npm, il package manager affiancato a NodeJS, procediamo quindi all'installazione in questo modo:</p> <pre> <code>npm install gtop -g</code></pre> <h3>Utilizzo</h3> <p>Una volta installato, possiamo banalmente avviarlo da comando:</p> <pre> <code>gtop</code></pre> <p>a questo punto dovremmo ricevere un output simile al seguente:</p> <img alt="gtop" data-entity-type="file" data-entity-uuid="77b82af3-7e90-4b98-9c14-572d4bbbba60" src="/sites/default/files/inline-images/GTOP.PNG" class="align-center" /><p>Vediamo ora qualche opzione interessante per sfruttare al meglio questa dashboard, digitando:</p> <ul><li><strong>p</strong> filtriamo i processi dal loro ID</li> <li><strong>c</strong> filtriamo per uso della CPU</li> <li><strong>m</strong> per memoria usata</li> </ul><p>digitiamo infine <strong>q</strong> per uscire dal programma.</p> <p> </p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/105" typeof="schema:Person" property="schema:name" datatype="">Hersy</span></span> <span property="schema:dateCreated" content="2019-07-18T19:15:12+00:00" class="field field--name-created field--type-created field--label-hidden">Gio, 07/18/2019 - 21:15</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/howto" property="schema:about" hreflang="it">#howto</a></div> <div class="field__item"><a href="/term/nodejs" property="schema:about" hreflang="it">nodejs</a></div> </div> </div> Thu, 18 Jul 2019 19:15:12 +0000 Hersy 601 at https://linuxhub.it ☕ #pausacaffé – La nave del 32 bit sta per affondare! Riflessioni, storia e analisi (parte 2) https://linuxhub.it/article/pausacaffe-la-nave-del-32-bit-sta-affondare-riflessioni-storia-e-analisi-parte-2 <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">☕ #pausacaffé – La nave del 32 bit sta per affondare! Riflessioni, storia e analisi (parte 2)</span> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>L'articolo che segue rappresenta la seconda parte della #pausacaffè presente <a href="https://linuxhub.it/article/pausacaffe-la-nave-del-32-bit-sta-affondare-riflessioni-storia-e-analisi-parte-1 ">qui</a>.<br /> Settimana prossima seguirà l'articolo finale.</p> <h2>Introduzione</h2> <p>Ci si tiene a sottolineare che la maggior parte delle analisi deriva da un flusso logico personale maturato attraverso gli studi effettuati e attraverso l'esperienza, nessun opinione vuole quindi essere presa <strong>in modo oggettivo, assolutamente per vera o inequivocabilmente così</strong>.<br /> Buona lettura.</p> <p>Spero che, chi di voi abbia letto l'articolo settimana scorsa, abbia maturato una propria opinione (che sottolineo, non deve essere in linea con la mia, ognuno deve essere libero di pensare ciò che vuole o ciò che gli conviene) perché oggi invece vi esporrò la mia.</p> <h2>Parte 2</h2> <p>È normale che lo sviluppo di software commerciale a 64 bit non potesse iniziare 30 anni fa, da un punto di vista del rapporto guadagno/lavoro era sconveniente, e non si sapeva quanti vantaggi poteva davvero portare l'adozione di questa architettura, ne quando si sarebbero visti questi vantaggi.</p> <p>Quindi parliamo degli anni che vanno dal 2003 ( ovvero quando uscirono i primi athlon64 ed apple introdusse i primi 64 bit basati su architettura powerpc di ibm) in poi. Al tempo tuttavia i sistemi operativi non erano pronti a questa innovazione e visto che anche windows XP due anni prima sviluppò un sistema di compatibilità che permetteva di avviare applicativi a 32 bit, si decise quindi che la strada da percorrere fino a stabilità fosse quella di sfruttare la retrocompatibilità.</p> <h3>Il mio pensiero</h3> <p>Ecco ora che introduco il mio pensiero: questo fu il più grande accomodamento dei <strong>grossi <em>sederoni</em> da programmatori</strong>.</p> <p>Infatti anche volendo aggiungere altri sei anni per la diffusione dei sistemi operativi compatibili ( nel 2009 usciva windows 7 64 bit pienamente stabile) nei 10 anni successivi lo sviluppo di software con la nuova architettura pur avendo subito un accelerazione non ha sostituito lo sviluppo dei 32 bit. Ancora oggi vi sono team  che ci sviluppano, questo è giustificato spesso dallo svantaggio che provocano i puntatori a 64 bit, che occupano più spazio e saturano prima la cache (problemi che possono essere facilmente aggirati sfruttando più tipi di base rispetto a puntatori).</p> <p>Prelevare un vantaggio significativo dalla nuova architettura richiede un maggiore sforzo di sviluppo e sicuramente una manutenzione più difficile del software che diventa anche meno modulare. </p> <p>La mia opinione è quindi che la comodità dovuta alla retrocompatibilità dei processori abbia reso l'abbandono del 32 bit una realtà che ancora oggi non si è verificata, anche causa di una grande mole di librerie e programmi attualmente molto usati e mai aggiornati alle versioni a 64 bit.</p> <p>Non solo: parte della colpa deriva sicuramente da due tipologie di utenti: quelli che ancora oggi sperano di riesumare ed utilizzare vecchi calcolatori precedenti a questa tecnologia ( o comunque nati in un periodo in cui non era diffusa su tutti i pc) e quelli che ciechi di fronte al fatto che il loro computer è estremamente ottimizzato a girare software con nuova architettura sono troppo attaccati a quei software ancora non aggiornati e alle giustificazioni di chi li produce. Questi utenti hanno incoraggiato giocoforza la resistenza sul mercato di queste vecchie tecnologie.</p> <p>Oggi però, <em>finalmente</em>, <strong>il 32 bit sta affondando</strong>. Tanti sono i casi dell'abbandono dei relativi progetti, che richiedevano sforzi e risorse inutili da parte di chi li manteneva (tempo tolto all'incremento delle performance o delle features di nuovi prodotti). Mi chiedo però quando si arriverà ad uno stacco completo senza essere intralciati da aziende e utenti nostalgici che promuovono giochi e software che per necessitano ancora delle vecchie librerie...</p> <p>Nel prossimo, e ultimo, articolo vi introdurrò in maniera più tecnica degli esempi con tempi di esecuzione di codici c, asm a 32 e asm a 64 che dovrebbero chiarire quali sono i pro e i contro di sviluppare con una o l'altra architettura</p></div> <span rel="schema:author" class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/29" typeof="schema:Person" property="schema:name" datatype="">PsykeDady</span></span> <span property="schema:dateCreated" content="2019-07-14T08:06:40+00:00" class="field field--name-created field--type-created field--label-hidden">Dom, 07/14/2019 - 10:06</span> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field__label">Etichette</div> <div class="field__items"> <div class="field__item"><a href="/term/pausacaffe" property="schema:about" hreflang="it">#pausacaffè</a></div> </div> </div> Sun, 14 Jul 2019 08:06:40 +0000 PsykeDady 599 at https://linuxhub.it