<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>link &amp;mdash; Cyberdyne Systems</title>
    <link>https://noblogo.org/aytin/tag:link</link>
    <description>&#34;Fare o non fare. Non c&#39;è provare!&#34;</description>
    <pubDate>Tue, 22 Sep 2026 19:25:36 +0000</pubDate>
    <item>
      <title>Gestire link con update-alternatives</title>
      <link>https://noblogo.org/aytin/gestire-link-con-update-alternatives</link>
      <description>&lt;![CDATA[pills-tux&#xA;&#xA;Le shell nix sono delle miniere di chicche utili per l&#39;amministratore di sistema.&#xA;&#xA;Fra queste, ce n&#39;è una che ho sempre trovato particolarmente intrigante ed è update-alternatives (o alternatives nei sistemi redhat-based).&#xA;&#xA;Questo comando permette di gestire link simbolici e risulta comodo quando  ci sono gruppi di oggetti (alternative) a cui deve afferire il link.&#xA;!--more--&#xA;Ad es. supponiamo di avere 4 oggetti e un link che, in base alla necessità, possa puntare ad uno dei 4.&#xA;&#xA;Si tratta quindi di avere:&#xA;&#xA;/path/oggetto/1&#xA;/path/oggetto/2&#xA;/path/oggetto/3&#xA;/path/oggetto/4&#xA;&#xA;Se ad es. volessi un link generico che punti prima al 2, poi al 4 , poi all&#39;1 e poi di nuovo al 2, una gestione ordinaria di detto link avverrebbe grossomodo così:&#xA;ln -s /path/oggetto/2 /path/link/oggetto&#xA;...&#xA;rm /path/link/oggetto&#xA;ln -s /path/oggetto/4 /path/link/oggetto&#xA;...&#xA;rm /path/link/oggetto&#xA;ln -s /path/oggetto/1 /path/link/oggetto&#xA;...&#xA;rm /path/link/oggetto&#xA;ln -s /path/oggetto/1 /path/link/oggetto&#xA;Creo un link, lo cancello, lo ricreo, lo cancello... e così via.&#xA;&#xA;Tutto questo può essere semplificato con update-alternatives, che centralizza questo tipo di gestione dei link, creando tutti i possibili link per poi eleggere il &#34;link leader&#34; (il link effettivamente attivo) in base all&#39;esigenza.&#xA;Aggiungere alternatives&#xA;Per creare il gruppo di alternative si usa --install:&#xA;sintassi&#xA;--install pathlink nome pathfisico priorità&#xA;la priorità è un intero, l&#39;intero più grande diventa il link di default&#xA;sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/1 100&#xA;sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/2 110&#xA;sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/3 150&#xA;sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/4 120&#xA;Attivare un alternative (elezione del link leader)&#xA;Nell&#39;esempio che seguirà, vogliamo che il link che punta ad oggetto2, punti ad oggetto1:&#xA;&#xA;È possibile modificare interattivamente il link leader con --config:&#xA;&#xA;--config nome&#xA;sudo update-alternatives --config &#39;nome gruppo&#39;&#xA;Ci sono 4 programmi che forniscono &#39;nome gruppo&#39;.&#xA;&#xA;  Selezione    Comando&#xA;-----------------------------------------------&#xA;   1           /path/oggetto/1&#xA;2           /path/oggetto/2&#xA; 3           /path/oggetto/3&#xA;   4           /path/oggetto/4&#xA;&#xA;Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione: 1&#xA;oppure da cli (la modalità scriptabile):&#xA;--set nome pathfisico &#xA;sudo update-alternatives --set &#34;nome gruppo&#34; /path/oggetto/1&#xA;oppure automaticamente (scriptabile anche questa), con la selezione automatica della voce con priorità più alta:&#xA;--auto nome&#xA;sudo update-alternatives --auto &#39;nome gruppo&#39;&#xA;Rimuovere un link&#xA;La rimozione di un alternative dal gruppo, si fa con --remove. Rimuoviamo &#34;oggetto2&#34; ad es.:&#xA;--remove nome pathfisico&#xA;sudo update-alternatives --remove &#39;nome gruppo&#39; /path/oggetto/2&#xA;Per la rimozione di tutto il gruppo invece:&#xA;-- remove-all nome&#xA;sudo update-alternatives --remove-all &#39;nome gruppo&#39;&#xA;Visualizzare i gruppi di link&#xA;Per elencare tutti i gruppi di link presenti (ce ne sono diversi già a sistema) si usa il flag --list:&#xA;sudo update-alternatives --list&#xA;google-chrome         &#x9;auto  &#x9;/usr/bin/google-chrome-stable&#xA;jre25                &#x9;manual&#x9;/usr/lib/jvm/java-latest-openjdk&#xA;java                  &#x9;manual&#x9;/usr/lib/jvm/java-25-openjdk/bin/java&#xA;jreopenjdk           &#x9;auto  &#x9;/usr/lib/jvm/java-25-openjdk&#xA;wine-dxgi(x86-32)     &#x9;auto  &#x9;/usr/lib/wine/i386-windows/wine-dxgi.dll&#xA;javadocdir            &#x9;auto  &#x9;/usr/share/javadoc/java-24-openjdk/api&#xA;jre26                &#x9;auto  &#x9;/usr/lib/jvm/java-latest-openjdk&#xA;jre25openjdk        &#x9;auto  &#x9;/usr/lib/jvm/java-25-openjdk&#xA;javadocdir25         &#x9;auto  &#x9;/usr/share/javadoc/java-latest-openjdk/api&#xA;libnssckbi.so.x8664  &#x9;auto  &#x9;/usr/lib64/pkcs11/p11-kit-trust.so&#xA;w&#xA;...&#xA;che restituisce la lista delle alternatives.&#xA;Visualizzare le info di un gruppo di link&#xA;La visualizzazione delle info di una particolare alternative può avvenire con --config (che è più una modalità di configurazione come sappiamo), o col più verboso --display.&#xA;&#xA;--config mostra l&#39;id dell&#39;oggetto e il path fisico:&#xA;sudo update-alternatives --config &#39;nome gruppo&#39;&#xA;Ci sono 4 programmi che forniscono &#39;nome gruppo&#39;.&#xA;&#xA;  Selezione    Comando&#xA;-----------------------------------------------&#xA;   1           /path/oggetto/1&#xA;2           /path/oggetto/2&#xA; 3           /path/oggetto/3&#xA;   4           /path/oggetto/4&#xA;&#xA;Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione:&#xA;Notare che nel display di  --config, il simbolo [] rappresenta la voce con priorità più alta, il simbolo [+] rappresenta quella attiva.&#xA;&#xA;--display fornisce informazioni in più:&#xA;sudo update-alternatives --display &#39;nome gruppo&#39;&#xA;&#39;nome gruppo&#39; - stato: manuale.&#xA; il link attualmente punta a /path/oggetto/2&#xA;/path/oggetto/1 - priorità 100&#xA;/path/oggetto/2 - priorità 110&#xA;/path/oggetto/3 - priorità 150&#xA;/path/oggetto/4 - priorità 120&#xA;La migliore versione attuale è /path/oggetto/3.&#xA;Restituisce info sullo stato del link leader, manuale (se il leader è stato scelto con --config o --set) o automatico (se il leader è stato scelto con --auto), elenca i path fisici, le loro priorità e i follower che vedremo subito dopo.&#xA;Link correlati&#xA;Un altro flag interessante è l&#39;ex --slave mutato nel più politicamente corretto --follower che dà la possibilità di aggiungere molteplici triple, \nome gruppo, link, path\ tutte associate al link leader.&#xA;&#xA;Se il contesto afferito dal link leader prevede che vi siano altri contesti associati che devono variare di conseguenza, piuttosto che gestire n contesti separatamente, ne gestisco sempre uno che trascinerà tutti i contesti associati con --follower&#xA;&#xA;I follower possono essere aggiunti in blocco durante la creazione delle alternatives:&#xA;--follower pathlinkfollower nomefollower pathfisicofollower&#xA;sudo update-alternatives \&#xA;  --install /usr/bin/mytool mytool /usr/bin/mytool-1.0 10 \&#xA;  --follower /usr/share/man/man1/mytool.gz mytool.gz /usr/share/man/man1/mytool-1.0.1.gz&#xA;O aggiunti in un secondo momento:&#xA;--add-follower nome pathlink pathlinkfollower nomefollower pathfisicofollower&#xA;sudo update-alternatives \&#xA;  --add-follower mytool /usr/bin/mytool-1.0 /usr/share/applications/mytool.desktop  mytool.desktop /usr/share/applications/mytool-1.0.1.desktop&#xA;Così come i follower possono essere aggiunti singolarmente, allo stesso modo possono anche essere rimossi:&#xA;--remove-follower nome pathfisico nomefollower&#xA;sudo update-alternatives \&#xA;  --remove-follower mytool /usr/share/applications/mytool-1.0.1.desktop mytool.desktop&#xA;Aggiungiamo una seconda alternative all&#39;esempio iniziale per avere un link leader che punti al binario e due follower che puntino ai rispettivi man e lanciatore:&#xA;sudo update-alternatives \&#xA;--install /usr/bin/mytool mytool /usr/bin/mytool-2.0 20 \&#xA;--follower /usr/share/man/man1/mytool.gz mytool.gz /usr/share/man/man1/mytool-2.0.1path followername.gz \&#xA;--follower /usr/share/applications/mytool.desktop  mytool.desktop /usr/share/applications/mytool-2.0.1.desktop&#xA;possiamo notare come sia semplice cambiare parecchi link con un colpo solo a differenza di una gestione manuale&#xA;sudo update-alternatives --config  mytool&#xA;&#xA;Ci sono 2 programmi che forniscono &#39;mytool&#39;.&#xA;&#xA;  Selezione    Comando&#xA;-----------------------------------------------&#xA;   1           /usr/bin/mytool-1.0&#xA;*+ 2           /usr/bin/mytool-2.0&#xA;&#xA;Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione:&#xA;La selezione, in un colpo solo, trascinerà con sè il link all&#39;eseguibile, al man e al lanciatore .desktop.&#xA;&#xA;--display mostra per bene quanto sia articolata la sua configurazione:&#xA;sudo update-alternatives --display mytool&#xA;&#xA;mytool - stato: manuale.&#xA; il link attualmente punta a /usr/bin/mytool-2.0&#xA;/usr/bin/mytool-1.0 - priorità 10&#xA; seguace mytool.desktop: /usr/share/applications/mytool-1.0.1.desktop&#xA; seguace mytool.gz: /usr/share/man/man1/mytool-1.0.1.gz&#xA;/usr/bin/mytool-2.0 - priorità 20&#xA; seguace mytool.desktop: /usr/share/applications/mytool-2.0.1.desktop&#xA; seguace mytool.gz: /usr/share/man/man1/mytool-2.0.1.gz&#xA;La migliore versione attuale è /usr/bin/mytool-2.0.&#xA;Per usare update-alternatives anche senza avere privilegi di amministrazione, si può ricorrere ai flag --altdir e --admindir che servono per specificare le cartelle (su cui chiaramente si devono avere permessi r/w) in cui vengono depositati, rispettivamente, i puntamenti ai path fisici e le configurazioni mostrate da --display &#xA;&#xA;mkdir -p $HOME/.local/var/lib/alternatives&#xA;mkdir -p $HOME/.local/etc/alternatives&#xA;&#xA;bonus: definizione di un alias in .bashaliases per esempio&#xA;alias update-local-alternatives=&#39;/usr/bin/update-alternatives --altdir &#34;$HOME/.local/etc/alternatives&#34; --admindir &#34;$HOME/.local/var/lib/alternatives&#34;&#39;&#xA;In questo modo è possibile usare update-alternatives con l&#39;alias nella propria home, senza privilegi di amministrazione, sacrificando un pizzico di bash-completion.&#xA;&#xA;#bash #pills #updateAlternatives #link]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://pixelfed.uno/storage/m/_v2/489827599091373610/f0975049d-79c41a/Q9su2BwQBfCX/PxX9uhOnuAOxwQgN5OgtAqPLMw7Zv6nCC2ZmSjMS.jpg" alt="pills-tux"></p>

<p>Le shell *nix sono delle miniere di chicche utili per l&#39;amministratore di sistema.</p>

<p>Fra queste, ce n&#39;è una che ho sempre trovato particolarmente intrigante ed è <code>update-alternatives</code> (o <code>alternatives</code> nei sistemi redhat-based).</p>

<p>Questo comando permette di gestire link simbolici e risulta comodo quando  ci sono gruppi di oggetti (alternative) a cui deve afferire il link.

Ad es. supponiamo di avere 4 oggetti e un link che, in base alla necessità, possa puntare ad uno dei 4.</p>

<p>Si tratta quindi di avere:</p>
<ul><li><code>/path/oggetto/1</code></li>
<li><code>/path/oggetto/2</code></li>
<li><code>/path/oggetto/3</code></li>
<li><code>/path/oggetto/4</code></li></ul>

<p>Se ad es. volessi un link generico che punti prima al 2, poi al 4 , poi all&#39;1 e poi di nuovo al 2, una gestione ordinaria di detto link avverrebbe grossomodo così:</p>

<pre><code class="language-bash">ln -s /path/oggetto/2 /path/link/oggetto
...
rm /path/link/oggetto
ln -s /path/oggetto/4 /path/link/oggetto
...
rm /path/link/oggetto
ln -s /path/oggetto/1 /path/link/oggetto
...
rm /path/link/oggetto
ln -s /path/oggetto/1 /path/link/oggetto
</code></pre>

<p>Creo un link, lo cancello, lo ricreo, lo cancello... e così via.</p>

<p>Tutto questo può essere semplificato con <code>update-alternatives</code>, che centralizza questo tipo di gestione dei link, creando tutti i possibili link per poi eleggere il “<strong>link leader</strong>” (il link effettivamente attivo) in base all&#39;esigenza.</p>

<h2 id="aggiungere-alternatives">Aggiungere alternatives</h2>

<p>Per creare il gruppo di alternative si usa <code>--install</code>:</p>

<pre><code class="language-bash"># sintassi
# --install &lt;path_link&gt; &lt;nome&gt; &lt;path_fisico&gt; &lt;priorità&gt;
# la priorità è un intero, l&#39;intero più grande diventa il link di default
sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/1 100
sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/2 110
sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/3 150
sudo update-alternatives --install /path/link/oggetto &#34;nome gruppo&#34; /path/oggetto/4 120
</code></pre>

<h2 id="attivare-un-alternative-elezione-del-link-leader">Attivare un alternative (elezione del link leader)</h2>

<p>Nell&#39;esempio che seguirà, vogliamo che il link che punta ad <code>oggetto_2</code>, punti ad <code>oggetto_1</code>:</p>

<p>È possibile modificare interattivamente il <strong>link leader</strong> con <code>--config</code>:</p>

<pre><code class="language-bash"># --config &lt;nome&gt;
sudo update-alternatives --config &#39;nome gruppo&#39;
Ci sono 4 programmi che forniscono &#39;nome gruppo&#39;.

  Selezione    Comando
-----------------------------------------------
   1           /path/oggetto/1
+  2           /path/oggetto/2
 * 3           /path/oggetto/3
   4           /path/oggetto/4

Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione: 1
</code></pre>

<p>oppure da cli (la modalità scriptabile):</p>

<pre><code class="language-bash"># --set &lt;nome&gt; &lt;path_fisico&gt; 
sudo update-alternatives --set &#34;nome gruppo&#34; /path/oggetto/1
</code></pre>

<p>oppure automaticamente (scriptabile anche questa), con la selezione automatica della voce con priorità più alta:</p>

<pre><code class="language-bash"># --auto &lt;nome&gt;
sudo update-alternatives --auto &#39;nome gruppo&#39;
</code></pre>

<h2 id="rimuovere-un-link">Rimuovere un link</h2>

<p>La rimozione di un alternative dal gruppo, si fa con <code>--remove</code>. Rimuoviamo “oggetto_2” ad es.:</p>

<pre><code class="language-bash"># --remove &lt;nome&gt; &lt;path_fisico&gt;
sudo update-alternatives --remove &#39;nome gruppo&#39; /path/oggetto/2
</code></pre>

<p>Per la rimozione di tutto il gruppo invece:</p>

<pre><code class="language-bash"># -- remove-all &lt;nome&gt;
sudo update-alternatives --remove-all &#39;nome gruppo&#39;
</code></pre>

<h2 id="visualizzare-i-gruppi-di-link">Visualizzare i gruppi di link</h2>

<p>Per elencare tutti i gruppi di link presenti (ce ne sono diversi già a sistema) si usa il flag <code>--list</code>:</p>

<pre><code class="language-bash">sudo update-alternatives --list
google-chrome         	auto  	/usr/bin/google-chrome-stable
jre_25                	manual	/usr/lib/jvm/java-latest-openjdk
java                  	manual	/usr/lib/jvm/java-25-openjdk/bin/java
jre_openjdk           	auto  	/usr/lib/jvm/java-25-openjdk
wine-dxgi(x86-32)     	auto  	/usr/lib/wine/i386-windows/wine-dxgi.dll
javadocdir            	auto  	/usr/share/javadoc/java-24-openjdk/api
jre_26                	auto  	/usr/lib/jvm/java-latest-openjdk
jre_25_openjdk        	auto  	/usr/lib/jvm/java-25-openjdk
javadocdir_25         	auto  	/usr/share/javadoc/java-latest-openjdk/api
libnssckbi.so.x86_64  	auto  	/usr/lib64/pkcs11/p11-kit-trust.so
w
...
</code></pre>

<p>che restituisce la lista delle <strong>alternatives</strong>.</p>

<h2 id="visualizzare-le-info-di-un-gruppo-di-link">Visualizzare le info di un gruppo di link</h2>

<p>La visualizzazione delle info di una particolare alternative può avvenire con <code>--config</code> (che è più una modalità di configurazione come sappiamo), o col più verboso <code>--display</code>.</p>

<p><code>--config</code> mostra l&#39;id dell&#39;oggetto e il path fisico:</p>

<pre><code class="language-bash">sudo update-alternatives --config &#39;nome gruppo&#39;
Ci sono 4 programmi che forniscono &#39;nome gruppo&#39;.

  Selezione    Comando
-----------------------------------------------
   1           /path/oggetto/1
+  2           /path/oggetto/2
 * 3           /path/oggetto/3
   4           /path/oggetto/4

Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione:
</code></pre>

<p>Notare che nel display di  <code>--config</code>, il simbolo <code>[*]</code> rappresenta la voce con priorità più alta, il simbolo <code>[+]</code> rappresenta quella attiva.</p>

<p><code>--display</code> fornisce informazioni in più:</p>

<pre><code class="language-bash">sudo update-alternatives --display &#39;nome gruppo&#39;
&#39;nome gruppo&#39; - stato: manuale.
 il link attualmente punta a /path/oggetto/2
/path/oggetto/1 - priorità 100
/path/oggetto/2 - priorità 110
/path/oggetto/3 - priorità 150
/path/oggetto/4 - priorità 120
La migliore versione attuale è /path/oggetto/3.
</code></pre>

<p>Restituisce info sullo stato del link leader, <strong>manuale</strong> (se il leader è stato scelto con <code>--config</code> o <code>--set</code>) o <strong>automatico</strong> (se il leader è stato scelto con <code>--auto</code>), elenca i path fisici, le loro priorità e i <strong>follower</strong> che vedremo subito dopo.</p>

<h2 id="link-correlati">Link correlati</h2>

<p>Un altro flag interessante è l&#39;ex <code>--slave</code> mutato nel più politicamente corretto <code>--follower</code> che dà la possibilità di aggiungere molteplici triple, &lt;nome gruppo, link, path&gt; tutte associate al link leader.</p>

<p>Se il contesto afferito dal link leader prevede che vi siano altri contesti associati che devono variare di conseguenza, piuttosto che gestire <em>n</em> contesti separatamente, ne gestisco sempre uno che trascinerà tutti i contesti associati con <code>--follower</code></p>

<p>I <strong>follower</strong> possono essere aggiunti in blocco durante la creazione delle alternatives:</p>

<pre><code class="language-bash"># --follower &lt;path_link_follower&gt; &lt;nome_follower&gt; &lt;path_fisico_follower&gt;
sudo update-alternatives \
  --install /usr/bin/mytool mytool /usr/bin/mytool-1.0 10 \
  --follower /usr/share/man/man1/mytool.gz mytool.gz /usr/share/man/man1/mytool-1.0.1.gz
</code></pre>

<p>O aggiunti in un secondo momento:</p>

<pre><code class="language-bash"># --add-follower &lt;nome&gt; &lt;path_link&gt; &lt;path_link_follower&gt; &lt;nome_follower&gt; &lt;path_fisico_follower&gt;
sudo update-alternatives \
  --add-follower mytool /usr/bin/mytool-1.0 /usr/share/applications/mytool.desktop  mytool.desktop /usr/share/applications/mytool-1.0.1.desktop
</code></pre>

<p>Così come i follower possono essere aggiunti singolarmente, allo stesso modo possono anche essere rimossi:</p>

<pre><code class="language-bash"># --remove-follower &lt;nome&gt; &lt;path_fisico&gt; &lt;nome_follower&gt;
sudo update-alternatives \
  --remove-follower mytool /usr/share/applications/mytool-1.0.1.desktop mytool.desktop
</code></pre>

<p>Aggiungiamo una seconda alternative all&#39;esempio iniziale per avere un link leader che punti al binario e due follower che puntino ai rispettivi man e lanciatore:</p>

<pre><code class="language-bash">sudo update-alternatives \
--install /usr/bin/mytool mytool /usr/bin/mytool-2.0 20 \
--follower /usr/share/man/man1/mytool.gz mytool.gz /usr/share/man/man1/mytool-2.0.1path follower_name.gz \
--follower /usr/share/applications/mytool.desktop  mytool.desktop /usr/share/applications/mytool-2.0.1.desktop
</code></pre>

<p>possiamo notare come sia semplice cambiare parecchi link con un colpo solo a differenza di una gestione manuale</p>

<pre><code class="language-bash">sudo update-alternatives --config  mytool

Ci sono 2 programmi che forniscono &#39;mytool&#39;.

  Selezione    Comando
-----------------------------------------------
   1           /usr/bin/mytool-1.0
*+ 2           /usr/bin/mytool-2.0

Invio per mantenere l&#39;attuale selezione[+], o inserire il numero di selezione:
</code></pre>

<p>La selezione, in un colpo solo, trascinerà con sè il link all&#39;eseguibile, al man e al lanciatore .desktop.</p>

<p><code>--display</code> mostra per bene quanto sia articolata la sua configurazione:</p>

<pre><code class="language-bash">sudo update-alternatives --display mytool

mytool - stato: manuale.
 il link attualmente punta a /usr/bin/mytool-2.0
/usr/bin/mytool-1.0 - priorità 10
 seguace mytool.desktop: /usr/share/applications/mytool-1.0.1.desktop
 seguace mytool.gz: /usr/share/man/man1/mytool-1.0.1.gz
/usr/bin/mytool-2.0 - priorità 20
 seguace mytool.desktop: /usr/share/applications/mytool-2.0.1.desktop
 seguace mytool.gz: /usr/share/man/man1/mytool-2.0.1.gz
La migliore versione attuale è /usr/bin/mytool-2.0.
</code></pre>

<p>Per usare <code>update-alternatives</code> anche senza avere privilegi di amministrazione, si può ricorrere ai flag <code>--altdir</code> e <code>--admindir</code> che servono per specificare le cartelle (su cui chiaramente si devono avere permessi r/w) in cui vengono depositati, rispettivamente, i puntamenti ai path fisici e le configurazioni mostrate da <code>--display</code></p>

<pre><code class="language-bash">mkdir -p $HOME/.local/var/lib/alternatives
mkdir -p $HOME/.local/etc/alternatives

# bonus: definizione di un alias in .bash_aliases per esempio
alias update-local-alternatives=&#39;/usr/bin/update-alternatives --altdir &#34;$HOME/.local/etc/alternatives&#34; --admindir &#34;$HOME/.local/var/lib/alternatives&#34;&#39;
</code></pre>

<p>In questo modo è possibile usare <code>update-alternatives</code> con l&#39;alias nella propria home, senza privilegi di amministrazione, sacrificando un pizzico di bash-completion.</p>

<p><a href="/aytin/tag:bash" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bash</span></a> <a href="/aytin/tag:pills" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">pills</span></a> <a href="/aytin/tag:updateAlternatives" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">updateAlternatives</span></a> <a href="/aytin/tag:link" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">link</span></a></p>
]]></content:encoded>
      <guid>https://noblogo.org/aytin/gestire-link-con-update-alternatives</guid>
      <pubDate>Sat, 19 Sep 2026 19:17:19 +0000</pubDate>
    </item>
    <item>
      <title>Promemoria</title>
      <link>https://noblogo.org/aytin/promemoria</link>
      <description>&lt;![CDATA[markdown&#xA;smalliFonte: a https://en.m.wikipedia.org/wiki/File:Markdown-mark.svg&#34;Wikipedia/a/i/small&#xA;&#xA;Il markdown che uso su noblogo con l&#39;aggiunta di un po&#39; di html per quello che, con il markdown, non riesco ad ottenere.&#xA;!--more--&#xA;1. Formattazione&#xA;- Header (sintassi):&#xA;&#xA;  \# This is the biggest header (h1)&#xA;  \#\# This is still a big header (h2)&#xA;  \#\#\# This is a smaller header (h3)&#xA;  \#\#\#\# This is a smaller header (h4)&#xA;  \#\#\#\#\# This is a smaller header (h5)&#xA;  \#\#\#\#\#\# This is the smallest header you can make (h6)&#xA;&#xA;- Header (esempio):&#xA;&#xA;This is the biggest header (h1)&#xA;This is still a big header (h2)&#xA;This is a smaller header (h3)&#xA;This is a smaller header (h4)&#xA;This is a smaller header (h5)&#xA;This is the smallest header you can make (h6)&#xA;---&#xA;- Grassetto (sintassi):&#xA;&#xA;  Lorem \\ipsum dolor\\ sit amet&#xA;&#xA;- Grassetto (esempio):&#xA;&#xA;Lorem ipsum dolor sit amet&#xA;---&#xA;- Corsivo (sintassi):&#xA;&#xA;  Lorem \ipsum dolor\ sit amet&#xA;&#xA;- Corsivo (esempio):&#xA;&#xA;Lorem ipsum dolor sit amet&#xA;---&#xA;- Corsivo e grassetto (sintassi):&#xA;&#xA;  \Lorem ipsum dolor sit \\amet, consectetur\\ adipiscing elit.\&#xA;&#xA;- Corsivo e grassetto (esempio):&#xA;&#xA;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&#xA;---&#xA;- Barrato (sintassi):&#xA;&#xA;  Lorem \~\~iuppssum\~\~ ipsum dolor sit amet&#xA;&#xA;- Barrato (esempio):&#xA;&#xA;Lorem iuppssum ipsum dolor sit amet&#xA;2. Liste&#xA;- Lista puntata (sintassi):&#xA;&#xA;  \ elem 1 &#xA;  \ elem 1.1&#xA;  \ elem 1.2&#xA;  \ elem 2&#xA;  \ elem 3&#xA;&#xA;- Lista puntata (esempio):&#xA;&#xA;elem 1&#xA;   elem 1.1&#xA;   elem 1.2&#xA;elem 2&#xA;elem 3&#xA;&#xA;---&#xA;- Lista numerata (sintassi):&#xA;&#xA;  1\. elem 1&#xA;  1\. elem 2&#xA;  1\. elem 2.1&#xA;  1\. elem 2.2&#xA;  1\. elem 1.2&#xA;&#xA;- Lista numerata (esempio):&#xA;&#xA;elem 1&#xA;elem 2&#xA;   elem 2.1&#xA;   elem 2.2&#xA;elem 1.2&#xA;&#xA;3. Link e immagini&#xA;- Immagine (sintassi):&#xA;&#xA;  \!\[testo\]\(https://url\)&#xA;&#xA;-  Link (sintassi):&#xA;&#xA;  \[testo\]\(https://url\)&#xA;&#xA;4. Citazioni e syntax highlighting&#xA;- Quotes (sintassi):&#xA;&#xA;  \  Duis suscipit ex id leo tristique sagittis.&#xA;  \  Sed vitae volutpat erat, at vestibulum dolor.&#xA;&#xA;---&#xA;- Codice inline (sintassi):&#xA;&#xA;  \ps -ef | grep python\&#xA;&#xA;- Codice inline (esempio):&#xA;&#xA;ps -ef | grep python&#xA;---&#xA;### - Syntax highlighting  (sintassi) smalla id=&#34;linkmarkdown&#34; title=&#34;vai alla nota 1&#34; href=&#34;#markdown&#34;supstrong [1] /strong/sup/a/small:&#xA;&#xA;  \\\`bash &#xA;  \#\!/usr/bin/bash&#xA;  ...&#xA;  \# Modifica la chiave privata&#xA;  KEY\MOD=&#34;${KEY}&#34;&#xA;  echo&#xA;&#xA;  while true; do&#xA;  echo -en &#34;Chiave privata: ${KEY}\nInserisci la nuova chiave privata: &#34;; read KEY\MOD&#xA;  if \[\[ -z $KEY\MOD \]\]; then&#xA;  KEYMOD=&#34;${KEY}&#34;; break&#xA;  elif \[\[ ! $(echo &#34;${KEY\MOD}&#34; | oathtool -b - 2  /dev/null) \]\]; then&#xA;  err\msg &#34;${INVALID\KEY\ERR}&#34; 0; KEY\MOD=&#34;${KEY}&#34;&#xA;  else&#xA;  break&#xA;  fi&#xA;  done&#xA;...&#xA;  \\\`&#xA;&#xA;- Syntax highlighting  (esempio):&#xA;&#xA;!/usr/bin/bash&#xA;...&#xA;Modifica la chiave privata&#xA;    KEYMOD=&#34;${KEY}&#34;&#xA;    echo&#xA;&#xA;    while true; do&#xA;        echo -en &#34;Chiave privata: ${KEY}\nInserisci la nuova chiave privata: &#34;; read KEYMOD&#xA;        if [[ -z $KEYMOD ]]; then&#xA;            KEYMOD=&#34;${KEY}&#34;; break&#xA;        elif [[ ! $(echo &#34;${KEYMOD}&#34; | oathtool -b - 2  /dev/null) ]]; then&#xA;            errmsg &#34;${INVALIDKEYERR}&#34; 0; KEYMOD=&#34;${KEY}&#34;&#xA;        else&#xA;            break&#xA;        fi&#xA;    done&#xA;...&#xA;5. Misc&#xA;- Elenco di riferimenti (sintassi):&#xA;&#xA;  \\Riferimenti:\\&#xA;&#xA;  \small\&#xA;    1\. \i\\a href=&#34;https:/url\riferimento1&#34;\riferimento1\/a\\/i\&#xA;  1\. \i\\a href=&#34;https:/url\riferimento2&#34;\riferimento2\/a\\/i\&#xA;  1\. \i\\a href=&#34;https:/url\riferimento3&#34;\riferimento3\/a\\/i\&#xA;  ...&#xA;  \/small\&#xA;&#xA;- Elenco di riferimenti (esempio):&#xA;&#xA;Elenco di link:&#xA;&#xA;small&#xA;&#xA;ia href=&#34;https://urlriferimento1&#34;riferimento1/a/i&#xA;ia href=&#34;https://urlriferimento2&#34;riferimento2/a/i&#xA;ia href=&#34;https://urlriferimento3&#34;riferimento3/a/i&#xA;...&#xA;&#xA;/small&#xA;&#xA;---&#xA;- TOC (sintassi):&#xA;&#xA;  1\. \a href=&#34;\#anchor1&#34;\Capitolo 1\/a\&#xA;  2\. \a href=&#34;\#anchor12&#34;\Capitolo 1.2\/a\&#xA;  1\. \a href=&#34;\#anchor2&#34;\Capitolo 2\/a\&#xA;  2\. \a href=&#34;\#anchor21&#34;\Capitolo 2.1\/a\&#xA;  2\. \a href=&#34;\#anchor22&#34;\Capitolo 2.2\/a\&#xA;  2\. \a href=&#34;\#anchor22&#34;\Capitolo 2.3\/a\&#xA;  1\. \a href=&#34;\#anchor3&#34;\Capitolo 3\/a\&#xA;  ...&#xA;  \#\# \a id=&#34;anchor1&#34;\Capitolo 1\/a\&#xA;  \#\#\# \a id=&#34;anchor12&#34;\Capitolo 1.2\/a\&#xA;  \#\# \a id=&#34;anchor2&#34;\Capitolo 2\/a\&#xA;  \#\#\# \a id=&#34;anchor21&#34;\Capitolo 2.1\/a\&#xA;  \#\#\# \a id=&#34;anchor22&#34;\Capitolo 2.2\/a\&#xA;  \#\#\# \a id=&#34;anchor23&#34;\Capitolo 2.3\/a\&#xA;  \#\# \a id=&#34;anchor3&#34;\Capitolo 3\/a\&#xA;&#xA;- TOC (esempio):&#xA;&#xA;a href=&#34;#anchor1&#34;Capitolo 1/a&#xA;   a href=&#34;#anchor12&#34;Capitolo 1.2/a&#xA;a href=&#34;#anchor2&#34;Capitolo 2/a&#xA;   a href=&#34;#anchor21&#34;Capitolo 2.1/a&#xA;   a href=&#34;#anchor22&#34;Capitolo 2.2/a&#xA;   a href=&#34;#anchor22&#34;Capitolo 2.3/a&#xA;a href=&#34;#anchor3&#34;Capitolo 3/a&#xA;&#xA;...&#xA;a id=&#34;anchor1&#34;Capitolo 1/a&#xA;a id=&#34;anchor12&#34;Capitolo 1.2/a&#xA;a id=&#34;anchor2&#34;Capitolo 2/a&#xA;a id=&#34;anchor21&#34;Capitolo 2.1/a&#xA;a id=&#34;anchor22&#34;Capitolo 2.2/a&#xA;a id=&#34;anchor23&#34;Capitolo 2.3/a&#xA;a id=&#34;anchor3&#34;Capitolo 3/a&#xA;---&#xA;- Footnotes (sintassi):&#xA;&#xA;  Lorem ipsum dolor sit amet, consectetur adipiscing elit. \small\\a id=&#34;link\nota\1&#34; title=&#34;vai alla nota 1&#34; href=&#34;\#nota\1&#34;\\sup\\strong\ [1] \/strong\\/sup\\/a\\/small\Proin lacinia mi tellus, ut cursus nibh bibendum eu.&#xA;&#xA;  Cras pretium ultrices scelerisque. In ultricies libero in vehicula semper.\small\\a id=&#34;link\nota\2&#34; title=&#34;vai alla nota 2&#34; href=&#34;\#nota\2&#34;\\sup\\strong\ [2] \/strong\\/sup\\/a\\/small\Etiam quam nisi, dapibus ac tempor vel, vestibulum eu diam.&#xA;    ...&#xA;    \\Note:\\*&#xA;  \small\&#xA;    1\. Questa è la nota 1\a id=&#34;nota\1&#34; title=&#34;torna su&#34; \&lt;href=&#34;\#link\nota\1&#34;\\sup\\b\ [↵] \/b\\/sup\\/a\&#xA;  1\. E questa è la nota 2\a id=&#34;nota\2&#34; title=&#34;torna su&#34; href=&#34;\#link\nota2&#34;\\sup\\b\ [↵] \/b\\/sup\\/a\&#xA;    \/small\&#xA;&#xA;- Footnotes (esempio):&#xA;&#xA;Lorem ipsum dolor sit amet, consectetur adipiscing elit. smalla id=&#34;linknota1&#34; title=&#34;vai alla nota 1&#34; href=&#34;#nota1&#34;supstrong [1] /strong/sup/a/smallProin lacinia mi tellus, ut cursus nibh bibendum eu.&#xA;&#xA;Cras pretium ultrices scelerisque. In ultricies libero in vehicula semper.smalla id=&#34;linknota2&#34; title=&#34;vai alla nota 2&#34; href=&#34;#nota2&#34;supstrong [2] /strong/sup/a/smallEtiam quam nisi, dapibus ac tempor vel, vestibulum eu diam.&#xA;...&#xA;&#xA;Note:&#xA;small&#xA;&#xA;Questa è la nota 1a id=&#34;nota1&#34; title=&#34;torna su&#34; href=&#34;#linknota1&#34;supb [↵] /b/sup/a&#xA;E questa è la nota 2a id=&#34;nota2&#34; title=&#34;torna su&#34; href=&#34;#linknota2&#34;supb [↵] /b/sup/a&#xA;&#xA;/small&#xA;&#xA;---&#xA;- Aggiunta tags (sintassi):&#xA;&#xA;  #tagsub1/sub #tagsub2/sub #altroTag &#xA;&#xA;- Aggiunta tags (esempio):&#xA;&#xA;#tagsub1/sub #tagsub2/sub #altroTag&#xA;---&#xA;- Leggitutto (sintassi):&#xA;&#xA;  \!\-\-more\-\-\&#xA;&#xA;---&#xA;Separatore orizzontale (sintassi):&#xA;&#xA;  \-\-\-&#xA;&#xA;Note:&#xA;small&#xA;&#xA;https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexersa id=&#34;markdown&#34; title=&#34;torna su&#34; href=&#34;#link_markdown&#34;supb [↵] /b/sup/a&#xA;&#xA;/small&#xA;&#xA;markdown]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://pixelfed.uno/storage/m/_v2/489827599091373610/7321b8e85-c3df53/4zu0YTmVTAcW/UWXBCnjpsvMm0ZtS9KQNHyVPVQtFEyuQL6dpkUyy.png" alt="markdown">
<small><i>Fonte: Wikipedia</i></small></p>

<p>Il markdown che uso su noblogo con l&#39;aggiunta di un po&#39; di html per quello che, con il markdown, non riesco ad ottenere.
</p>

<h2 id="1-formattazione">1. Formattazione</h2>

<h3 id="header-sintassi">– Header (sintassi):</h3>

<blockquote><p># This is the biggest header (h1)
## This is still a big header (h2)
### This is a smaller header (h3)
#### This is a smaller header (h4)
##### This is a smaller header (h5)
###### This is the smallest header you can make (h6)</p></blockquote>

<h3 id="header-esempio">– Header (esempio):</h3>

<h1 id="this-is-the-biggest-header-h1">This is the biggest header (h1)</h1>

<h2 id="this-is-still-a-big-header-h2">This is still a big header (h2)</h2>

<h3 id="this-is-a-smaller-header-h3">This is a smaller header (h3)</h3>

<h4 id="this-is-a-smaller-header-h4">This is a smaller header (h4)</h4>

<h5 id="this-is-a-smaller-header-h5">This is a smaller header (h5)</h5>

<h6 id="this-is-the-smallest-header-you-can-make-h6">This is the smallest header you can make (h6)</h6>

<hr>

<h3 id="grassetto-sintassi">– Grassetto (sintassi):</h3>

<blockquote><p>Lorem **ipsum dolor** sit amet</p></blockquote>

<h3 id="grassetto-esempio">– Grassetto (esempio):</h3>

<p>Lorem <strong>ipsum dolor</strong> sit amet</p>

<hr>

<h3 id="corsivo-sintassi">– Corsivo (sintassi):</h3>

<blockquote><p>Lorem _ipsum dolor_ sit amet</p></blockquote>

<h3 id="corsivo-esempio">– Corsivo (esempio):</h3>

<p>Lorem <em>ipsum dolor</em> sit amet</p>

<hr>

<h3 id="corsivo-e-grassetto-sintassi">– Corsivo e grassetto (sintassi):</h3>

<blockquote><p>_Lorem ipsum dolor sit **amet, consectetur** adipiscing elit._</p></blockquote>

<h3 id="corsivo-e-grassetto-esempio">– Corsivo e grassetto (esempio):</h3>

<p><em>Lorem ipsum dolor sit <strong>amet, consectetur</strong> adipiscing elit.</em></p>

<hr>

<h3 id="barrato-sintassi">– Barrato (sintassi):</h3>

<blockquote><p>Lorem ~~iuppssum~~ ipsum dolor sit amet</p></blockquote>

<h3 id="barrato-esempio">– Barrato (esempio):</h3>

<p>Lorem <del>iuppssum</del> ipsum dolor sit amet</p>

<h2 id="2-liste">2. Liste</h2>

<h3 id="lista-puntata-sintassi">– Lista puntata (sintassi):</h3>

<blockquote><p>* elem 1
  * elem 1.1
  * elem 1.2
* elem 2
* elem 3</p></blockquote>

<h3 id="lista-puntata-esempio">– Lista puntata (esempio):</h3>
<ul><li>elem 1
<ul><li>elem 1.1</li>
<li>elem 1.2</li></ul></li>
<li>elem 2</li>
<li>elem 3</li></ul>

<hr>

<h3 id="lista-numerata-sintassi">– Lista numerata (sintassi):</h3>

<blockquote><p>1. elem 1
1. elem 2
     1. elem 2.1
     1. elem 2.2
1. elem 1.2</p></blockquote>

<h3 id="lista-numerata-esempio">– Lista numerata (esempio):</h3>
<ol><li>elem 1</li>
<li>elem 2
<ol><li>elem 2.1</li>
<li>elem 2.2</li></ol></li>
<li>elem 1.2</li></ol>

<h2 id="3-link-e-immagini">3. Link e immagini</h2>

<h3 id="immagine-sintassi">– Immagine (sintassi):</h3>

<blockquote><p>![testo](<a href="https://url" rel="nofollow">https://url</a>)</p></blockquote>

<p><strong>–  Link (sintassi):</strong></p>

<blockquote><p>[testo](<a href="https://url" rel="nofollow">https://url</a>)</p></blockquote>

<h2 id="4-citazioni-e-syntax-highlighting">4. Citazioni e syntax highlighting</h2>

<h3 id="quotes-sintassi">– Quotes (sintassi):</h3>

<blockquote><p>&gt; Duis suscipit ex id leo tristique sagittis.
&gt; Sed vitae volutpat erat, at vestibulum dolor.</p></blockquote>

<hr>

<h3 id="codice-inline-sintassi">– Codice inline (sintassi):</h3>

<blockquote><p>`ps -ef | grep python`</p></blockquote>

<h3 id="codice-inline-esempio">– Codice inline (esempio):</h3>

<p><code>ps -ef | grep python</code></p>

<hr>

<h3 id="syntax-highlighting-sintassi-small-a-id-link-markdown-title-vai-alla-nota-1-href-markdown-sup-strong-1-strong-sup-a-small">– Syntax highlighting  (sintassi) <small><a id="link_markdown" title="vai alla nota 1" href="#markdown" rel="nofollow"><sup><strong> [1] </strong></sup></a></small>:</h3>

<blockquote><p>```bash
#!/usr/bin/bash
...
# Modifica la chiave privata
   KEY_MOD=“${KEY}”
   echo</p>

<p>   while true; do
       echo -en “Chiave privata: ${KEY}\nInserisci la nuova chiave privata: “; read KEY_MOD
       if [[ -z $KEY_MOD ]]; then
           KEY_MOD=“${KEY}”; break
       elif [[ ! $(echo “${KEY_MOD}” | oathtool -b – 2&gt;/dev/null) ]]; then
           err_msg “${INVALID_KEY_ERR}” 0; KEY_MOD=“${KEY}”
       else
           break
       fi
   done
...
```</p></blockquote>

<p><strong>– Syntax highlighting  (esempio):</strong></p>

<pre><code class="language-bash">#!/usr/bin/bash
...
# Modifica la chiave privata
    KEY_MOD=&#34;${KEY}&#34;
    echo

    while true; do
        echo -en &#34;Chiave privata: ${KEY}\nInserisci la nuova chiave privata: &#34;; read KEY_MOD
        if [[ -z $KEY_MOD ]]; then
            KEY_MOD=&#34;${KEY}&#34;; break
        elif [[ ! $(echo &#34;${KEY_MOD}&#34; | oathtool -b - 2&gt;/dev/null) ]]; then
            err_msg &#34;${INVALID_KEY_ERR}&#34; 0; KEY_MOD=&#34;${KEY}&#34;
        else
            break
        fi
    done
...
</code></pre>

<h2 id="5-misc">5. Misc</h2>

<h3 id="elenco-di-riferimenti-sintassi">– Elenco di riferimenti (sintassi):</h3>

<blockquote><p>**Riferimenti:**</p>

<p>&lt;small&gt;</p>

<p>1. &lt;i&gt;&lt;a href=“https:/url_riferimento1”&gt;riferimento1&lt;/a&gt;&lt;/i&gt;
1. &lt;i&gt;&lt;a href=“https:/url_riferimento2”&gt;riferimento2&lt;/a&gt;&lt;/i&gt;
1. &lt;i&gt;&lt;a href=“https:/url_riferimento3”&gt;riferimento3&lt;/a&gt;&lt;/i&gt;
...
&lt;/small&gt;</p></blockquote>

<h3 id="elenco-di-riferimenti-esempio">– Elenco di riferimenti (esempio):</h3>

<p><strong>Elenco di link:</strong></p>

<p><small></p>
<ol><li><i><a href="https://url_riferimento1" rel="nofollow">riferimento1</a></i></li>
<li><i><a href="https://url_riferimento2" rel="nofollow">riferimento2</a></i></li>
<li><i><a href="https://url_riferimento3" rel="nofollow">riferimento3</a></i>
...</li></ol>

<p></small></p>

<hr>

<h3 id="toc-sintassi">– TOC (sintassi):</h3>

<blockquote><p>1. &lt;a href=”#anchor1”&gt;Capitolo 1&lt;/a&gt;
  2. &lt;a href=”#anchor12”&gt;Capitolo 1.2&lt;/a&gt;
1. &lt;a href=”#anchor2”&gt;Capitolo 2&lt;/a&gt;
  2. &lt;a href=”#anchor21”&gt;Capitolo 2.1&lt;/a&gt;
  2. &lt;a href=”#anchor22”&gt;Capitolo 2.2&lt;/a&gt;
  2. &lt;a href=”#anchor22”&gt;Capitolo 2.3&lt;/a&gt;
1. &lt;a href=”#anchor3”&gt;Capitolo 3&lt;/a&gt;
...
## &lt;a id=“anchor1”&gt;Capitolo 1&lt;/a&gt;
### &lt;a id=“anchor12”&gt;Capitolo 1.2&lt;/a&gt;
## &lt;a id=“anchor2”&gt;Capitolo 2&lt;/a&gt;
### &lt;a id=“anchor21”&gt;Capitolo 2.1&lt;/a&gt;
### &lt;a id=“anchor22”&gt;Capitolo 2.2&lt;/a&gt;
### &lt;a id=“anchor23”&gt;Capitolo 2.3&lt;/a&gt;
## &lt;a id=“anchor3”&gt;Capitolo 3&lt;/a&gt;</p></blockquote>

<h3 id="toc-esempio">– TOC (esempio):</h3>
<ol><li><a href="#anchor1" rel="nofollow">Capitolo 1</a>
<ol><li><a href="#anchor12" rel="nofollow">Capitolo 1.2</a></li></ol></li>
<li><a href="#anchor2" rel="nofollow">Capitolo 2</a>
<ol><li><a href="#anchor21" rel="nofollow">Capitolo 2.1</a></li>
<li><a href="#anchor22" rel="nofollow">Capitolo 2.2</a></li>
<li><a href="#anchor22" rel="nofollow">Capitolo 2.3</a></li></ol></li>
<li><a href="#anchor3" rel="nofollow">Capitolo 3</a></li></ol>

<p>...</p>

<h2 id="a-id-anchor1-capitolo-1-a"><a id="anchor1">Capitolo 1</a></h2>

<h3 id="a-id-anchor12-capitolo-1-2-a"><a id="anchor12">Capitolo 1.2</a></h3>

<h2 id="a-id-anchor2-capitolo-2-a"><a id="anchor2">Capitolo 2</a></h2>

<h3 id="a-id-anchor21-capitolo-2-1-a"><a id="anchor21">Capitolo 2.1</a></h3>

<h3 id="a-id-anchor22-capitolo-2-2-a"><a id="anchor22">Capitolo 2.2</a></h3>

<h3 id="a-id-anchor23-capitolo-2-3-a"><a id="anchor23">Capitolo 2.3</a></h3>

<h2 id="a-id-anchor3-capitolo-3-a"><a id="anchor3">Capitolo 3</a></h2>

<hr>

<h3 id="footnotes-sintassi">– Footnotes (sintassi):</h3>

<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. &lt;small&gt;&lt;a id=“link_nota_1” title=“vai alla nota 1” href=”#nota_1”&gt;&lt;sup&gt;&lt;strong&gt; [1] &lt;/strong&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/small&gt;Proin lacinia mi tellus, ut cursus nibh bibendum eu.</p>

<p>Cras pretium ultrices scelerisque. In ultricies libero in vehicula semper.&lt;small&gt;&lt;a id=“link_nota_2” title=“vai alla nota 2” href=”#nota_2”&gt;&lt;sup&gt;&lt;strong&gt; [2] &lt;/strong&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/small&gt;Etiam quam nisi, dapibus ac tempor vel, vestibulum eu diam.</p>

<p>...</p>

<p>**Note:**
&lt;small&gt;</p>

<p>1. Questa è la nota 1&lt;a id=“nota_1” title=“torna su” &lt;href=”#link_nota_1”&gt;&lt;sup&gt;&lt;b&gt; [↵] &lt;/b&gt;&lt;/sup&gt;&lt;/a&gt;
1. E questa è la nota 2&lt;a id=“nota_2” title=“torna su” href=”#link_nota_2”&gt;&lt;sup&gt;&lt;b&gt; [↵] &lt;/b&gt;&lt;/sup&gt;&lt;/a&gt;</p>

<p>&lt;/small&gt;</p></blockquote>

<h3 id="footnotes-esempio">– Footnotes (esempio):</h3>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <small><a id="link_nota_1" title="vai alla nota 1" href="#nota_1" rel="nofollow"><sup><strong> [1] </strong></sup></a></small>Proin lacinia mi tellus, ut cursus nibh bibendum eu.</p>

<p>Cras pretium ultrices scelerisque. In ultricies libero in vehicula semper.<small><a id="link_nota_2" title="vai alla nota 2" href="#nota_2" rel="nofollow"><sup><strong> [2] </strong></sup></a></small>Etiam quam nisi, dapibus ac tempor vel, vestibulum eu diam.
...</p>

<p><strong>Note:</strong>
<small></p>
<ol><li>Questa è la nota 1<a id="nota_1" title="torna su" href="#link_nota_1" rel="nofollow"><sup><b> [↵] </b></sup></a></li>
<li>E questa è la nota 2<a id="nota_2" title="torna su" href="#link_nota_2" rel="nofollow"><sup><b> [↵] </b></sup></a></li></ol>

<p></small></p>

<hr>

<h3 id="aggiunta-tags-sintassi">– Aggiunta tags (sintassi):</h3>

<blockquote><p><a href="/aytin/tag:tag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tag</span></a><sub>1</sub> <a href="/aytin/tag:tag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tag</span></a><sub>2</sub> <a href="/aytin/tag:altroTag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">altroTag</span></a></p></blockquote>

<h3 id="aggiunta-tags-esempio">– Aggiunta tags (esempio):</h3>

<p><a href="/aytin/tag:tag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tag</span></a><sub>1</sub> <a href="/aytin/tag:tag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tag</span></a><sub>2</sub> <a href="/aytin/tag:altroTag" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">altroTag</span></a></p>

<hr>

<h3 id="leggitutto-sintassi">– Leggitutto (sintassi):</h3>

<blockquote><p>&lt;!--more--&gt;</p></blockquote>

<hr>

<h3 id="separatore-orizzontale-sintassi">Separatore orizzontale (sintassi):</h3>

<blockquote><p>---</p></blockquote>

<p><strong>Note:</strong>
<small></p>
<ol><li><a href="https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers" rel="nofollow">https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers</a><a id="markdown" title="torna su" href="#link_markdown" rel="nofollow"><sup><b> [↵] </b></sup></a></li></ol>

<p></small></p>

<p><a href="/aytin/tag:markdown" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">markdown</span></a></p>
]]></content:encoded>
      <guid>https://noblogo.org/aytin/promemoria</guid>
      <pubDate>Sun, 10 Mar 2024 10:00:03 +0000</pubDate>
    </item>
  </channel>
</rss>