Skip to content

Commit 118a518

Browse files
committed
Site update
1 parent 98a4485 commit 118a518

11 files changed

Lines changed: 79 additions & 53 deletions

File tree

2013/03/28/unattended-ubuntu-install-in-a-vm/index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ <h1><a href="/2013/03/28/unattended-ubuntu-install-in-a-vm/">Unattended Ubuntu i
6161

6262
</section>
6363
<section id="section-2">
64-
<h2 id="getanubuntuinstallationimage">Get an Ubuntu installation image</h2>
64+
<h2 id="get-an-ubuntu-installation-image"><a href="#get-an-ubuntu-installation-image">Get an Ubuntu installation image</a></h2>
6565

6666
<p>I’m using the latest 64-bit LTS server ISO which is marked 12.04.2 at the moment of writing this. I also recommend downloading it via torrent then keep it seeding.</p>
6767

@@ -70,7 +70,7 @@ <h2 id="getanubuntuinstallationimage">Get an Ubuntu installation image</h2>
7070
<li><a href="http://www.ubuntu.com/download/desktop/alternative-downloads">alternative downloads</a></li>
7171
</ul>
7272

73-
<h2 id="mountisoandcopyfiles">Mount ISO and copy files</h2>
73+
<h2 id="mount-iso-and-copy-files"><a href="#mount-iso-and-copy-files">Mount ISO and copy files</a></h2>
7474

7575
<p>Mount the downloaded image then copy the contents to a directory where you can edit the files since the mounted filesystem will be read-only.</p>
7676

@@ -80,11 +80,11 @@ <h2 id="mountisoandcopyfiles">Mount ISO and copy files</h2>
8080
<span class="synStatement">chmod</span> <span class="synSpecial">-R</span> u+w /copy/here/preseed
8181
</code></pre>
8282

83-
<h2 id="modifyfiles">Modify files</h2>
83+
<h2 id="modify-files"><a href="#modify-files">Modify files</a></h2>
8484

8585
<p>Adjust isolinux.cfg and preseed files to your needs. The options needed before the installer mounts the installation media should go into isolinux.cfg as part of the append statement. Every other preconfiguration for the installer could be set in the preseed file (list of preseed options). All path info in the below examples should be seen as if the root directory was the ISO image’s root.</p>
8686

87-
<h2 id="isolinux.cfg">isolinux.cfg</h2>
87+
<h2 id="isolinux.cfg"><a href="#isolinux.cfg">isolinux.cfg</a></h2>
8888

8989
<p>As I intend to use the new image for unattended installation I replaced the original file with the following:</p>
9090

@@ -112,7 +112,7 @@ <h2 id="isolinux.cfg">isolinux.cfg</h2>
112112

113113
<p>The installer mounts the installation media at this point so it could load the specified preseed file and use that from here on.</p>
114114

115-
<h2 id="preseedfile">Preseed file</h2>
115+
<h2 id="preseed-file"><a href="#preseed-file">Preseed file</a></h2>
116116

117117
<p>In order to don’t stop to wait for any user input I needed to specify the following minimal set of preconfiguration options: hostname, initial user’s full name, username and MD5 hashed password, home directory encryption, timezone, partition setup, mirror config, update policy, additional packages to be insalled, GRUB installation, and how to finish the installation.</p>
118118

@@ -159,12 +159,12 @@ <h2 id="preseedfile">Preseed file</h2>
159159

160160
<p><strong>Edit: install acpid by default as it is needed for proper VM shutdown. The initial username/password is ubuntu/ubuntu in this example.</strong></p>
161161

162-
<h2 id="recreateiso">recreate ISO</h2>
162+
<h2 id="recreate-iso"><a href="#recreate-iso">recreate ISO</a></h2>
163163

164164
<pre><code class="highlight">mkisofs <span class="synSpecial">-r</span> <span class="synSpecial">-V</span> <span class="synOperator">&quot;</span><span class="synString">auto-ubuntu-minimalvm</span><span class="synOperator">&quot;</span> <span class="synSpecial">-cache-inodes</span> <span class="synSpecial">-J</span> <span class="synSpecial">-l</span> <span class="synSpecial">-b</span> isolinux/isolinux.bin <span class="synSpecial">-c</span> isolinux/boot.cat <span class="synSpecial">-no-emul-boot</span> <span class="synSpecial">-boot-load-size</span> <span class="synNumber">4</span> <span class="synSpecial">-boot-info-table</span> <span class="synSpecial">-o</span> /path/to/new/iso /copy/here
165165
</code></pre>
166166

167-
<h2 id="boot">boot</h2>
167+
<h2 id="boot"><a href="#boot">boot</a></h2>
168168

169169
<ul>
170170
<li>createqemu image</li>

2023/04/24/host-gentoo-dependency-tarballs-as-github-releases/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ <h1><a href="/2023/04/24/host-gentoo-dependency-tarballs-as-github-releases/">Ho
6969

7070
</section>
7171
<section id="section-2">
72-
<h2 id="thechallenge">The challenge</h2>
72+
<h2 id="the-challenge"><a href="#the-challenge">The challenge</a></h2>
7373

7474
<p>Official Gentoo developers have a personal space on dev.gentoo.org, and
7575
mirroring provided by the Gentoo Infrastructure project. They may decide to
@@ -89,7 +89,7 @@ <h2 id="thechallenge">The challenge</h2>
8989
<li>has no cost or at least an affordable price</li>
9090
</ul>
9191

92-
<h2 id="discardedalternatives">Discarded alternatives</h2>
92+
<h2 id="discarded-alternatives"><a href="#discarded-alternatives">Discarded alternatives</a></h2>
9393

9494
<p>On my business domain it would cost extra money to host tarballs, and traffic
9595
limit might become a problem already around 350 downloads given the total
@@ -106,7 +106,7 @@ <h2 id="discardedalternatives">Discarded alternatives</h2>
106106
GitHub limits free storage to 1 GB, and traffic to 1 GB/month for the former,
107107
and the latter would require an external store to host blobs, though.</p>
108108

109-
<h2 id="theidea">The idea</h2>
109+
<h2 id="the-idea"><a href="#the-idea">The idea</a></h2>
110110

111111
<p>I’m always interested to find the simplest solution that could work for the
112112
given situation, and then iterate from there gradually.</p>
@@ -124,18 +124,18 @@ <h2 id="theidea">The idea</h2>
124124
<li>create a GitHub release in my fork which includes the tarball</li>
125125
</ul>
126126

127-
<h2 id="anexample">An example</h2>
127+
<h2 id="an-example"><a href="#an-example">An example</a></h2>
128128

129129
<p>I have <a href="https://cli.github.com">GitHub CLI</a> installed and configured, so I will use that as an example below along with the app-text/vale ebuild I worked on last time. Similar tools could work as well, like <a href="https://hub.github.com/">hub</a>, or even a mix of browser interactions and plain git commands.</p>
130130

131-
<h3 id="preparetherepository">Prepare the repository</h3>
131+
<h3 id="prepare-the-repository"><a href="#prepare-the-repository">Prepare the repository</a></h3>
132132

133133
<pre><code class="highlight">$ gh repo fork errata-ai/vale
134134
$ cd vale
135135
$ git checkout v2.24.4
136136
</code></pre>
137137

138-
<h3 id="generatetarball">Generate tarball</h3>
138+
<h3 id="generate-tarball"><a href="#generate-tarball">Generate tarball</a></h3>
139139

140140
<p>The <a href="https://devmanual.gentoo.org/eclass-reference/go-module.eclass/index.html">go-module eclass
141141
documentation</a>
@@ -158,7 +158,7 @@ <h3 id="generatetarball">Generate tarball</h3>
158158
Hoffstätte</a> via
159159
<a href="https://fosstodon.org/@asynchronaut/112809755664826257">Mastodon</a>.</p>
160160

161-
<h3 id="creategithubrelease">Create GitHub release</h3>
161+
<h3 id="create-github-release"><a href="#create-github-release">Create GitHub release</a></h3>
162162

163163
<p>First, mark the forked repository as default for this directory. Then create
164164
a GitHub release including our tarball, with clear references to Gentoo usage
@@ -172,15 +172,15 @@ <h3 id="creategithubrelease">Create GitHub release</h3>
172172
version and the purpose. The notes make the purpose of the release clear for
173173
humans to read.</p>
174174

175-
<h3 id="useitinanebuild">Use it in an ebuild</h3>
175+
<h3 id="use-it-in-an-ebuild"><a href="#use-it-in-an-ebuild">Use it in an ebuild</a></h3>
176176

177177
<p>With the GitHub release in place in the fork, add the tarball as an extra
178178
distfile to the <code>SRC_URI</code> in the ebuild:</p>
179179

180180
<pre><code class="highlight">SRC_URI<span class="synOperator">+=&quot;</span><span class="synString"> https://github.com/ferki/vale/releases/download/v</span><span class="synPreProc">${PV}</span><span class="synString">-gentoo-deps/</span><span class="synPreProc">${P}</span><span class="synString">-gentoo-deps.tar.xz</span><span class="synOperator">&quot;</span>
181181
</code></pre>
182182

183-
<h2 id="conclusion">Conclusion</h2>
183+
<h2 id="conclusion"><a href="#conclusion">Conclusion</a></h2>
184184

185185
<p>GitHub releases can host dependency tarballs when packaging Go software for Gentoo as an external contributor.</p>
186186

2023/04/25/packaging-vale-2-24-4-for-gentoo/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ <h1><a href="/2023/04/25/packaging-vale-2-24-4-for-gentoo/">Packaging vale-2.24.
6060

6161
</section>
6262
<section id="section-2">
63-
<h2 id="changes">Changes</h2>
63+
<h2 id="changes"><a href="#changes">Changes</a></h2>
6464

6565
<ul>
6666
<li><p>drop EGO_SUM in favor of dependency tarballs</p>

2023/04/26/gentoo-has-xsel-1-2-1-among-the-firsts/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ <h1><a href="/2023/04/26/gentoo-has-xsel-1-2-1-among-the-firsts/">Gentoo has xse
6363

6464
</section>
6565
<section id="section-2">
66-
<h2 id="whydoesitmatter">Why does it matter?</h2>
66+
<h2 id="why-does-it-matter"><a href="#why-does-it-matter">Why does it matter?</a></h2>
6767

6868
<p>The xsel-1.2.1 release has accumulated several changes over time, including
6969
fixes for segfaults and memory leaks. As a personal highlight, the

2023/08/05/releasing-rex-1-14-3/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ <h1><a href="/2023/08/05/releasing-rex-1-14-3/">Releasing Rex-1.14.3</a></h1>
6060

6161
</section>
6262
<section id="section-2">
63-
<h2 id="fixlocalpackageinstallation">Fix local package installation</h2>
63+
<h2 id="fix-local-package-installation"><a href="#fix-local-package-installation">Fix local package installation</a></h2>
6464

6565
<p>An older contribution aimed at improving OpenBSD management capabilities had
6666
unintended side effects, and – depending on other circumstances – caused
@@ -74,7 +74,7 @@ <h2 id="fixlocalpackageinstallation">Fix local package installation</h2>
7474

7575
<p>I added relevant tests and fixed the default value.</p>
7676

77-
<h2 id="fixcheckingcommandexistence">Fix checking command existence</h2>
77+
<h2 id="fix-checking-command-existence"><a href="#fix-checking-command-existence">Fix checking command existence</a></h2>
7878

7979
<p>In rare cases, command existence checks return an exit code indicating success,
8080
while actually reporting an error in their output.</p>
@@ -92,7 +92,7 @@ <h2 id="fixcheckingcommandexistence">Fix checking command existence</h2>
9292
<p>Instead, Rex now double-checks whether the command candidate actually exists in
9393
the file system or not.</p>
9494

95-
<h2 id="fixtestsrelatedtogitfunctionality">Fix tests related to Git functionality</h2>
95+
<h2 id="fix-tests-related-to-git-functionality"><a href="#fix-tests-related-to-git-functionality">Fix tests related to Git functionality</a></h2>
9696

9797
<p>The previous Rex-1.14.2 came with a new set of tests for Git functionality, and
9898
it all looked fine in our GitHub Actions workflows exercising the test suite on

2023/08/11/local-management-with-rex/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ <h1><a href="/2023/08/11/local-management-with-rex/">Local management with Rex</
5656
combination of local and remote execution. This post summarizes the main
5757
orientation points about local management.</p>
5858

59-
<h2 id="tldr">TL;DR</h2>
59+
<h2 id="tldr"><a href="#tldr">TL;DR</a></h2>
6060

6161
<p>Rex provides several options for local management to choose from, allowing
6262
authors to express their intent explicitly according to their use case at hand:</p>
@@ -73,7 +73,7 @@ <h2 id="tldr">TL;DR</h2>
7373

7474
</section>
7575
<section id="section-2">
76-
<h2 id="basicanatomyofrextaskdefinitions">Basic anatomy of Rex task definitions</h2>
76+
<h2 id="basic-anatomy-of-rex-task-definitions"><a href="#basic-anatomy-of-rex-task-definitions">Basic anatomy of Rex task definitions</a></h2>
7777

7878
<p>For the majority of use cases, I find it best to think about the most important
7979
parts of task definitions like this:</p>
@@ -97,7 +97,7 @@ <h2 id="basicanatomyofrextaskdefinitions">Basic anatomy of Rex task definitions<
9797
<p>I’ll not go into all details here to allow us staying aware of further
9898
internals while focusing on the general approach.</p>
9999

100-
<h2 id="taskswithoutanexplicittarget">Tasks without an explicit target</h2>
100+
<h2 id="tasks-without-an-explicit-target"><a href="#tasks-without-an-explicit-target">Tasks without an explicit target</a></h2>
101101

102102
<p>Tasks without any explicit target get executed on the local machine directly:</p>
103103

@@ -125,7 +125,7 @@ <h2 id="taskswithoutanexplicittarget">Tasks without an explicit target</h2>
125125
task)</a>
126126
section in the documentation.</p>
127127

128-
<h2 id="taskstargetinglocalexplicitly">Tasks targeting <code>&lt;local&gt;</code> explicitly</h2>
128+
<h2 id="tasks-targeting-local-explicitly"><a href="#tasks-targeting-local-explicitly">Tasks targeting <code>&lt;local&gt;</code> explicitly</a></h2>
129129

130130
<p>One may intentionally design a task to manage the local machine by using the
131131
special <code>&lt;local&gt;</code> hostname recognized by Rex:</p>
@@ -142,7 +142,7 @@ <h2 id="taskstargetinglocalexplicitly">Tasks targeting <code>&lt;local&gt;</code
142142
<code>-H</code> or <code>-G</code> options, or with the <code>on</code> option of
143143
<a href="https://metacpan.org/pod/Rex::Commands#run_task"><code>run_task</code></a> from code.</p>
144144

145-
<h2 id="overridethetaskstargettolocal">Override the task’s target to <code>&lt;local&gt;</code></h2>
145+
<h2 id="override-the-tasks-target-to-local"><a href="#override-the-tasks-target-to-local">Override the task’s target to <code>&lt;local&gt;</code></a></h2>
146146

147147
<p>The <code>-H</code> command line option supports the same special <code>&lt;local&gt;</code> hostname:</p>
148148

@@ -166,7 +166,7 @@ <h2 id="overridethetaskstargettolocal">Override the task’s target to <code>&lt
166166
<p>This approach allows users to intentionally choose local execution, regardless
167167
of a task having an explicit target or not.</p>
168168

169-
<h2 id="disablesshpertaskwithno_sshtask">Disable SSH per task with <code>no_ssh task</code></h2>
169+
<h2 id="disable-ssh-per-task-with-no_ssh-task"><a href="#disable-ssh-per-task-with-no_ssh-task">Disable SSH per task with <code>no_ssh task</code></a></h2>
170170

171171
<p>The <code>no_ssh</code> command hints individual tasks to not use SSH:</p>
172172

@@ -190,7 +190,7 @@ <h2 id="disablesshpertaskwithno_sshtask">Disable SSH per task with <code>no_ssh
190190
<p>See also the <a href="https://metacpan.org/pod/Rex::Commands#no_ssh">no_ssh</a>
191191
documentation.</p>
192192

193-
<h2 id="disablesshgloballywithno_ssh">Disable SSH globally with <code>no_ssh</code></h2>
193+
<h2 id="disable-ssh-globally-with-no_ssh"><a href="#disable-ssh-globally-with-no_ssh">Disable SSH globally with <code>no_ssh</code></a></h2>
194194

195195
<p>In case none of the tasks need SSH to connect to their targets, the <code>no_ssh</code>
196196
command can disable it globally:</p>
@@ -212,7 +212,7 @@ <h2 id="disablesshgloballywithno_ssh">Disable SSH globally with <code>no_ssh</co
212212
<p>See also the <a href="https://metacpan.org/pod/Rex::Commands#no_ssh">no_ssh</a>
213213
documentation.</p>
214214

215-
<h2 id="runningpartsofataskwithinlocalblocks">Running parts of a task within <code>LOCAL{}</code> blocks</h2>
215+
<h2 id="running-parts-of-a-task-within-local-blocks"><a href="#running-parts-of-a-task-within-local-blocks">Running parts of a task within <code>LOCAL{}</code> blocks</a></h2>
216216

217217
<p>Wrapping parts of the task steps in a <code>LOCAL{}</code> block forces these to run on
218218
the local machine instead of on the target in effect otherwise:</p>
@@ -233,7 +233,7 @@ <h2 id="runningpartsofataskwithinlocalblocks">Running parts of a task within <co
233233
<p>See also the <a href="https://metacpan.org/pod/Rex::Commands#LOCAL">LOCAL</a>
234234
documentation.</p>
235235

236-
<h2 id="connecttolocalhostoverssh">Connect to local host over SSH</h2>
236+
<h2 id="connect-to-local-host-over-ssh"><a href="#connect-to-local-host-over-ssh">Connect to local host over SSH</a></h2>
237237

238238
<p>Using the identity of the local machine as target makes it possible to treat it
239239
the same way as remotes, including connecting to it using SSH like to any

2024/07/25/packaging-go-dependencies-for-gentoo/index.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h1><a href="/2024/07/25/packaging-go-dependencies-for-gentoo/">Packaging Go dep
6262

6363
</section>
6464
<section id="section-2">
65-
<h2 id="introductiontogentoopackaging">Introduction to Gentoo packaging</h2>
65+
<h2 id="introduction-to-gentoo-packaging"><a href="#introduction-to-gentoo-packaging">Introduction to Gentoo packaging</a></h2>
6666

6767
<p>While I won’t go into great detail about Gentoo packaging here, one aspect
6868
stands out as relevant: requiring all the source packages already available
@@ -102,13 +102,13 @@ <h2 id="introductiontogentoopackaging">Introduction to Gentoo packaging</h2>
102102
Instead, the ebuild must list any supplementary sources, allowing the package
103103
manager to download and verify these in advance as usual.</p>
104104

105-
<h2 id="threewaystoapproachgodependencies">Three ways to approach Go dependencies</h2>
105+
<h2 id="three-ways-to-approach-go-dependencies"><a href="#three-ways-to-approach-go-dependencies">Three ways to approach Go dependencies</a></h2>
106106

107107
<p>Go projects have different ways available to them to describe and manage their
108108
dependencies. This also affects downstream packaging when distributing the
109109
software towards end users. Let’s take a closer look at these methods.</p>
110110

111-
<h3 id="vendordirectory">Vendor directory</h3>
111+
<h3 id="vendor-directory"><a href="#vendor-directory">Vendor directory</a></h3>
112112

113113
<p>Some projects include their dependencies in a <code>vendor</code> directory in their
114114
repository. This feels great from a reproducibility perspective, since the
@@ -126,7 +126,7 @@ <h3 id="vendordirectory">Vendor directory</h3>
126126
<p>Because of the above, projects often won’t or can’t have a <code>vendor</code> directory,
127127
since they may consider it inefficient or even ineffective.</p>
128128

129-
<h3 id="gomodules">Go modules</h3>
129+
<h3 id="go-modules"><a href="#go-modules">Go modules</a></h3>
130130

131131
<p>Go modules describe their dependencies in a <code>go.mod</code> file, accompanied by their
132132
checksums in a <code>go.sum</code> file.</p>
@@ -155,7 +155,7 @@ <h3 id="gomodules">Go modules</h3>
155155
<p>As a result, Gentoo decided to deprecate this approach in favor of dependency
156156
tarballs, and using <code>EGO_SUM</code> in ebuilds leads to QA warnings.</p>
157157

158-
<h3 id="prepackageddependencies">Prepackaged dependencies</h3>
158+
<h3 id="prepackaged-dependencies"><a href="#prepackaged-dependencies">Prepackaged dependencies</a></h3>
159159

160160
<p>What if we could download all dependencies, create a (compressed) tarball
161161
archive out of them, and use it as an auxiliary source for the project getting
@@ -213,7 +213,7 @@ <h3 id="prepackageddependencies">Prepackaged dependencies</h3>
213213
external maintainers and their chosen hosting solution. Sounds risky in any
214214
security-conscious environment.</p>
215215

216-
<h2 id="howcanwedobetter">How can we do better?</h2>
216+
<h2 id="how-can-we-do-better"><a href="#how-can-we-do-better">How can we do better?</a></h2>
217217

218218
<p>At this point I have two approach in mind which would potentially solve the
219219
security and hosting challenges I encountered while packaging.</p>

pages/about.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,19 @@ <h1><a href="/">🧑‍💻 agile sysadmin</a></h1>
3131
</nav>
3232

3333
<main>
34-
<h2 id="comments">Comments</h2>
34+
<h2 id="comments"><a href="#comments">Comments</a></h2>
3535

3636
<p>I intentionally omit a commenting function on this site. If you want to
3737
discuss something, please share the link or a quote on your favorite
3838
platform, and let your network know what you think. If you would like to
3939
involve me, please tag me directly on one of the platforms I use.</p>
4040

41-
<h2 id="mistakes">Mistakes</h2>
41+
<h2 id="mistakes"><a href="#mistakes">Mistakes</a></h2>
4242

4343
<p>In case you find something factually wrong, I would appreciate if you contact
4444
me on one of my channels, so I can fix it.</p>
4545

46-
<h2 id="techstack">Tech stack</h2>
46+
<h2 id="tech-stack"><a href="#tech-stack">Tech stack</a></h2>
4747

4848
<ul>
4949
<li>Built with <a href="http://preaction.me/statocles">Statocles</a></li>
@@ -52,7 +52,7 @@ <h2 id="techstack">Tech stack</h2>
5252
<li>Hosted on <a href="https://pages.github.com">GitHub Pages</a></li>
5353
</ul>
5454

55-
<h2 id="history">History</h2>
55+
<h2 id="history"><a href="#history">History</a></h2>
5656

5757
<p>Initial content comes from my previous <a href="https://agilesysadmin.wordpress.com/">Agile
5858
sysadmin</a> blog.</p>

pages/impressum.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,21 @@ <h1><a href="/">🧑‍💻 agile sysadmin</a></h1>
3232
</nav>
3333

3434
<main>
35-
<h1 id="impressum">Impressum</h1>
35+
<h1 id="impressum"><a href="#impressum">Impressum</a></h1>
3636

37-
<h2 id="angabengem5tmg">Angaben gemäß 5 TMG</h2>
37+
<h2 id="angaben-gem-5-tmg"><a href="#angaben-gem-5-tmg">Angaben gemäß 5 TMG</a></h2>
3838

3939
<p>Ferenc Erki <br>
4040
IT consulting <br>
4141
Naugarder Str. 47 <br>
4242
10409 Berlin</p>
4343

44-
<h2 id="kontakt">Kontakt</h2>
44+
<h2 id="kontakt"><a href="#kontakt">Kontakt</a></h2>
4545

4646
<p>Telefon: +4917686096002 <br>
4747
E-Mail: ferki@ferki.it</p>
4848

49-
<h2 id="umsatzsteuer-id">Umsatzsteuer-ID</h2>
49+
<h2 id="umsatzsteuer-id"><a href="#umsatzsteuer-id">Umsatzsteuer-ID</a></h2>
5050

5151
<p>Umsatzsteuer-Identifikationsnummer gemäß 27 a Umsatzsteuergesetz: <br>
5252
DE328787869</p>

0 commit comments

Comments
 (0)