Fixing various css problems.

master
Ingolf Wagner 2022-10-20 10:46:40 +02:00
parent 7433e20e01
commit b8c9f03288
Signed by: palo
GPG Key ID: 76BF5F1928B9618B
13 changed files with 1119 additions and 177 deletions

View File

@ -1,6 +1,6 @@
[tech.ingolf-wagner.de](https://tech.ingolf-wagner.de) source code.
```
rake run_server
rake publish
nix run # to run local server
nix run ".#publish" # to publish site
```

View File

@ -1,69 +1,350 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 608 588" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 592.06694 460.41859"
version="1.1"
id="svg60567"
sodipodi:docname="2subnets.svg"
width="156.65105mm"
height="121.81908mm"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="namedview60569"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
units="mm"
lock-margins="true"
fit-margin-top="1.5"
fit-margin-left="1.5"
fit-margin-right="1.5"
fit-margin-bottom="1.5"
inkscape:zoom="1.9013605"
inkscape:cx="175.66369"
inkscape:cy="202.22361"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg60567"
inkscape:document-units="mm" />
<defs
id="defs_block" />
<title
id="title60489">blockdiag</title>
<desc
id="desc60491">
nwdiag {
internet [shape = cloud];
internet -- Gibson [address = "my.awesome.dns.com"]
internet -- Gibson [address = &quot;my.awesome.dns.com&quot;]
network private {
address = "10.1.1.0/24";
address = &quot;10.1.1.0/24&quot;;
Gibson [address = "10.1.1.1"];
Hackbardt [address = "10.1.1.2"];
HAL [address = "10.1.1.3"];
Gibson [address = &quot;10.1.1.1&quot;];
Hackbardt [address = &quot;10.1.1.2&quot;];
HAL [address = &quot;10.1.1.3&quot;];
}
network "private (subnet)" {
Hackbardt [address = "10.2.2.0/24"];
HAL [address = "10.2.3.0/24"];
network &quot;private (subnet)&quot; {
Hackbardt [address = &quot;10.2.2.0/24&quot;];
HAL [address = &quot;10.2.3.0/24&quot;];
}
}
</desc>
<path d="M 171 178 A16,8 0 0 1 187 170 A16,6 0 0 1 227 170 A16,8 0 0 1 243 178 A16,8 0 0 1 243 194 A16,20 0 0 1 219 194 A16,20 0 0 1 195 194 A16,20 0 0 1 171 194 A16,8 0 0 1 171 178" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="155" y="306" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="307" y="450" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="459" y="450" />
<path d="M 131 391 L 587 391 A2,4 0 0 1 587 399 L 131 399 A2,4 0 0 1 131 391" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
<path d="M 283 535 L 587 535 A2,4 0 0 1 587 543 L 283 543 A2,4 0 0 1 283 535" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
<path d="M 128 388 L 584 388 A2,4 0 0 1 584 396 L 128 396 A2,4 0 0 1 128 388" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
<path d="M 584 396 A2,4 0 0 1 584 388" fill="none" stroke="rgb(0,0,0)" />
<path d="M 128 388 L 584 388" fill="none" stroke="none" />
<path d="M 280 532 L 584 532 A2,4 0 0 1 584 540 L 280 540 A2,4 0 0 1 280 532" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
<path d="M 584 540 A2,4 0 0 1 584 532" fill="none" stroke="rgb(0,0,0)" />
<path d="M 280 532 L 584 532" fill="none" stroke="none" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="42" x="99.0" y="391">private</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="87.0" y="404">10.1.1.0/24</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="218.0" y="542">"private (subnet)"</text>
<path d="M 204 104 L 204 156" fill="none" stroke="rgb(0,0,0)" />
<path d="M 204 196 L 204 248" fill="none" stroke="rgb(0,0,0)" />
<path d="M 168 172 A16,8 0 0 1 184 164 A16,6 0 0 1 224 164 A16,8 0 0 1 240 172 A16,8 0 0 1 240 188 A16,20 0 0 1 216 188 A16,20 0 0 1 192 188 A16,20 0 0 1 168 188 A16,8 0 0 1 168 172" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="204.0" y="182">internet</text>
<path d="M 204 248 L 204 300" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="270.0" y="280">my.awesome.dns.com</text>
<path d="M 204 340 L 204 388" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="240.0" y="368">10.1.1.1</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="152" y="300" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="204.0" y="326">Gibson</text>
<path d="M 356 396 L 356 444" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="392.0" y="424">10.1.1.2</text>
<path d="M 356 484 L 356 532" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="401.0" y="512">10.2.2.0/24</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="304" y="444" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="356.0" y="470">Hackbardt</text>
<path d="M 508 396 L 508 444" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="544.0" y="424">10.1.1.3</text>
<path d="M 508 484 L 508 532" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="553.0" y="512">10.2.3.0/24</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="456" y="444" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="508.0" y="470">HAL</text>
<path
d="M 78.601518,289.66929 H 534.60152 a 2,4 0 0 1 0,8 H 78.601518 a 2,4 0 0 1 0,-8"
fill="#b9cbe4"
stroke="#000000"
id="path60505" />
<path
d="m 534.60152,297.66929 a 2,4 0 0 1 0,-8"
fill="none"
stroke="#000000"
id="path60507" />
<path
d="M 78.601518,289.66929 H 534.60152"
fill="none"
stroke="none"
id="path60509" />
<path
d="m 230.60152,433.66929 h 304 a 2,4 0 0 1 0,8 h -304 a 2,4 0 0 1 0,-8"
fill="#b9cbe4"
stroke="#000000"
id="path60511" />
<path
d="m 534.60152,441.66929 a 2,4 0 0 1 0,-8"
fill="none"
stroke="#000000"
id="path60513" />
<path
d="m 230.60152,433.66929 h 304"
fill="none"
stroke="none"
id="path60515" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="42"
x="99"
y="391"
id="text60517"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">private</text>
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="66"
x="87"
y="404"
id="text60519"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.0/24</text>
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="108"
x="218"
y="542"
id="text60521"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">&quot;private (subnet)&quot;</text>
<path
d="M 154.60152,5.6692913 V 57.669291"
fill="none"
stroke="#000000"
id="path60523" />
<path
d="M 154.60152,97.669291 V 149.66929"
fill="none"
stroke="#000000"
id="path60525" />
<path
d="m 118.60152,73.669291 a 16,8 0 0 1 16,-8 20,7.5 0 0 1 40,0 16,8 0 0 1 16,8 16,8 0 0 1 0,16 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,8 0 0 1 0,-16"
fill="#ffffff"
stroke="#000000"
id="path60527"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="204"
y="182"
id="text60529"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">internet</text>
<path
d="m 154.60152,149.66929 v 52"
fill="none"
stroke="#000000"
id="path60531" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="108"
x="270"
y="280"
id="text60533"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">my.awesome.dns.com</text>
<path
d="m 154.60152,241.66929 v 48"
fill="none"
stroke="#000000"
id="path60535" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="240"
y="368"
id="text60537"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.1</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="102.60152"
y="201.6693"
id="rect60539"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="36"
x="204"
y="326"
id="text60541"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">Gibson</text>
<path
d="m 306.60152,297.66929 v 48"
fill="none"
stroke="#000000"
id="path60543" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="392"
y="424"
id="text60545"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.2</text>
<path
d="m 306.60152,385.66929 v 48"
fill="none"
stroke="#000000"
id="path60547" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="66"
x="401"
y="512"
id="text60549"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.2.2.0/24</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="254.60152"
y="345.66928"
id="rect60551"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="54"
x="356"
y="470"
id="text60553"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">Hackbardt</text>
<path
d="m 458.60152,297.66929 v 48"
fill="none"
stroke="#000000"
id="path60555" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="544"
y="424"
id="text60557"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.3</text>
<path
d="m 458.60152,385.66929 v 48"
fill="none"
stroke="#000000"
id="path60559" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="66"
x="553"
y="512"
id="text60561"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.2.3.0/24</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="406.60153"
y="345.66928"
id="rect60563"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="18"
x="508"
y="470"
id="text60565"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">HAL</text>
<metadata
id="metadata60640">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>blockdiag</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -1,55 +1,281 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg viewBox="0 0 608 588" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs id="defs_block">
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
</filter>
</defs>
<title>blockdiag</title>
<desc>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 592.06694 447.73858"
version="1.1"
id="svg60634"
sodipodi:docname="3computers.svg"
width="156.65105mm"
height="118.46416mm"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="namedview60636"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
lock-margins="true"
units="mm"
fit-margin-top="1.5"
fit-margin-left="1.5"
fit-margin-right="1.5"
fit-margin-bottom="1.5"
inkscape:zoom="1.9013605"
inkscape:cx="274.54025"
inkscape:cy="212.7424"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg60634"
inkscape:document-units="mm" />
<defs
id="defs_block" />
<title
id="title60574">blockdiag</title>
<desc
id="desc60576">
nwdiag {
internet [shape = cloud];
internet -- Gibson [address = "my.awesome.dns.com"]
internet -- Gibson [address = &quot;my.awesome.dns.com&quot;]
network private {
address = "10.1.1.0/24";
address = &quot;10.1.1.0/24&quot;;
Gibson [address = "10.1.1.1"];
Hackbardt [address = "10.1.1.2"];
HAL [address = "10.1.1.3"];
Gibson [address = &quot;10.1.1.1&quot;];
Hackbardt [address = &quot;10.1.1.2&quot;];
HAL [address = &quot;10.1.1.3&quot;];
}
}
</desc>
<path d="M 171 178 A16,8 0 0 1 187 170 A16,6 0 0 1 227 170 A16,8 0 0 1 243 178 A16,8 0 0 1 243 194 A16,20 0 0 1 219 194 A16,20 0 0 1 195 194 A16,20 0 0 1 171 194 A16,8 0 0 1 171 178" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="155" y="306" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="307" y="450" />
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="459" y="450" />
<path d="M 131 391 L 587 391 A2,4 0 0 1 587 399 L 131 399 A2,4 0 0 1 131 391" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
<path d="M 128 388 L 584 388 A2,4 0 0 1 584 396 L 128 396 A2,4 0 0 1 128 388" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
<path d="M 584 396 A2,4 0 0 1 584 388" fill="none" stroke="rgb(0,0,0)" />
<path d="M 128 388 L 584 388" fill="none" stroke="none" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="42" x="99.0" y="391">private</text>
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="87.0" y="404">10.1.1.0/24</text>
<path d="M 204 104 L 204 156" fill="none" stroke="rgb(0,0,0)" />
<path d="M 204 196 L 204 248" fill="none" stroke="rgb(0,0,0)" />
<path d="M 168 172 A16,8 0 0 1 184 164 A16,6 0 0 1 224 164 A16,8 0 0 1 240 172 A16,8 0 0 1 240 188 A16,20 0 0 1 216 188 A16,20 0 0 1 192 188 A16,20 0 0 1 168 188 A16,8 0 0 1 168 172" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="204.0" y="182">internet</text>
<path d="M 204 248 L 204 300" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="270.0" y="280">my.awesome.dns.com</text>
<path d="M 204 340 L 204 388" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="240.0" y="368">10.1.1.1</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="152" y="300" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="204.0" y="326">Gibson</text>
<path d="M 356 396 L 356 444" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="392.0" y="424">10.1.1.2</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="304" y="444" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="356.0" y="470">Hackbardt</text>
<path d="M 508 396 L 508 444" fill="none" stroke="rgb(0,0,0)" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="544.0" y="424">10.1.1.3</text>
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="456" y="444" />
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="508.0" y="470">HAL</text>
<path
d="M 78.601518,289.66929 H 534.60152 a 2,4 0 0 1 0,8 H 78.601518 a 2,4 0 0 1 0,-8"
fill="#b9cbe4"
stroke="#000000"
id="path60588" />
<path
d="m 534.60152,297.66929 a 2,4 0 0 1 0,-8"
fill="none"
stroke="#000000"
id="path60590" />
<path
d="M 78.601518,289.66929 H 534.60152"
fill="none"
stroke="none"
id="path60592" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="42"
x="99"
y="391"
id="text60594"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">private</text>
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="66"
x="87"
y="404"
id="text60596"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.0/24</text>
<path
d="M 154.60152,5.6692913 V 57.669291"
fill="none"
stroke="#000000"
id="path60598" />
<path
d="M 154.60152,97.669291 V 149.66929"
fill="none"
stroke="#000000"
id="path60600" />
<path
d="m 118.60152,73.669291 a 16,8 0 0 1 16,-8 20,7.5 0 0 1 40,0 16,8 0 0 1 16,8 16,8 0 0 1 0,16 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,8 0 0 1 0,-16"
fill="#ffffff"
stroke="#000000"
id="path60602"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="204"
y="182"
id="text60604"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">internet</text>
<path
d="m 154.60152,149.66929 v 52"
fill="none"
stroke="#000000"
id="path60606" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="108"
x="270"
y="280"
id="text60608"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">my.awesome.dns.com</text>
<path
d="m 154.60152,241.66929 v 48"
fill="none"
stroke="#000000"
id="path60610" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="240"
y="368"
id="text60612"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.1</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="102.60152"
y="201.6693"
id="rect60614"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="36"
x="204"
y="326"
id="text60616"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">Gibson</text>
<path
d="m 306.60152,297.66929 v 48"
fill="none"
stroke="#000000"
id="path60618" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="392"
y="424"
id="text60620"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.2</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="254.60152"
y="345.66928"
id="rect60622"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="54"
x="356"
y="470"
id="text60624"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">Hackbardt</text>
<path
d="m 458.60152,297.66929 v 48"
fill="none"
stroke="#000000"
id="path60626" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="48"
x="544"
y="424"
id="text60628"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">10.1.1.3</text>
<rect
fill="#ffffff"
height="40"
stroke="#000000"
width="104"
x="406.60153"
y="345.66928"
id="rect60630"
style="fill:none" />
<text
fill="#000000"
font-family="sans-serif"
font-size="11px"
font-style="normal"
font-weight="normal"
text-anchor="middle"
textLength="18"
x="508"
y="470"
id="text60632"
lengthAdjust="spacing"
transform="translate(-49.398482,-98.330709)">HAL</text>
<metadata
id="metadata60638">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>blockdiag</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -0,0 +1,254 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="163.95656mm"
height="85.695374mm"
viewBox="0 0 163.95656 85.695374"
version="1.1"
id="svg26511"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="qemu-kvm-setup.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview26513"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.8170388"
inkscape:cx="372.02185"
inkscape:cy="119.80666"
inkscape:window-width="2556"
inkscape:window-height="1436"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer3"
lock-margins="true"
fit-margin-top="1.5"
fit-margin-left="1.5"
fit-margin-right="1.5"
fit-margin-bottom="1.5" />
<defs
id="defs26508">
<marker
style="overflow:visible"
id="Arrow2Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:isstock="true">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
id="path26692" />
</marker>
<marker
style="overflow:visible"
id="marker26957"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path26955" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path26674" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mstart"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mstart"
inkscape:isstock="true">
<path
transform="scale(0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
id="path26695" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Sstart"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Sstart"
inkscape:isstock="true">
<path
transform="matrix(0.3,0,0,0.3,-0.69,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
id="path26701" />
</marker>
</defs>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Layer 2"
transform="translate(-11.982074,-21.964117)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
id="rect26550"
width="115.06891"
height="82.495377"
x="13.582074"
y="23.564117" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
id="rect26552"
width="32.57613"
height="10.205474"
x="141.7625"
y="37.863419" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
id="rect26554"
width="72.29763"
height="39.356071"
x="51.037868"
y="57.229633" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 13.555926,33.277492 H 27.272789 V 23.517457"
id="path26608" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 50.930566,67.346684 H 99.245794 V 57.511473"
id="path26610" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 141.69494,41.488036 H 76.658099"
id="path26612" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 27.030677,46.518414 V 77.140349 H 59.501682"
id="path26973"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="m 71.579758,77.10685 h 19.631681 v 6.6211"
id="path26975" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 89.441093,57.178433 V 44.583544 h 51.202597"
id="path26977"
sodipodi:nodetypes="ccc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="61.244846"
y="78.313263"
id="text32222"><tspan
sodipodi:role="line"
id="tspan32220"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="61.244846"
y="78.313263">sshd</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="66.268555"
y="88.277306"
id="text36868"><tspan
sodipodi:role="line"
id="tspan36866"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="66.268555"
y="88.277306">nixos-rebuild switch</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="54.093658"
y="62.60902"
id="text39732"><tspan
sodipodi:role="line"
id="tspan39730"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="54.093658"
y="62.60902" /></text>
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="55.435448"
y="63.666706"
id="text42728"><tspan
sodipodi:role="line"
id="tspan42726"
style="stroke-width:0.264583"
x="55.435448"
y="63.666706">qemu-kvm /dev/sdb</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="15.95615"
y="29.764059"
id="text48250"><tspan
sodipodi:role="line"
id="tspan48248"
style="stroke-width:0.264583"
x="15.95615"
y="29.764059">host</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="20.977367"
y="44.197021"
id="text49574"><tspan
sodipodi:role="line"
id="tspan49572"
style="stroke-width:0.264583"
x="20.977367"
y="44.197021">colmena</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="57.19186"
y="42.669193"
id="text51536"><tspan
sodipodi:role="line"
id="tspan51534"
style="stroke-width:0.264583"
x="57.19186"
y="42.669193">/dev/sdb</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
x="148.55846"
y="43.976742"
id="text55214"><tspan
sodipodi:role="line"
id="tspan55212"
style="stroke-width:0.264583"
x="148.55846"
y="43.976742">usb-stick</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="110.46066mm"
height="41.361336mm"
viewBox="0 0 110.46062 41.361336"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="usb-stick-partitions.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="196.92924"
inkscape:cy="60.634407"
inkscape:window-width="2556"
inkscape:window-height="1436"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer2"
fit-margin-top="1.5"
fit-margin-left="1.5"
fit-margin-right="1.5"
fit-margin-bottom="1.5"
lock-margins="true" />
<defs
id="defs2" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
transform="translate(-22.29669,-14.720924)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect44"
width="88.651665"
height="37.361336"
x="42.105679"
y="16.720924" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 50.993066,53.783195 V 25.111681 h 79.767774"
id="path1114"
sodipodi:nodetypes="ccc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.151373;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
x="44.726772"
y="22.669426"
id="text4176"><tspan
sodipodi:role="line"
id="tspan4174"
style="fill:#000000;fill-opacity:1;stroke-width:0.151373;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
x="44.726772"
y="22.669426">USB stick</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
x="54.430748"
y="30.861319"
id="text5038"><tspan
sodipodi:role="line"
id="tspan5036"
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
x="54.430748"
y="30.861319">/dev/sda1 boot1 (MBR 1MB)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
x="54.430748"
y="39.026749"
id="text5936"><tspan
sodipodi:role="line"
id="tspan5934"
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
x="54.430748"
y="39.026749">/dev/sda2 boot2 (EFI 511MB)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
x="54.430748"
y="47.192181"
id="text8700"><tspan
sodipodi:role="line"
id="tspan8698"
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
x="54.430748"
y="47.192181">/dev/sda3 root (ext4 &gt; 64GB)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
x="86.616371"
y="52.156216"
id="text9430"><tspan
sodipodi:role="line"
id="tspan9428"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
x="86.616371"
y="52.156216">(encrypted)</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 51.01631,33.86599 h 79.85925"
id="path11809"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 50.95848,41.642773 h 80.06198"
id="path11811"
sodipodi:nodetypes="cc" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12235"
width="17.683184"
height="17.683184"
x="24.29669"
y="26.111729" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12361"
width="8.4353819"
height="2.0950499"
x="29.423376"
y="31.978249" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12361-7"
width="11.610385"
height="2.0950508"
x="26.248373"
y="27.894917" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12361-3"
width="8.4353819"
height="2.0950499"
x="29.423376"
y="36.061569" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect12361-7-5"
width="11.610385"
height="2.0950508"
x="26.248373"
y="40.144897" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -11,52 +11,39 @@ summary: >
running NixOS.
---
How to Create and update an bootable Linux USB stick, which is encrypted
How to Create and update a bootable Linux USB stick, which is encrypted
is quite easy and has some use cases.
* As ultimate backup
* As a holiday tool
* For schools
# Requirements
# Requirments
## USB Stick
You need an USB stick with at least 64GB otherwise major updates might get problematic.
You need a USB stick with at least 64GB otherwise major updates might get problematic.
The USB stick, which should hold the system, will be `/dev/sdb`.
You can plugin the usb stick and run `dmesg` to find out which device we are using
You can plug in the usb stick and run `dmesg` to find out which device we are using
# Step by Step Guide
# Step-by-Step Guide
Here are the steps I use to create my encrypted USB sticks running NixOS.
## format and create gpt partition table
## Create partitions
```
┌────────────────────────────────┐
│USB-stick │
│ ┌──────────────────────────────┤
│ │ /dev/sda1 boot1 (MBR 1MB) │
│ ├──────────────────────────────┤
│ │ /dev/sda2 boot2 (EFI 511MB) │
│ ├──────────────────────────────┤
│ │ │
│ │ /dev/sda3 root (ext4 > 64GB) │
│ │ (encrypted) │
└─┴──────────────────────────────┘
```
{{< card footer="usb stick partitions" >}}
{{<figure src="../images/usb-stick-partitions.svg" align=center >}}
{{< /card >}}
> We use 511 MB for the boot partition, but you might want to increas this partition,
> if you want to place bootable ISOs on that partiton you want to boot instead of your NixOS system.
> We use 511 MB for the boot partition, but you might want to increase this partition,
> if you want to place bootable ISOs on that partition you want to boot instead of your NixOS system.
> We create an EFI partition as well a 1MB MBR partiton to make the stick boot
> We create an EFI partition as well a 1MB MBR partition to make the stick boot
> on all kinds of computers.
I always delete all partitions using `fdisk` before starting repartitioning.
Than I start with the partitioning.
First I delete all partitions using `fdisk` before starting repartitioning,
then I start with the partitioning.
```shell
parted /dev/sdb -- mklabel gpt
@ -67,69 +54,64 @@ parted /dev/sdb -- set 2 boot on
parted /dev/sdb -- mkpart primary 512MiB 100%
```
It most likely is not necesary but to be sure, I unplug and plug the USB device again
to be sure the new partiton table will be used.
It most likely is not necessary but to be sure, I unplug and plug the USB device again
to be sure the new partition table will be used.
## create and encrypt partition
## Encrypt and format root partition
```shell
cryptsetup luksFormat /dev/sdb3
cryptsetup luksOpen /dev/sdb3 root-enc
mkfs.ext4 -L root /dev/mapper/root-enc
```
This will be the password you have to type in every time you boot the USB Stick.
## create boot partitions
## Format boot partition
```shell
mkfs.fat -F 32 -n boot /dev/sdb2
mkfs.ext4 -L root /dev/mapper/root-enc
```
## prepare installation
## Prepare installation
We have to mount the created partitons.
We have to mount the created partitions
to generate initial configuration files.
```shell
mount /dev/mapper/root-enc /mnt
mkdir /mnt/boot && mount /dev/sdb2 /mnt/boot
```
And generate inital configuration files.
```shell
nixos-generate-config --root /mnt
```
Now you can update `configuration.nix`
before installation.
Now you can update `configuration.nix` before installation.
You can `hardware-configuration.nix` edit as too,
but usally that is not necessary.
but usually that is not necessary.
> don't forget to set your ssh key in `users.users.<name>.openssh.authorizedKeys.keys`
> und `users.users.<name>.openssh.authorizedKeys.keyFiles`
I usually have also these configurations set
```
```nix
environment.systemPackages = with pkgs; [
vim
wget
htop
silver-searcher
iotop
vim wget htop silver-searcher iotop
];
# use vi shortcuts
environment.extraInit = ''
# use vi shortcuts
# ----------------
set -o vi
EDITOR=vim
'';
```
These options have to be added to make it bootable and to start it with qemu-kvm (See [Update stick using qemu-kvm](#update-stick-using-qemu-kvm))
These options have to be added to make it bootable and to start it with qemu-kvm
(See [Update stick using qemu-kvm](#update-stick-using-qemu-kvm))
```
```nix
boot.loader.grub.enable = true;
boot.loader.grub.efiSupport = true;
boot.loader.grub.device = "/dev/sdb"; # todo : change me once the system booted
@ -139,7 +121,7 @@ boot.tmpOnTmpfs = true;
You most likely have to disable these parameters
```
```nix
boot.loader.systemd-boot.enable = false;
boot.loader.efi.canTouchEfiVariables = false;
```
@ -168,32 +150,15 @@ root partition is encrypted.
To run frequent updates, it might be a hassle to boot a dedicated machine to access these updates.
This is why I use `qemu` to start the machine and update the machine via [colmena](https://colmena.cli.rs/unstable/reference/)
which my prefered NixOS provisioning system. Of course your favorit provisioning tool will work as well.
which my preferred NixOS provisioning system. Of course your favorite provisioning tool will work as well.
```
┌────┬─────────────────────────────────────┐
│host│ │
├────┘ │
│ │ ┌───────────┐
│ colmena /dev/sdb ◄─────┬────────────┼────┤ usb-stick │
│ │ │ │ └───────────┘
│ │ │ │
│ │ ┌───────────────┴─┬────────┐ │
│ │ │qemu-kvm /dev/sdb│ │ │
│ │ ├─────────────────┘ │ │
│ │ │ │ │
│ └────────┤► sshd ───────┐ │ │
│ │ ▼ │ │
│ │ nixos-rebuild switch │ │
│ │ │ │
│ └──────────────────────────┘ │
│ │
└──────────────────────────────────────────┘
```
{{< card footer="partitions on the usb-stick">}}
{{<figure src="../images/qemu-kvm-setup.svg" align=center >}}
{{< /card >}}
To run `qemu-kvm` on you machine, you need these options in your host `configuration.nix`.
```
```nix
virtualisation.libvirtd.enable = true;
users.users.mainUser.extraGroups = [ "libvirtd" ];
environment.systemPackages = [
@ -202,8 +167,9 @@ environment.systemPackages = [
];
```
To start the machine you simple have to run this command:
To start the machine you simply have to run this command:
{{% code footer="start vm from /dev/sdb with port forwarding 2222 -> 22" %}}
```shell
sudo qemu-kvm \
-m 4G \
@ -211,6 +177,7 @@ sudo qemu-kvm \
-net user,hostfwd=tcp:127.0.0.1:2222-:22 \
-net nic
```
{{% /code %}}
![screenshot1.png](../images/screenshot1.png)
@ -226,7 +193,6 @@ ssh root@localhost -p2222
So you should be able to update you usb stick with the comfort of you normal desktop setup.
# further inspirations
* [Yubikey based Full Disk Encryption (NixOS Wiki)](https://nixos.wiki/wiki/Yubikey_based_Full_Disk_Encryption_(FDE)_on_NixOS)

View File

@ -4,4 +4,5 @@
{{ with .Get "text" }}<p>{{ . }}<p>{{ end }}
{{ .Inner }}
</div>
{{ with .Get "footer" }}<div class="card-footer">{{ . }}</div>{{ end }}
</div>

View File

@ -0,0 +1,5 @@
<div class="code-block">
{{ with .Get "header" }}<div class="code-header">{{ . }}</div>{{ end }}
{{.Inner}}
{{ with .Get "footer" }}<div class="code-footer">{{ . }}</div>{{ end }}
</div>

View File

@ -4,9 +4,12 @@
@color-body-background: @gb-lm-bg0-hard;
@color-body-background-highlight: @gb-lm-bg0-soft;
@color-body-font: @gb-lm-fg0;
@color-header-font-symbol: @gb-lm-light-gray;
@color-code-border: @gb-lm-light-yellow;
@color-code-inline: @gb-lm-light-gray;
@color-code-footer: @gb-lm-fg4;
@color-code-header: @gb-lm-fg4;
@color-note-background: @color-body-background;
@color-note-border: @gb-lm-light-green;

View File

@ -1,7 +1,7 @@
@font-normal: ~"'Roboto', sans-serif";
//@font-code: ~"'Inconsolata', monospace";
@font-code: ~"monospace"; // because diagrams look strange
@font-code: ~"'Inconsolata', monospace";
//@font-code: ~"monospace"; // because diagrams look strange
@font-header: ~"'Roboto', sans-serif";
//@font-header: ~"'Zilla Slab', serif";

View File

@ -57,6 +57,21 @@ blockquote{
border-top: 2px solid @color-card-border;
border-left: 2px solid @color-card-border;
border-right: 2px solid @color-card-border;
}
.card-footer{
text-align: right;
color: @color-code-footer;
padding-top: .3em ;
padding-bottom: .3em;
padding-left: .5em;
padding-right: .5em;
border-bottom: 2px solid @color-card-border;
border-left: 2px solid @color-card-border;
border-right: 2px solid @color-card-border;
}
.card-body{

View File

@ -40,3 +40,34 @@
li > code {
.inline-code();
}
.code-block {
margin-bottom: @standard-margin;
margin-top: @standard-margin;
.code-header{
text-align: left;
color: @color-code-header;
border-top: 1px solid @color-code-border;
border-left: 1px solid @color-code-border;
border-right: 1px solid @color-code-border;
padding-left: .5em;
padding-top: .3em ;
padding-right: .5em;
padding-bottom: 0.3em;
}
pre {
margin-bottom: 0;
margin-top: 0;
}
.code-footer {
text-align: right;
color: @color-code-footer;
border-bottom: 1px solid @color-code-border;
border-left: 1px solid @color-code-border;
border-right: 1px solid @color-code-border;
padding-left: .5em;
padding-top: .3em ;
padding-right: .5em;
padding-bottom: 0.3em;
}
}

View File

@ -30,7 +30,7 @@ h1, h2, h3, h4, h5, h6 {
h1:before, h2:before, h3:before, h4:before, h5:before, h6:before {
display: inline;
color: @gb-lm-fg4;
color: @color-header-font-symbol;
}
h1:before {