Installation.html 78 KB

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
  5. <title>Installation</title><link href=',700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; }
  6. .mac-os-11 { --title-bar-height:28px; }
  7. html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
  8. body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
  9. iframe { margin: auto; }
  10. a.url { word-break: break-all; }
  11. a:active, a:hover { outline: 0px; }
  12. .in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
  13. #write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; }
  14. #write.first-line-indent p { text-indent: 2em; }
  15. #write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
  16. #write.first-line-indent li { margin-left: 2em; }
  17. .for-image #write { padding-left: 8px; padding-right: 8px; }
  18. body.typora-export { padding-left: 30px; padding-right: 30px; }
  19. .typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
  20. .typora-export .task-list-item input { pointer-events: none; }
  21. @media screen and (max-width: 500px) {
  22. body.typora-export { padding-left: 0px; padding-right: 0px; }
  23. #write { padding-left: 20px; padding-right: 20px; }
  24. .CodeMirror-sizer { margin-left: 0px !important; }
  25. .CodeMirror-gutters { display: none !important; }
  26. }
  27. #write li > figure:last-child { margin-bottom: 0.5rem; }
  28. #write ol, #write ul { position: relative; }
  29. img { max-width: 100%; vertical-align: middle; image-orientation: from-image; }
  30. button, input, select, textarea { color: inherit; font: inherit; }
  31. input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
  32. *, ::after, ::before { box-sizing: border-box; }
  33. #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
  34. #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
  35. p { line-height: inherit; }
  36. h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }
  37. p { orphans: 4; }
  38. h1 { font-size: 2rem; }
  39. h2 { font-size: 1.8rem; }
  40. h3 { font-size: 1.6rem; }
  41. h4 { font-size: 1.4rem; }
  42. h5 { font-size: 1.2rem; }
  43. h6 { font-size: 1rem; }
  44. .md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
  45. .hidden { display: none; }
  46. .md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
  47. a { cursor: pointer; }
  48. { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
  49. a, a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
  50. #write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
  51. figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
  52. figure > table { margin: 0px; }
  53. tr { break-inside: avoid; break-after: auto; }
  54. thead { display: table-header-group; }
  55. table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
  56. td { min-width: 32px; }
  57. .CodeMirror-gutters { border-right: 0px; background-color: inherit; }
  58. .CodeMirror-linenumber { user-select: none; }
  59. .CodeMirror { text-align: left; }
  60. .CodeMirror-placeholder { opacity: 0.3; }
  61. .CodeMirror pre { padding: 0px 4px; }
  62. .CodeMirror-lines { padding: 0px; }
  63. { cursor: none; }
  64. #write pre { white-space: pre-wrap; }
  65. #write.fences-no-line-wrapping pre { white-space: pre; }
  66. #write pre.ty-contain-cm { white-space: normal; }
  67. .CodeMirror-gutters { margin-right: 4px; }
  68. .md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
  69. .md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
  70. #write .md-fences.mock-cm { white-space: pre-wrap; }
  71. { padding-left: 0px; }
  72. #write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
  73. { padding-left: 8px; }
  74. .CodeMirror-line, twitterwidget { break-inside: avoid; }
  75. .footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
  76. .footnotes + .footnotes { margin-top: 0px; }
  77. .md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
  78. li div { padding-top: 0px; }
  79. blockquote { margin: 1rem 0px; }
  80. li .mathjax-block, li p { margin: 0.5rem 0px; }
  81. li blockquote { margin: 1rem 0px; }
  82. li { margin: 0px; position: relative; }
  83. blockquote > :last-child { margin-bottom: 0px; }
  84. blockquote > :first-child, li > :first-child { margin-top: 0px; }
  85. .footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
  86. #write .footnote-line { white-space: pre-wrap; }
  87. @media print {
  88. body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }
  89. #write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
  90. .typora-export * { -webkit-print-color-adjust: exact; }
  91. .typora-export #write { break-after: avoid; }
  92. .typora-export #write::after { height: 0px; }
  93. .is-mac table { break-inside: avoid; }
  94. }
  95. .footnote-line { margin-top: 0.714em; font-size: 0.7em; }
  96. a img, img a { cursor: pointer; }
  97. { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
  98. p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
  99. #write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }
  100. p > .md-image:only-child { display: inline-block; width: 100%; }
  101. #write .MathJax_Display { margin: 0.8em 0px 0px; }
  102. .md-math-block { width: 100%; }
  103. .md-math-block:not(:empty)::after { display: none; }
  104. .MathJax_ref { fill: currentcolor; }
  105. [contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
  106. .md-task-list-item { position: relative; list-style-type: none; }
  107. { padding-left: 0px; }
  108. .md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
  109. .math { font-size: 1rem; }
  110. .md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
  111. .md-toc-content { position: relative; margin-left: 0px; }
  112. .md-toc-content::after, .md-toc::after { display: none; }
  113. .md-toc-item { display: block; color: rgb(65, 131, 196); }
  114. .md-toc-item a { text-decoration: none; }
  115. .md-toc-inner:hover { text-decoration: underline; }
  116. .md-toc-inner { display: inline-block; cursor: pointer; }
  117. .md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
  118. .md-toc-h2 .md-toc-inner { margin-left: 2em; }
  119. .md-toc-h3 .md-toc-inner { margin-left: 4em; }
  120. .md-toc-h4 .md-toc-inner { margin-left: 6em; }
  121. .md-toc-h5 .md-toc-inner { margin-left: 8em; }
  122. .md-toc-h6 .md-toc-inner { margin-left: 10em; }
  123. @media screen and (max-width: 48em) {
  124. .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
  125. .md-toc-h4 .md-toc-inner { margin-left: 5em; }
  126. .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
  127. .md-toc-h6 .md-toc-inner { margin-left: 8em; }
  128. }
  129. { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
  130. .footnote-line a:not(.reversefootnote) { color: inherit; }
  131. .md-attr { display: none; }
  132. .md-fn-count::after { content: "."; }
  133. code, pre, samp, tt { font-family: var(--monospace); }
  134. kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
  135. .md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }
  136. code { text-align: left; vertical-align: initial; }
  137. { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
  138. .md-inline-math .MathJax_SVG .noError { display: none !important; }
  139. .html-for-mac .inline-math-svg .MathJax_SVG { vertical-align: 0.2px; }
  140. .md-math-block .MathJax_SVG_Display { text-align: center; margin: 0px; position: relative; text-indent: 0px; max-width: none; max-height: none; min-height: 0px; min-width: 100%; width: auto; overflow-y: hidden; display: block !important; }
  141. .MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
  142. .MathJax_SVG .MJX-monospace { font-family: var(--monospace); }
  143. .MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
  144. .MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }
  145. .MathJax_SVG * { transition: none 0s ease 0s; }
  146. .MathJax_SVG_Display svg { vertical-align: middle !important; margin-bottom: 0px !important; margin-top: 0px !important; }
  147. .os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
  148. .md-diagram-panel > svg { max-width: 100%; }
  149. [lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
  150. [lang="mermaid"] .node text { font-size: 1rem; }
  151. table tr th { border-bottom: 0px; }
  152. video { max-width: 100%; display: block; margin: 0px auto; }
  153. iframe { max-width: 100%; width: 100%; border: none; }
  154. .highlight td, .highlight tr { border: 0px; }
  155. mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
  156. .md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
  157. mark .md-meta { color: rgb(0, 0, 0); opacity: 0.3 !important; }
  158. @media print {
  159. .typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; }
  160. }
  161. .md-diagram-panel .messageText { stroke: none !important; }
  162. .md-diagram-panel .start-state { fill: var(--node-fill); }
  163. .md-diagram-panel .edgeLabel rect { opacity: 1 !important; }
  164. .md-require-zoom-fix foreignobject { font-size: var(--mermaid-font-zoom); }
  165. .CodeMirror { height: auto; }
  166. { background: inherit; }
  167. .CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
  168. .CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
  169. .CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
  170. .CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
  171. .cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
  172. .cm-s-inner .cm-atom, { color: rgb(34, 17, 153); }
  173. .cm-s-inner .cm-number { color: rgb(17, 102, 68); }
  174. .cm-s-inner .cm-def { color: rgb(0, 0, 255); }
  175. .cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
  176. .cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
  177. .cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
  178. .cm-s-inner .cm-string { color: rgb(170, 17, 17); }
  179. .cm-s-inner .cm-property { color: rgb(0, 0, 0); }
  180. .cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
  181. .cm-s-inner .cm-comment, { color: rgb(170, 85, 0); }
  182. .cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
  183. .cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
  184. .cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
  185. .cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
  186. .cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
  187. .cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
  188. .cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
  189. .cm-s-inner .cm-header, { color: rgb(0, 0, 255); }
  190. .cm-s-inner .cm-quote, { color: rgb(0, 153, 0); }
  191. .cm-s-inner .cm-hr, { color: rgb(153, 153, 153); }
  192. .cm-s-inner .cm-link, { color: rgb(0, 0, 204); }
  193. .cm-negative { color: rgb(221, 68, 68); }
  194. .cm-positive { color: rgb(34, 153, 34); }
  195. .cm-header, .cm-strong { font-weight: 700; }
  196. .cm-del { text-decoration: line-through; }
  197. .cm-em { font-style: italic; }
  198. .cm-link { text-decoration: underline; }
  199. .cm-error { color: red; }
  200. .cm-invalidchar { color: red; }
  201. .cm-constant { color: rgb(38, 139, 210); }
  202. .cm-defined { color: rgb(181, 137, 0); }
  203. div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
  204. div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
  205. .cm-s-inner .CodeMirror-activeline-background { background: inherit; }
  206. .CodeMirror { position: relative; overflow: hidden; }
  207. .CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
  208. .CodeMirror-sizer { position: relative; }
  209. .CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; }
  210. .CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
  211. .CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: hidden; }
  212. .CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
  213. .CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
  214. .CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }
  215. .CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
  216. .CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
  217. .CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
  218. .CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
  219. .CodeMirror-lines { cursor: text; }
  220. .CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
  221. .CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
  222. .CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
  223. .CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
  224. .CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }
  225. .CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
  226. .CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
  227. .CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
  228. .CodeMirror-measure pre { position: static; }
  229. .CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
  230. .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
  231. .CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
  232. .cm-searching { background: rgba(255, 255, 0, 0.4); }
  233. @media print {
  234. .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
  235. }
  236. :root {
  237. --side-bar-bg-color: #fafafa;
  238. --control-text-color: #777;
  239. }
  240. @include-when-export url(,700italic,700,400&subset=latin,latin-ext);
  241. /* open-sans-regular - latin-ext_latin */
  242. /* open-sans-italic - latin-ext_latin */
  243. /* open-sans-700 - latin-ext_latin */
  244. /* open-sans-700italic - latin-ext_latin */
  245. html {
  246. font-size: 16px;
  247. }
  248. body {
  249. font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  250. color: rgb(51, 51, 51);
  251. line-height: 1.6;
  252. }
  253. #write {
  254. max-width: 860px;
  255. margin: 0 auto;
  256. padding: 30px;
  257. padding-bottom: 100px;
  258. }
  259. @media only screen and (min-width: 1400px) {
  260. #write {
  261. max-width: 1024px;
  262. }
  263. }
  264. @media only screen and (min-width: 1800px) {
  265. #write {
  266. max-width: 1200px;
  267. }
  268. }
  269. #write > ul:first-child,
  270. #write > ol:first-child{
  271. margin-top: 30px;
  272. }
  273. a {
  274. color: #4183C4;
  275. }
  276. h1,
  277. h2,
  278. h3,
  279. h4,
  280. h5,
  281. h6 {
  282. position: relative;
  283. margin-top: 1rem;
  284. margin-bottom: 1rem;
  285. font-weight: bold;
  286. line-height: 1.4;
  287. cursor: text;
  288. }
  289. h1:hover a.anchor,
  290. h2:hover a.anchor,
  291. h3:hover a.anchor,
  292. h4:hover a.anchor,
  293. h5:hover a.anchor,
  294. h6:hover a.anchor {
  295. text-decoration: none;
  296. }
  297. h1 tt,
  298. h1 code {
  299. font-size: inherit;
  300. }
  301. h2 tt,
  302. h2 code {
  303. font-size: inherit;
  304. }
  305. h3 tt,
  306. h3 code {
  307. font-size: inherit;
  308. }
  309. h4 tt,
  310. h4 code {
  311. font-size: inherit;
  312. }
  313. h5 tt,
  314. h5 code {
  315. font-size: inherit;
  316. }
  317. h6 tt,
  318. h6 code {
  319. font-size: inherit;
  320. }
  321. h1 {
  322. font-size: 2.25em;
  323. line-height: 1.2;
  324. border-bottom: 1px solid #eee;
  325. }
  326. h2 {
  327. font-size: 1.75em;
  328. line-height: 1.225;
  329. border-bottom: 1px solid #eee;
  330. }
  331. /*@media print {
  332. .typora-export h1,
  333. .typora-export h2 {
  334. border-bottom: none;
  335. padding-bottom: initial;
  336. }
  337. .typora-export h1::after,
  338. .typora-export h2::after {
  339. content: "";
  340. display: block;
  341. height: 100px;
  342. margin-top: -96px;
  343. border-top: 1px solid #eee;
  344. }
  345. }*/
  346. h3 {
  347. font-size: 1.5em;
  348. line-height: 1.43;
  349. }
  350. h4 {
  351. font-size: 1.25em;
  352. }
  353. h5 {
  354. font-size: 1em;
  355. }
  356. h6 {
  357. font-size: 1em;
  358. color: #777;
  359. }
  360. p,
  361. blockquote,
  362. ul,
  363. ol,
  364. dl,
  365. table{
  366. margin: 0.8em 0;
  367. }
  368. li>ol,
  369. li>ul {
  370. margin: 0 0;
  371. }
  372. hr {
  373. height: 2px;
  374. padding: 0;
  375. margin: 16px 0;
  376. background-color: #e7e7e7;
  377. border: 0 none;
  378. overflow: hidden;
  379. box-sizing: content-box;
  380. }
  381. li p.first {
  382. display: inline-block;
  383. }
  384. ul,
  385. ol {
  386. padding-left: 30px;
  387. }
  388. ul:first-child,
  389. ol:first-child {
  390. margin-top: 0;
  391. }
  392. ul:last-child,
  393. ol:last-child {
  394. margin-bottom: 0;
  395. }
  396. blockquote {
  397. border-left: 4px solid #dfe2e5;
  398. padding: 0 15px;
  399. color: #777777;
  400. }
  401. blockquote blockquote {
  402. padding-right: 0;
  403. }
  404. table {
  405. padding: 0;
  406. word-break: initial;
  407. }
  408. table tr {
  409. border-top: 1px solid #dfe2e5;
  410. margin: 0;
  411. padding: 0;
  412. }
  413. table tr:nth-child(2n),
  414. thead {
  415. background-color: #f8f8f8;
  416. }
  417. table th {
  418. font-weight: bold;
  419. border: 1px solid #dfe2e5;
  420. border-bottom: 0;
  421. margin: 0;
  422. padding: 6px 13px;
  423. }
  424. table td {
  425. border: 1px solid #dfe2e5;
  426. margin: 0;
  427. padding: 6px 13px;
  428. }
  429. table th:first-child,
  430. table td:first-child {
  431. margin-top: 0;
  432. }
  433. table th:last-child,
  434. table td:last-child {
  435. margin-bottom: 0;
  436. }
  437. .CodeMirror-lines {
  438. padding-left: 4px;
  439. }
  440. .code-tooltip {
  441. box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
  442. border-top: 1px solid #eef2f2;
  443. }
  444. .md-fences,
  445. code,
  446. tt {
  447. border: 1px solid #e7eaed;
  448. background-color: #f8f8f8;
  449. border-radius: 3px;
  450. padding: 0;
  451. padding: 2px 4px 0px 4px;
  452. font-size: 0.9em;
  453. }
  454. code {
  455. background-color: #f3f4f4;
  456. padding: 0 2px 0 2px;
  457. }
  458. .md-fences {
  459. margin-bottom: 15px;
  460. margin-top: 15px;
  461. padding-top: 8px;
  462. padding-bottom: 6px;
  463. }
  464. .md-task-list-item > input {
  465. margin-left: -1.3em;
  466. }
  467. @media print {
  468. html {
  469. font-size: 13px;
  470. }
  471. table,
  472. pre {
  473. page-break-inside: avoid;
  474. }
  475. pre {
  476. word-wrap: break-word;
  477. }
  478. }
  479. .md-fences {
  480. background-color: #f8f8f8;
  481. }
  482. #write {
  483. padding: 1rem;
  484. font-size: 85%;
  485. line-height: 1.45;
  486. background-color: #f7f7f7;
  487. border: 0;
  488. border-radius: 3px;
  489. color: #777777;
  490. margin-top: 0 !important;
  491. }
  492. .mathjax-block>.code-tooltip {
  493. bottom: .375rem;
  494. }
  495. .md-mathjax-midline {
  496. background: #fafafa;
  497. }
  498. #write>{
  499. left: -1.5625rem;
  500. top: .375rem;
  501. }
  502. #write>{
  503. left: -1.5625rem;
  504. top: .285714286rem;
  505. }
  506. #write>{
  507. left: -1.5625rem;
  508. top: .285714286rem;
  509. }
  510. #write>{
  511. left: -1.5625rem;
  512. top: .285714286rem;
  513. }
  514. .md-image>.md-meta {
  515. /*border: 1px solid #ddd;*/
  516. border-radius: 3px;
  517. padding: 2px 0px 0px 4px;
  518. font-size: 0.9em;
  519. color: inherit;
  520. }
  521. .md-tag {
  522. color: #a7a7a7;
  523. opacity: 1;
  524. }
  525. .md-toc {
  526. margin-top:20px;
  527. padding-bottom:20px;
  528. }
  529. .sidebar-tabs {
  530. border-bottom: none;
  531. }
  532. #typora-quick-open {
  533. border: 1px solid #ddd;
  534. background-color: #f8f8f8;
  535. }
  536. #typora-quick-open-item {
  537. background-color: #FAFAFA;
  538. border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
  539. border-style: solid;
  540. border-width: 1px;
  541. }
  542. /** focus mode */
  543. .on-focus-mode blockquote {
  544. border-left-color: rgba(85, 85, 85, 0.12);
  545. }
  546. header, .context-menu, .megamenu-content, footer{
  547. font-family: "Segoe UI", "Arial", sans-serif;
  548. }
  549. .file-node-content:hover .file-node-icon,
  550. .file-node-content:hover .file-node-open-state{
  551. visibility: visible;
  552. }
  553. .mac-seamless-mode #typora-sidebar {
  554. background-color: #fafafa;
  555. background-color: var(--side-bar-bg-color);
  556. }
  557. .md-lang {
  558. color: #b4654d;
  559. }
  560. .html-for-mac .context-menu {
  561. --item-hover-bg-color: #E6F0FE;
  562. }
  563. #md-notification .btn {
  564. border: 0;
  565. }
  566. .dropdown-menu .divider {
  567. border-color: #e5e5e5;
  568. }
  569. .ty-preferences .window-content {
  570. background-color: #fafafa;
  571. }
  572. .ty-preferences {
  573. color: white;
  574. background: #999;
  575. }
  576. </style>
  577. </head>
  578. <body class='typora-export os-windows'>
  579. <div id='write' class=''><h1><a name="linux-kurs---installation" class="md-header-anchor"></a><span>Linux-Kurs - Installation</span></h1><p><a href='' target='_blank' class='url'></a></p><p><span>Herzlich willkommen zum Linux-Kurs. Im ersten Teil lernst du, wie man das Linux Betriebssystem auf einem Computer installiert. Voraussetzungen dafür sind:</span></p><ul><li><span>Ein Desktop-PC oder Laptop der in der Lage ist von einem USB-Stick zu starten (ab Baujahr 2009 mit x86_64 Prozessor). Die Festplatte sollte mindestens 80 GB gross sein.</span></li><li><span>Einen leeren USB-Stick als Installationsmedium. Dieser muss mindestens 4 GB gross sein.</span></li><li><span>Einen weiteren Computer mit Windows, Linux oder macOS um den USB-Stick zu erstellen.</span></li></ul><p><span>Alternativ:</span></p><ul><li><span>Einen Computer der in der Lage ist die Virtualisierungslösung VirtualBox auszuführen.</span></li><li><span>Empfohlen sind 8 GB RAM und 80 GB freien Festplattenspeicher für den Betrieb der virtuellen Maschine.</span></li></ul><p><span>Zusätzlich werden benötigt:</span></p><ul><li><span>Englischkenntnisse.</span></li><li><span>Etwas Magie.</span></li></ul><h2><a name="hintergrund" class="md-header-anchor"></a><span>Hintergrund</span></h2><p><span>In diesem Kurs verwenden wir das älteste noch aktive Linux namens Slackware Linux </span><nobr><a href='' target='_blank' class='url'></a></nobr><span>. Dabei handelt es sich um eine sogenannte Linux Distribution. Von diesen gibt es sehr viele. Einige davon hast du sicher schon einmal gehört, zum Beispiel Ubuntu, Fedora, Debian oder ähnliche.</span></p><p><a href=''><img src="./slackware_traditional_website_logo.png" referrerpolicy="no-referrer" alt="Slackware"></a></p><p><span>Warum haben wir uns für einen </span><em><span>Dinosaurier</span></em><span> wie Slackware entschieden? Ganz einfach: Slackware ist pur, nachvollziehbar, transparent und nachhaltig. Die Entwickler von Slackware (namentlich der Hauptentwickler Patrick Volkerding) folgen nicht jedem Trend, nur weil es gerade hip und modern ist. Sie bleiben ihren Prinzipien treu und liefern seit Jahren ein verlässliches Linux aus. Dennoch bietet Slackware alles, was ein modernes Linux-Betriebssystem können muss.</span></p><p><span>Ein weiterer wichtiger Vorteil von Slackware ist, dass du von Anfang an einen guten Einblick in die Funktionsweise eines Linux-Systems bekommst. Der Einstieg mag komplizierter erscheinen als zum Beispiel bei Ubuntu, welches ein tolles grafisches Installationsprogramm bietet und mit wenigen Klicks einen lauffähigen Linux Desktop auf deinem Computer installiert. Wirklich verstehen wirst du das System dadurch jedoch nicht.</span></p><p><span>Es wird sicher an der ein oder anderen Stelle frustrierend für dich werden, weil mal etwas nicht auf Anhieb so funktioniert wie es soll. Erwarte bitte nicht das du innerhalb von wenigen Stunden einen fertigen Linux-Desktop zur Verfügung hast. Nimm dir Zeit für den Kurs, denn nur so wirst du in der Lage sein, deinen Linux Computer wirklich zu verstehen.</span></p><div style="page-break-after: always;"></div><h2><a name="installation-vorbereiten" class="md-header-anchor"></a><span>Installation vorbereiten</span></h2><p><span>Installationsmedien werden in vielen Fällen als sogenannte ISO-Images bereitgestellt. Dabei handelt es sich um ein Dateiformat, das mit vielen Brennprogrammen direkt auf eine DVD geschrieben werden kann. Heutige Rechner haben oftmals kein DVD-Laufwerk mehr, daher empfiehlt sich die Installation von einem USB-Stick. Falls du Slackware in einer VirtualBox installieren möchtest, muss kein USB-Stick erstellt werden, da das ISO-Image dort direkt hinterlegt werden kann.</span></p><p><span>Öffne folgende URL in deinem Internetbrowser:</span></p><p><a href='' target='_blank' class='url'></a></p><p><span>Der Ordner enthält mehrere Dateien, darunter das aktuelle Slackware-ISO sowie eine Prüfsummendatei mit der Endung </span><em><span>.md5</span></em></p><p><span>Lade diese beide Dateien auf den Computer herunter, auf dem du den Stick </span><em><span>brennen</span></em><span> möchtest. Das muss nicht der Computer sein, auf dem du später Linux installieren wirst. Es spielt keine Rolle ob Windows, Linux oder macOS auf diesem Computer läuft. Alternativ kann es sich um den Computer handeln, auf dem du die virtuelle Maschine einrichten möchtest.</span></p><p><strong><span>WinMD5 (Windows)</span></strong></p><p><span>Unter Windows gibt es zum Vergleich der Prüfsumme ein Hilfsprogramm mit dem Namen WinMD5, welches du auf folgender Webseite herunterladen kannst: </span><a href='' target='_blank' class='url'></a></p><p><span>Öffne das Zip-Archiv und starte die darin enthaltene Datei </span><em><span>WinMD5.exe</span></em><span>.</span></p><p><span>Innerhalb des Programms wähle im Bereich </span><em><span>Select a file to compute MD5 checksum</span></em><span> über den Button </span><strong><span>Browse</span></strong><span> das Slackware ISO-Image aus und die Berechnung der Prüfsumme beginnt. Öffne die </span><em><span>.md5</span></em><span> Prüfsummendatei mit einem Texteditor. Die errechnete Prüfsumme sollte der in der Prüfsummendatei enthaltenen Zeichenkette entsprechen.</span></p><p><span>Optional hast du die Möglichkeit die Prüfsumme aus der .md5 Datei in den Bereich </span><em><span>Original file MD5 checksum value</span></em><span> zu kopieren und den Vergleich über einen Klick auf </span><strong><span>Verify</span></strong><span> auszulösen (kopiere aus der .md5 Datei nur die Zeichenkette, nicht den Namen der ISO).</span></p><p><strong><span>md5sum (Linux)</span></strong></p><p><span>Hast du bereits Linux auf deinem Computer installiert, geht es noch einfacher. Öffne ein Terminalprogramm, wechsle mit </span><code>cd</code><span> in den Ordner, in den du die Dateien heruntergeladen hast und starte das Kommando </span><code>md5sum -c</code><span> unter Angabe der .md5 Prüfsummendatei. Das ISO-Abbild und die Prüfsummendatei müssen sich dabei im gleichen Ordner befinden. Falls die Prüfsumme korrekt ist, wird dies durch die Ausgabe von </span><strong><span>OK</span></strong><span> bestätigt.</span></p><p><strong><span>md5 (Mac)</span></strong></p><p><span>Auf einem Mac gibt es ein Hilfsprogramm mit dem Namen </span><strong><span>md5</span></strong><span>. Öffne ein Terminal und gebe </span><code>md5</code><span> gefolgt von einem Leerzeichen ein. Öffne im Finder den Ordner, in den du das Slackware-ISO heruntergeladen hast und ziehe die Datei in das Terminal. Gebe Enter ein und es sollte die Prüfsumme ausgegeben werden. Diese muss der Prüfsumme in der .md5 Datei entsprechen, welche du zum Vergleich mit einem Texteditor öffnen kannst.</span></p><p><span>Sollte die Prüfsumme abweichen, starte den Download bitte erneut und wiederhole den Vorgang. Ansonsten kannst du fortfahren.</span></p><div style="page-break-after: always;"></div> <h3><a name="iso-abbild-brennen" class="md-header-anchor"></a><span>ISO Abbild brennen</span></h3><p><strong><span>Hinweis</span></strong><span>: Solltest du die Installation in einer VirtualBox ausführen wollen, kannst du direkt zum Kapitel </span><em><span>Virtualisierung</span></em><span> springen.</span></p><p><span>Um das ISO-Abbild auf einen USB-Stick zu schreiben, kannst du beispielsweise das Programm </span><em><span>Etcher</span></em><span> verwenden. Du kannst es auf folgender Webseite beziehen: </span><a href=''><span></span></a></p><p><span>Stecke den USB-Stick, den du für die Installation verwenden möchtest, ein und öffne das Programm Etcher.</span></p><p><span>Nach dem Programmstart wirst du aufgefordert im Bereich </span><strong><span>Select Image</span></strong><span> das heruntergeladene ISO image anzugeben. Im nächsten Schritt wähle bitte mit Hilfe von </span><strong><span>Select Drive</span></strong><span> den USB-Stick aus, den du zuvor angeschlossen hast. Mit einem Klick auf </span><strong><span>Flash</span></strong><span> startet der </span><em><span>Brennvorgang</span></em><span>. Dieser kann bis zu 5min dauern. Es werden alle Daten auf dem USB-Stick überschrieben.</span></p><p><img src="./etcher.png" referrerpolicy="no-referrer"></p><h4><a name="alternative-brennmethode-linux" class="md-header-anchor"></a><span>Alternative Brennmethode (Linux)</span></h4><p><span>Solltest du bereits über eine Linux-Installation verfügen, kannst du alternativ das Programm </span><strong><span>dd</span></strong><span> verwenden.</span></p><p><span>Die Erstellung eines bootbaren USB-Mediums mit Hilfe von </span><strong><span>dd</span></strong><span> erfolgt mit Root-Rechen unter Zuhilfenahme von folgendem Kommando:</span></p><pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang=""><div class="CodeMirror cm-s-inner CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">dd if=slackware64-*.iso of=/dev/sdX</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;"></div><div class="CodeMirror-gutters" style="display: none; height: 23px;"></div></div></div></pre><p><span>wobei /dev/sdX durch den Device-Namen des USB-Mediums ersetzt werden muss (Der Befehl </span><code>dmesg | tail</code><span> nach dem Einstecken des Device gibt dir Auskunft über den Device-Namen.). Dabei werden ebenfalls alle Daten auf dem USB-Stick überschrieben.</span></p><div style="page-break-after: always;"></div> <p><strong><span>Hinweis</span></strong><span>: Aktuelle Linux-Desktop-Umgebungen mounten USB-Massenspeicher bereits beim Einstecken. Um sicherzustellen, dass das Image sauber geschrieben wird, sollte das Device vor dem dd Befehl mit Root-Rechten umounted werden (umount /dev/sdX). Der umount-Befehl sollte immer in der Kommandozeile ausgeführt werden, da ein umounten aus dem Filemanager heraus meist auch die Device-Node entfernt!</span></p><p><span>Sobald das ISO-Abbild erfolgreich übertragen wurde, kannst du den Stick entfernen.</span></p><h2><a name="starten-des-computers-vom-usb-stick" class="md-header-anchor"></a><span>Starten des Computers vom USB-Stick</span></h2><p><span>Jetzt bist du schon bei der ersten Hürde angekommen, die es zu überwinden gilt. Stecke bitte den erstellten Stick in den Computer, auf dem du Linux installieren möchtest. Es geht nun darum den Computer so einzustellen, dass er von USB startet.</span></p><p><span>Dazu gehe bitte zunächst in das BIOS. Dieses erreichst du direkt nach dem Einschalten des Gerätes. Meistens wird für eine kurze Zeit angezeigt, welche Taste du drücken musst um in das BIOS zu gelangen. Andernfalls drücke zunächst die Escape-Taste.</span></p><p><span>In vielen Fällen gelangst du durch Druck der Delete, F1 oder F2 Taste direkt nach dem Systemstart in das BIOS des Computers.</span></p><p><span>Die Navigation innerhalb des BIOS erfolgt in vielen Fällen mit der Tastatur. Einige Anbieter haben auch eine Mausfunktion eingebaut. Suche bitte nach einem Punkt der </span><em><span>Boot</span></em><span> oder ähnlich heisst. Dort solltest du die Bootreihenfolge umstellen können, sowie die Möglichkeit haben einige Parameter zu definieren. Sollte es eine Option geben die UEFI oder CSM heisst, wähle dort bitte entweder &quot;Use Both, UEFI &amp; CSM&quot; oder nur &quot;CSM&quot;. Ältere Computer haben diese Option nicht. </span></p><blockquote><p><span>NERDNOTES: Neuere Computer haben ein sogenanntes EFI BIOS. Dabei wird ein Teil der Konfiguration des BIOS auf eine Festplattenpartition ausgelagert. In diesem Zusammenhang kommt oftmals das sogenannte &quot;Secure Boot&quot; zum Einsatz. Dieses stellt sicher, dass nur vertrauenswürdige Betriebssysteme geladen werden können. In unserem Kurs behandeln wir im Grundkurs den Start von UEFI nicht. Daher gilt es diesen Betriebsmodus entweder gänzlich zu de-aktivieren oder den sogenannte CSM Modus parallel zu aktivieren.</span></p></blockquote><p><span>Suche nun nach der Möglichkeit die Bootreihenfolge zu definieren. Die Seite könne zum Beispiel wie folgt aussehen:</span></p><p><img src="./boot_bios.png" referrerpolicy="no-referrer"></p><p><span>An dieser Stelle sollte bereits dein USB-Stick angezeigt werden, oftmals als USB HD, Removable Device oder mit dem Namen des Herstellers des Sticks. Bewege diesen Eintrag ganz nach oben in der Liste. Wie das genau funktioniert ist im BIOS erklärt. Meist lassen sich die Einträge mit den Tasten F5 und F6 verschieben.</span></p><p><span>Wähle nach erfolgreicher Konfiguration den Punkt </span><strong><span>Exit</span></strong><span> und dort </span><strong><span>Save and Exit</span></strong><span>. Das Gerät startet neu und lädt das Installationsprogramm vom USB-Stick.</span></p><h2><a name="virtualisierung" class="md-header-anchor"></a><span>Virtualisierung</span></h2><p><strong><span>Hinweis</span></strong><span>: Dieser Schritt ist nicht notwendig, falls du Slackware wie zuvor beschrieben direkt auf einem Desktop-PC oder Laptop installieren möchtest. In diesem Fall kannst du direkt zum nächsten Kapitel </span><em><span>Installation</span></em><span> springen.</span></p><p><span>Bei VirtualBox handelt es sich um eine quelloffene Virtualisierungslösung mit der sich ein weiterer </span><em><span>virtueller</span></em><span> PC auf deinem Computer einrichten lässt. Du kannst die Anwendung unter folgender URL herunterladen:</span></p><p><a href='' target='_blank' class='url'></a></p><p><span>Wähle das Basisbetriebssystem, auf dem du VirtualBox installieren möchtest. Unterstützt werden Windows, macOS oder Linux. Folge den beschriebenen Installationsschritten und starte daraufhin die Applikation.</span></p><p><span>VirtualBox begrüsst dich ähnlich wie folgt:</span></p><p><img src="./virtualbox_welcome.png" referrerpolicy="no-referrer"></p><p><span>Wähle den Punkt </span><strong><span>Neu</span></strong><span>, um eine neue virtuelle Maschine zu erstellen.</span></p><p><span>Es startet ein Einrichtungsassistent. </span></p><div style="page-break-after: always;"></div> <p><span>Im ersten Schritt kannst du folgende Informationen angeben:</span></p><ul><li><span>Name: Slackware</span></li><li><span>Ordner der virtuellen Maschine: hier kannst du im Regelfall den vorgeschlagenen Ordner beibehalten</span></li><li><span>Typ: Linux</span></li><li><span>Version: Other Linux (64-bit)</span></li></ul><p><img src="./virtualbox_name_os.png" referrerpolicy="no-referrer"></p><p><span>Nachdem du auf weiter geklickt hast, wirst du gefragt wie viel virtuellen Hauptspeicher du deiner VM zuweisen möchtest. Du solltest hier zumindest 2 GB (2048 MB) angeben. Dazu sollte der Computer, auf dem du die virtuelle Maschine ausführst zumindest über 8 GB RAM verfügen.</span></p><p><img src="./virtualbox_mem.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Im folgenden Schritt wirst du gefragt, ob eine virtuelle Festplatte erzeugt werden soll. Wähle hier den Punkt </span><strong><span>Festplatte erzeugen</span></strong><span>.</span></p><p><img src="./virtualbox_create_disk.png" referrerpolicy="no-referrer"></p><p><span>Als Festplattentyp kannst du *VDI (VirtualBox Disk Image) angeben:</span></p><p><img src="./virtualbox_vdi_disk.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Bei dem Punkt </span><em><span>Art der Speicherung</span></em><span> kannst du </span><strong><span>dynamisch alloziert</span></strong><span> wählen. Dann verbraucht die virtuelle Festplatte nur genauso viel Speicherplatz wie der belegte Platz innerhalb der VM:</span></p><p><img src="./virtualbox_dynamic.png" referrerpolicy="no-referrer"></p><p><span>Den Dateinamen kannst du beibehalten, als Disk-Grösse gebe 80 GB an und klicke auf </span><strong><span>Erzeugen</span></strong><span>:</span></p><p><img src="./virtualbox_disk_size.png" referrerpolicy="no-referrer"></p><p><span>Damit ist die virtuelle Maschine grundlegend erstellt. Nun kannst du das heruntergeladene ISO-Image </span><em><span>anhängen</span></em><span>. </span></p><div style="page-break-after: always;"></div> <p><span>Wähle dazu in der Übersicht den Punkt </span><strong><span>Massenspeicher</span></strong><span>:</span></p><p><img src="./virtualbox_manage_disks.png" referrerpolicy="no-referrer"></p><p><span>Klicke in der Massenspeicherliste auf das CD Symbol (leer) und wähle dann unter Attribute das kleine CD-Symbol aus. Es öffnet sich ein Menü, in dem du die Datei für das optische Medium auswählen kannst. Wähle das heruntergeladene Slackware ISO-Image aus und klicke auf </span><strong><span>OK</span></strong><span>:</span></p><p><img src="./virtualbox_attach_iso.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Sollte der Computer, auf dem du VirtualBox ausführst leistungsstark genug sein, empfiehlt es sich unter </span><em><span>System</span></em><span> im Reiter </span><em><span>Prozessor</span></em><span> von 1 auf 2 vCPUs umzustellen:</span></p><p><img src="./virtualbox_vcpu.png" referrerpolicy="no-referrer"></p><p><span>Ebenfalls ist es sinnvoll im Bereich </span><em><span>Anzeige</span></em><span> die </span><em><span>3D-Beschleunigung</span></em><span> zu aktivieren und den Grafik-Controller auf </span><em><span>VBoxSVGA</span></em><span> umzustellen (letzeres ist nicht bei jeder VirtualBox-Version möglich):</span></p><p><img src="./virtualbox_3d.png" referrerpolicy="no-referrer"></p><p><span>Damit ist die Einrichtung vorerst abgeschlossen. Im Kursteil </span><em><span>Erste Schritte</span></em><span> wird beschrieben, wie du zu einem späteren Zeitpunkt die VirtualBox-Gasterweiterungen installieren kannst. Klicke in der Übersicht auf </span><strong><span>Starten</span></strong><span>, um die Installation zu beginnen.</span></p><div style="page-break-after: always;"></div> <h1><a name="die-installation" class="md-header-anchor"></a><span>Die Installation</span></h1><p><span> Wenn alles geklappt hat, begrüsst dich dein Linux Installationsmedium mit folgendem Bildschirm:</span></p><p><img src="./boot_welcome.png" referrerpolicy="no-referrer"></p><p><span>Hier musst du nichts weiter tun als Enter zu drücken. Du hättest die Möglichkeit spezielle Bootparameter anzugeben. In den allermeisten Fällen ist dies allerdings nicht notwendig.</span></p><h2><a name="start-der-installation" class="md-header-anchor"></a><span>Start der Installation</span></h2><p><span>Durch einen Druck auf die Enter Taste startet der Linux Kernel vom USB-Installationsmedium. Bei dem Kernel handelt es sich um das Herzstück von Linux, um nicht zu sagen um Linux selbst. Darum herum gibt es eine Vielzahl von Tools, die ein laufendes System ermöglichen. Ein Grossteil dieser Basisprogramme stammt aus dem GNU Projekt </span><nobr><span>(</span><a href='' target='_blank' class='url'></a><span>)</span></nobr><span>. Daher wird häufig auch von </span><em><span>GNU/Linux</span></em><span> gesprochen. In unserem Kurs beschränken wir uns allerdings auf den Begriff Linux, auch wenn dieser nicht ganz korrekt ist.</span></p><div style="page-break-after: always;"></div> <h3><a name="tastaturbelegung-wählen" class="md-header-anchor"></a><span>Tastaturbelegung wählen</span></h3><p><span>Im ersten Installationsschritt wirst du aufgefordert das Tastaturlayout festzulegen:</span></p><p><img src="./setup_keyboard.png" referrerpolicy="no-referrer"></p><p><span>Solltest du nicht das US-Tastaturlayout verwenden wollen, kannst du an dieser Stelle </span><strong><span>1</span></strong><span> gefolgt von Enter eingeben. Es erscheint eine Auswahlliste mit sehr vielen möglichen Tastaturbelegungen. Du kannst mit den Pfeil-hoch und -runter Tasten navigieren. Schneller geht es mit </span><em><span>PageUp / PageDown</span></em><span>. Sollten dir diese Tasten nicht bekannt sein, wäre nun eine gute Gelegenheit herauszufinden, wo sie sich auf deiner Tastatur befinden. Manchmal sind sie auch als </span><em><span>PgUp / PgDn</span></em><span> beschriftet. Auf einigen Laptoptastaturen erreicht man sie nur durch gleichzeitiges drücken der </span><em><span>Fn</span></em><span> Taste. Das erkennst du daran, dass die Tastenbezeichnungen für die Befehle in einer anderen Farbe aufgedruckt sind (meistens in blau).</span></p><div style="page-break-after: always;"></div> <p><span>Suche in der Liste das passende Tastaturlayout heraus. Für ein schweizerdeutsches Tastaturlayout wäre </span><strong><span>quertz/</span></strong><span> die richtige Wahl. Für ein deutsches Tastaturlayout wäre es </span><strong><span>qwertz/</span></strong><span>. </span></p><p><img src="./setup_keyboard_sg.png" referrerpolicy="no-referrer"></p><p><span>Nachdem du die Auswahl mit Enter bestätigt hast, bekommst du die Möglichkeit die Tastaturbelegung zu testen:</span></p><p><img src="./setup_keyboard_test.png" referrerpolicy="no-referrer"></p><p><span>Gebe in diesem Feld einige Zeichen ein, zum Beispiel + oder das @-Zeichen. Werden diese korrekt dargestellt, dann hast du das richtige Layout gewählt. Wundere dich nicht, wenn an dieser Stelle Umlaute nicht korrekt angezeigt werden.</span></p><p><span>Gebe nun Enter ein und danach </span><strong><span>1</span></strong><span> gefolgt von Enter. Möchtest du nochmals zurück zur Auswahlliste kannst du </span><strong><span>2</span></strong><span> gefolgt von Enter eingeben. Wir gehen nun davon aus, dass du das richtige Layout wählen konntest und den Testdialog verlassen hast. </span></p><div style="page-break-after: always;"></div> <h3><a name="setup-login" class="md-header-anchor"></a><span>Setup Login</span></h3><p><span>Das Setup begrüsst dich mit folgendem Bildschirm:</span></p><p><img src="./setup_welcome.png" referrerpolicy="no-referrer"></p><p><span>Dieser Bildschirm enthält bereits einige wichtige Informationen. Der erste Teil besagt, dass man zunächst Partitionen anlegen muss. Der zweite Abschnitt, der sich auf den Speicher bezieht, sollte bei einem einigermassen modernen Computer keine Rolle spielen. Im dritten Abschnitt steht geschrieben, dass man die Installation später durch die Eingabe von </span><strong><span>setup</span></strong><span> starten kann.</span></p><p><span>Am login prompt kannst du einfach </span><strong><span>root</span></strong><span> gefolgt von Enter eingeben und du gelangst in die sogenannte Shell, eine der wichtigsten Komponenten eines Linux-Systems.</span></p><p><img src="./setup_welcome_motd.png" referrerpolicy="no-referrer"></p><p><span>Nach dem Login wird erklärt, wie du ein System von dem Installationsmedium aktualisieren könntest. Das trifft für die Basisinstallation nicht zu.</span></p><div style="page-break-after: always;"></div> <h3><a name="partitionierung" class="md-header-anchor"></a><span>Partitionierung</span></h3><p><span>Um ein Linux-System auf eine Festplatte oder SSD installieren zu können, muss diese partitioniert werden. Das heisst sie wird in verschiedene Bereiche aufgeteilt, ähnlich wie unter Windows das Laufwerk C: und D:. Wir setzen voraus, dass du die gesamte Festplatte für deine Linux Installation nutzen möchtest. Weitere Fälle wie die parallele Nutzung zu einem bereits installierten Betriebssystem werden hier nicht beschrieben.</span></p><p><span>Gebe in der Shell bitte folgenden Befehl ein:</span></p><p><code>cfdisk</code></p><p><span>Sollten bisher noch keine Partitionen auf der Festplatte existieren, wirst du aufgefordert den Disk-Label-Typ anzugeben. Andernfalls kannst du direkt zum nächsten Bild übergehen.</span></p><p><span>Für ein reguläres Setup ist </span><strong><span>dos</span></strong><span> das richtige Disklabel. Einige moderne Computer bevorzugen </span><strong><span>gpt</span></strong><span>, bis auf Apple Macintosh sollte allerdings jeder Computer in der Lage sein, von einer Festplatte mit dem Partitionstyp </span><strong><span>dos</span></strong><span> zu starten. In manchen Fällen wird auch von </span><strong><span>MBR</span></strong><span> anstatt von </span><strong><span>dos</span></strong><span> gesprochen.</span></p><p><img src="./cfdisk_dos.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Nach der Auswahl von </span><strong><span>dos</span></strong><span> und der Bestätigung mit Enter, gelangst du in folgende Übersicht:</span></p><p><img src="./cfdisk_overview.png" referrerpolicy="no-referrer"></p><p><span>Auf der ersten Zeile wird die Bezeichnung der Festplatte angegeben, in diesem Fall </span><strong><span>/dev/sda</span></strong><span>. Unter Linux wird jegliche Hardware über Bezeichner im Dateisystem angesprochen (</span><em><span>everything is a file</span></em><span>). </span></p><p><strong><span>/dev</span></strong><span> ist ein Verzeichnis das alle sogenannten </span><em><span>device nodes</span></em><span> enthält, also Dateien die auf entsprechende Hardwarekomponenten zeigen.</span></p><p><strong><span>sda</span></strong><span> ist die erste Festplatte, sollte eine zweite Festplatte verbaut sein, so würde diese </span><strong><span>sdb</span></strong><span> heissen. Auch USB-Sticks oder ähnliche Komponenten melden sich als </span><strong><span>sd*</span></strong><span>.</span></p><p><span>Die </span><strong><span>Size</span></strong><span> gibt die Grösse der Festplatte in GiB an, welche ebenfalls in Bytes und Sektoren angezeigt wird. </span></p><p><span>Da bisher keine Partitionen auf der Festplatte existieren, wird in der Tabellenspalte </span><em><span>Device</span></em><span> nur </span><strong><span>Free space</span></strong><span> angegeben. Möglicherweise gibt es auf deiner Festplatte bereits Partitionen, die du zuvor löschen möchtest. Diese kannst du mit Pfeil hoch/runter auswählen und dann mit Pfeil links/Pfeil rechts den Punkt </span><strong><span>Delete</span></strong><span> anwählen und mit Enter das Löschen bestätigen. Sobald in der oberen Tabelle nur noch </span><strong><span>Free space</span></strong><span> angegeben ist, bist du startklar für den nächsten Schritt. </span></p><div style="page-break-after: always;"></div> <p><span>Wähle bitte mit Pfeil links/Pfeil rechts den Punkt </span><strong><span>New</span></strong><span> und bestätige mit Enter.</span></p><p><span>Wir möchten als Erstes eine sogenannte Swap Partition erstellen. Diese kann von Linux genutzt werden, falls später einmal der Hauptspeicher nicht ausreicht. Dann verwendet Linux die Swap Partition sozusagen als Hauptspeichererweiterung. Sie sollte von der Grösse her der Grösse des Hauptspeichers deines Computers entsprechen. Bei einem System mit 4 GB Hauptspeicher gibst du bei </span><strong><span>Partition size</span></strong><span> 4G an. Solltest du dir unsicher sein wie viel Hauptspeicher dein Computer hat, ist 4G grundsätzlich eine gute Wahl. Bestätige dies mit Enter:</span></p><p><img src="./cfdisk_swap_size.png" referrerpolicy="no-referrer"></p><p><span>Im nächsten Schritt wirst du gefragt, ob es sich um eine primäre Partition oder eine erweiterte Partition (</span><strong><span>primary / extended</span></strong><span>) handelt:</span></p><p><img src="./cfdisk_swap_primary.png" referrerpolicy="no-referrer"></p><p><span>Aufgrund von Limitierungen bei MBR-formatierten Festplatten können maximal 4 primäre Partitionen angelegt werden. Würdest du mehr anlegen wollen, dann müsstest du spätestens nach der 3. primären Partition eine erweiterte Partition anlegen. Wir möchten in unserem Kurs allerdings nur zwei Partitionen anlegen und sind daher von dieser Einschränkung nicht betroffen. Wähle bitte </span><strong><span>primary</span></strong><span> und Enter.</span></p><div style="page-break-after: always;"></div> <p><span>Du gelangst zurück in die Übersicht:</span></p><p><img src="./cfdisk_overview_swap_wrong_type.png" referrerpolicy="no-referrer"></p><p><span>Du siehst in der Liste die neu erstellte Partition </span><strong><span>/dev/sda1</span></strong><span>, also die erste Partition auf der Festplatte </span><strong><span>/dev/sda</span></strong><span>. Es wird der Start- und Endzylinder angezeigt, ebenso wie die Sektoren und die Grösse. Als Type wird </span><strong><span>Linux</span></strong><span> ausgegeben. Das wäre eine Standard-Linux Partition, wir möchten aber zunächst eine </span><em><span>Swap</span></em><span> Partition einrichten. Wähle bitte auf der Partition </span><strong><span>/dev/sda1</span></strong><span> mit den </span><em><span>Links/Rechts</span></em><span> Tasten den Punkt </span><strong><span>Type</span></strong><span> aus und drücke Enter. </span></p><p><span>Es wird eine Auswahlliste für den Partitionstyp angezeigt:</span></p><p><img src="./cfdisk_type_swap.png" referrerpolicy="no-referrer"></p><p><span>Mit der </span><em><span>Pfeil hoch</span></em><span> Taste kannst du den Typ </span><strong><span>82 Linux swap</span></strong><span> auswählen. Mit Enter bestätigst du deine Wahl.</span></p><div style="page-break-after: always;"></div> <p><span>In der Übersichtsliste wird nun der korrekte Partitionstyp </span><strong><span>Linux swap</span></strong><span> angezeigt:</span></p><p><img src="./cfdisk_overview_swap_right_type.png" referrerpolicy="no-referrer"></p><p><span>Wähle </span><em><span>Pfeil runter</span></em><span>, sodass die zwei Pfeilsymbole wieder vor </span><strong><span>Free space</span></strong><span> stehen. Über den Punkt </span><strong><span>New</span></strong><span> kannst du eine weitere Partition erstellen. Dies wird die Partition für das eigentliche Linux-System. Die Grösse kann beibehalten werden, denn dann wird automatisch der gesamte Restspeicherplatz der Festplatte für die Partition verwendet. Auch hier wählst du als Type </span><strong><span>primary</span></strong><span>. </span></p><p><span>Danach solltest du zur Übersichtsseite zurückgelangen, die nun ähnlich wie folgt aussehen müsste:</span></p><p><img src="./cfdisk_partition_final.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Die so angelegte Partition muss nun noch bootbar gemacht werden. Stelle dazu bitte sicher, dass du die </span><em><span>Linux</span></em><span> Partition ausgewählt hast. Es sollten zwei Pfeile vor dieser Partition angezeigt werden (in diesem Beispiel </span><strong><span>/dev/sda2</span></strong><span>). Mit den Pfeiltasten kannst du aus dem unteren Menü den Punkt </span><strong><span>Bootable</span></strong><span> auswählen und mit Enter bestätigen. Daraufhin sollte in der Spalte </span><strong><span>Boot</span></strong><span> ein Sternsymbol angezeigt werden.</span></p><p><img src="./cfdisk_partition_bootable.png" referrerpolicy="no-referrer"></p><p><span>Jetzt müssen die gemachten Änderungen abgespeichert werden.</span></p><p><span>Wähle dazu mit den </span><em><span>links / rechts</span></em><span> Pfeiltasten den Punkt </span><strong><span>Write</span></strong><span>, gefolgt von Enter und du wirst folgende Frage gestellt bekommen:</span></p><p><em><span>Are you sure you want to write the partition table to disk?</span></em></p><p><img src="./cfdisk_partition_final_confirm.png" referrerpolicy="no-referrer"></p><p><span>Gebe hier </span><strong><span>yes</span></strong><span> ausgeschrieben, gefolgt von Enter ein. Erst in diesem Moment wird die Partitionstabelle geschrieben.</span></p><p><span>Mit der </span><strong><span>Quit</span></strong><span> Option verlässt du das Pratitionierungsprogramm </span><em><span>cfdisk</span></em><span>.</span></p><p><span>Damit hast du einen sehr wichtigen Schritt geschafft. Du hast deine Festplatte für die Linux Installation vorbereitet, indem du die entsprechenden Partitionen erstellt hast. Diese müssen noch formatiert werden, wobei dir das </span><strong><span>Setup</span></strong><span> Programm helfen wird.</span></p><div style="page-break-after: always;"></div> <h3><a name="setup" class="md-header-anchor"></a><span>Setup</span></h3><p><span>Durch die Auswahl von </span><strong><span>Quit</span></strong><span> bist du wieder auf die Shell zurückgekommen. Die Eingabe von </span><strong><span>setup</span></strong><span> gefolgt von Enter startet das Setup-Programm:</span></p><p><img src="./setup_overview.png" referrerpolicy="no-referrer"></p><p><span>Es begrüsst dich in englischer Sprache mit einer Übersicht der einzelnen Schritte. Die Auswahl erfolgt auch hier mithilfe der Pfeiltasten und der Bestätigung durch Enter. In den folgenden Dialogfenstern kannst du zusätzlich die Tab-Taste verwenden um zwischen den Elementen hin- und herzuwechseln. Alternativ gibt es für fast jeden Menüpunkt ein Tastenkürzel (Kurzwahl-Buchstaben). Der entsprechende Buchstabe wird in roter Farbe dargestellt.</span></p><p><span>Der erste Punkt </span><strong><span>HELP</span></strong><span> zeigt dir eine ausführliche Hilfe an. Diese benötigen wir nicht. Auch den Punkt </span><strong><span>KEYMAP</span></strong><span> kannst du überspringen, da du es bereits beim Login konfiguriert hast. Grundsätzlich werden die Schritte chronologisch abgearbeitet, also von oben nach unten. Starte mit </span><strong><span>ADDSWAP</span></strong><span> und das Installationsprogramm führt dich automatisch durch alle weiteren Folgeschritte.</span></p><div style="page-break-after: always;"></div> <h4><a name="swap-einrichten" class="md-header-anchor"></a><span>Swap einrichten</span></h4><p><img src="./setup_addswap.png" referrerpolicy="no-referrer"></p><p><span>Die zuvor angelegte erste Partition (in diesem Fall </span><em><span>/dev/sda1</span></em><span>) wird dir zur Auswahl angeboten. Du kannst an dieser Stelle einfach Enter drücken, solange der </span><strong><span>OK</span></strong><span> Button blau hinterlegt ist.</span></p><p><span>Im nächsten Schritt wirst du gefragt, ob beim Einrichten des Swap Spaces auch gleich noch die Festplatte auf Fehler überprüft werden soll:</span></p><p><img src="./setup_checkswap.png" referrerpolicy="no-referrer"></p><p><span>Standardmässig ist </span><strong><span>No</span></strong><span> vorselektiert. Der Check dauert relativ lange. Es ist aber ratsam ihn auszuführen, wenn du dir nicht 100 % sicher bist, ob deine Festplatte in Ordnung ist. Bei SSDs und modernen Festplatten ist die Überprüfung nicht zwingend notwendig, da die Disks ihren Status in der Regel über sogenannte S.M.A.R.T. Werte ausgeben.</span></p><p><span>Mit der Tabulator-Taste kannst du zwischen </span><strong><span>Yes</span></strong><span> und </span><strong><span>No</span></strong><span> wechseln. Wähle selbst die Option aus, die du für richtig hältst.</span></p><div style="page-break-after: always;"></div> <p><span>Sobald der Swap-Space erfolgreich konfiguriert worden ist, erscheint folgende Meldung:</span></p><p><img src="./setup_swap_done.png" referrerpolicy="no-referrer"></p><p><span>Im Hintergrund ist Folgendes passiert: Die zuvor angelegte Partition musste noch formatiert werden, in diesem Fall als Swap Speicher. Dazu hat das Installationsprogramm den Befehl:</span></p><p><code>mkswap /dev/sda1</code></p><p><span>ausgeführt. Um den Auslagerungsspeicher bereits während der Installation nutzen zu können wurde des Weiteren folgender Befehl ausgeführt:</span></p><p><code>swapon /dev/sda1</code></p><div style="page-break-after: always;"></div> <h4><a name="root-partition-auswählen" class="md-header-anchor"></a><span>Root Partition auswählen</span></h4><p><span>Das Installationsprogramm geht automatisch zum nächsten Schritt über (</span><strong><span>TARGET</span></strong><span>). Hier wird festgelegt, welche der zuvor angelegten Partitionen für dein Linux-System genutzt werden soll. Da du nur eine Partition des Typs </span><strong><span>Linux</span></strong><span> erstellt hast (die andere war </span><strong><span>Linux Swap</span></strong><span>), wird auch nur diese zur Auswahl angeboten. Du kannst sie einfach mit </span><strong><span>Select</span></strong><span> bestätigen:</span></p><p><img src="./setup_linux_partition.png" referrerpolicy="no-referrer"></p><p><span>Auch diese Partition muss noch formatiert werden. Dabei wird ein Dateisystem auf der Partition erstellt. Wie auch bei der Swap Partition hast du die Möglichkeit eine langsame Formatierung mit Überprüfung auf fehlerhafte Sektoren durchzuführen. Wir gehen von der normalen </span><strong><span>Format</span></strong><span> Option aus:</span></p><p><img src="./setup_linux_format.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Linux unterstützt verschiedene Dateisysteme. Das wohl bekannteste lautet Ext4. Es ist sehr ausgereift und stabil und es empfiehlt sich die Auswahl beizubehalten:</span></p><p><img src="./setup_format_fs.png" referrerpolicy="no-referrer"></p><p><span>Im Hintergrund wird folgender Befehl ausgeführt:</span></p><p><code>mkfs.ext4 /dev/sda2</code></p><p><span>der die zuvor angelegte Partition </span><em><span>/dev/sda2</span></em><span> mit dem Dateisystem des Typs Ext4 formatiert.</span></p><h4><a name="fstab" class="md-header-anchor"></a><span>fstab</span></h4><p><span>Nach erfolgreicher Formatierung wird folgende Information ausgegeben:</span></p><p><img src="./setup_fstab.png" referrerpolicy="no-referrer"></p><p><span>Diese besagt, dass die Partition </span><strong><span>/dev/sda2</span></strong><span> in die </span><em><span>/etc/fstab</span></em><span> Datei eingetragen wurde. In dieser Datei wird definiert welche Dateisysteme beim Systemstart aktiviert werden sollen. Die Datei ist in folgende Spalten gegliedert:</span></p><p><code>&lt;file system&gt; &lt;mount point&gt; &lt;type&gt; &lt;option&gt; &lt;dump&gt; &lt;pass&gt;</code></p><p><span>Filesystem ist hier </span><em><span>/dev/sda2</span></em><span>. Der mount point ist </span><em><span>/</span></em><span>. Dabei handelt es sich um das Wurzeldateisystem (Root). Der Type ist wie wir definiert haben </span><em><span>ext4</span></em><span>. Dump besagt, ob das Dateisystem bei einer Sicherung mit dem Befehl </span><em><span>dump</span></em><span> mitgesichert werden soll (möglich ist 0 oder 1). Pass gibt an in welcher Reihenfolge das Dateisystem beim Booten regelmässig überprüft werden soll. Meist ist hier für die Root-Partition &quot;1&quot; eingetragen, für alle anderen Partitionen &quot;2&quot;.</span></p><p><span>Solltest du die Installation von einem USB-Stick gestartet haben, wirst du im Folgenden gefragt, ob die auf dem Stick enthaltenen </span><strong><span>FAT or NTFS</span></strong><span> Partition ebenfalls in die </span><em><span>/etc/fstab</span></em><span> Datei eingetragen werden soll. Beantworte diese Frage bitte mit </span><strong><span>No</span></strong><span>.</span></p><p><img src="./setup_fstab_fat.png" referrerpolicy="no-referrer"></p><h4><a name="paketinstallation" class="md-header-anchor"></a><span>Paketinstallation</span></h4><p><span>Nach der Formatierung der Dateisysteme wirst du gefragt, von welchem Medium du Slackware installieren möchtest. Hast du einen USB-Stick als Installationsmedium verwendet, ist </span><strong><span>2</span></strong><span> hier die richtige Wahl. Falls du die Installation von einer DVD aus gestartet hast, kannst du den Punkt </span><strong><span>1</span></strong><span> auswählen. Letzteres wäre auch bei einer Installation in VirtualBox der Fall, auch wenn es sich </span><em><span>nur</span></em><span> um eine virtuelle DVD handelt:</span></p><p><img src="./setup_source_usb.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Wenn du die Variante </span><strong><span>2</span></strong><span> gewählt hast, sucht das Installationsprogramm nach einem Druck auf </span><strong><span>OK</span></strong><span> auf dem angeschlossenen USB-Stick nach Slackware Paketen.</span></p><p><img src="./setup_scan_usb.png" referrerpolicy="no-referrer"></p><p><span>Es wird eine Auswahl der zu installierenden Paketgruppen angezeigt. Slackware unterteilt alle Pakete in Gruppen, um eine einfachere Installation zu ermöglichen. Für unser Linux-System wählen wir zum jetzigen Zeitpunkt alle Gruppen aus, bis auf </span><strong><span>KDE</span></strong><span>. Die Gruppen lassen sich mithilfe der Space Taste selektieren oder abwählen:</span></p><p><img src="./setup_select_groups.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Auch wenn man Paketgruppen ausgewählt hat, bestünde die Möglichkeit einzelne Pakete aus den jeweiligen Gruppen an- oder abzuwählen. Da wir ein vollständiges Linux-System erhalten möchten, wählen wir (</span><strong><span>terse</span></strong><span>).</span></p><p><img src="./setup_install_terse.png" referrerpolicy="no-referrer"></p><p><span>Es dauert eine Weile bis alle Pakete installiert worden sind. Die Ausgabe zeigt jeweils pro Zeile das Paket an, welches in dem Moment aufgespielt wird.</span></p><h4><a name="recovery-medium" class="md-header-anchor"></a><span>Recovery Medium</span></h4><p><span>Nachdem alle Pakete der ausgewählten Paketgruppen installiert worden sind, wirst du vom Installationsprogramm gefragt, ob du einen bootbaren USB-Stick erstellen möchtest. Dieser könnte als Rettungsmedium verwendet werden, falls dein Linux-System aufgrund eines Fehlers im Kernel oder im sogenannten Bootloader einmal nicht mehr starten sollte.</span></p><p><span>Es müsste sich in jedem Fall um einen anderen Stick handeln, als der von dem du die Installation gestartet hast. Da es nicht zwingend notwendig ist und man mit jedem beliebigen Linux-Medium ein System retten kann, sparen wir uns diesen Schritt.</span></p><p><span>Drücke Enter auf </span><strong><span>OK</span></strong><span>, wenn der Eintrag </span><strong><span>Skip</span></strong><span> ausgewählt ist.</span></p><p><img src="./setup_create_usb.png" referrerpolicy="no-referrer"></p><h4><a name="bootloader" class="md-header-anchor"></a><span>Bootloader</span></h4><p><span>Damit dein Linux-System startet, muss nun noch der Bootloader installiert werden. Es ist ein kleines Programm, das sich bei einer </span><em><span>DOS</span></em><span> Partitionstabelle wie wir sie erstellt haben in die ersten Blöcke der Festplatte (dem sogenannten MBR – Master Boot Record) installieren lässt. Es stellt sicher, dass der Kernel richtig geladen wird.</span></p><p><span>Wähle im folgenden Punkt die Variante </span><strong><span>simple</span></strong><span> aus:</span></p><p><img src="./setup_lilo_simple.png" referrerpolicy="no-referrer"></p><p><span>Während eines Systemstarts werden die Kernelmeldungen ausgegeben. Diese Ausgabe kann entweder in der Standard-Variante oder in einer höheren Bildschirmauflösung erfolgen (dem sogenannten Framebuffer). Eine höhere Auflösung sorgt für eine bessere Lesbarkeit, </span><strong><span>standard</span></strong><span> ist allerdings die sicherere Wahl, falls du nicht sicher bist, welche Auflösungen dein Monitor unterstützt. Es bestünde alternativ auch die Möglichkeit </span><em><span>ask</span></em><span> zu wählen, dann wirst du beim Systemstart gefragt und wenn du nichts angibst, fällt das System auf </span><em><span>standard</span></em><span> zurück.</span></p><p><img src="./setup_lilo_resolution.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Dem Kernel könnten beim Booten zusätzliche Parameter mitgegeben werden. In den allermeisten Fällen ist dies nicht notwendig. Daher belassen wir dieses Feld leer:</span></p><p><img src="./setup_lilo_appendline.png" referrerpolicy="no-referrer"></p><p><span>Mehr als die Hälfte der Basisinstallation hast du bereits geschafft und damit die ersten wichtigen Schritte zu deinem eigenen Linux-System getan.</span></p><p><span>Das Installationsprogramm möchte als Nächstes von dir wissen, wohin der Bootloader installiert werden soll. Bei Slackware kommt der Bootloader </span><em><span>LILO</span></em><span> zum Einsatz. Dabei handelt es sich um den ältesten noch aktiven Bootloader für Linux. Viele andere Linux-Distributionen verwenden heutzutage </span><em><span>grub</span></em><span> bzw. </span><em><span>grub2</span></em><span> als Bootloader. LILO ist hingegen einfacher zu bedienen und tut genau das, was es tun soll.</span></p><p><span>Wie zuvor erwähnt kann der Bootloader in die ersten Blöcke der Festplatte geschrieben werden, den MBR. Diese Auswahl wird empfohlen und wir werden sie beibehalten. Alternativ könnte man den Bootloader auch in den Anfang der Linux Root-Partition schreiben. Nicht alle Computer können damit umgehen.</span></p><p><img src="./setup_lilo_mbr.png" referrerpolicy="no-referrer"></p><h4><a name="gpm" class="md-header-anchor"></a><span>GPM</span></h4><p><span>Linux unterstützt auch in der Textkonsole (der sogenannten tty) die Nutzung einer Maus. Damit kannst du zum Beispiel Text markieren, kopieren und einfügen. </span></p><p><span>Das Programm, das für die Steuerung der Maus in der Konsole zuständig ist, heisst </span><em><span>gpm</span></em><span>. Du kannst nun entscheiden, ob es beim Systemstart automatisch gestartet wird. In der Infobox wird dir angezeigt, welcher Befehl genau ausgeführt würde. </span></p><p><span>Es empfiehlt sie die Vorauswahl </span><strong><span>Yes</span></strong><span> beizubehalten:</span></p><p><img src="./setup_gpm_boot.png" referrerpolicy="no-referrer"></p><h4><a name="network" class="md-header-anchor"></a><span>Network</span></h4><p><span>Für die Anbindung deines Computers an das Internet benötigst du natürlich eine Netzwerkkonfiguration. Das Installationsprogramm fragt dich im nächsten Schritt, ob du die Netzwerkeinstellungen jetzt vornehmen möchtest. Wir entscheiden uns hier allerdings für </span><strong><span>No</span></strong><span>, da wir statt der klassischen Netzwerkkonfiguration später den flexibleren NetworkManager nutzen möchten. </span></p><p><img src="./setup_network.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <h4><a name="dienste" class="md-header-anchor"></a><span>Dienste</span></h4><p><span>Im folgenden Schritt kann festgelegt werden, welche Dienste beim Systemstart aktiviert werden sollen. Die Vorauswahl ist für ein Desktop-System sehr gut, es empfiehlt sich allerdings zusätzlich mit der Space-Taste den Dienst </span><strong><span>rc.cups</span></strong><span> auszuwählen. Dieser ist für die Druckerverwaltung wichtig. Es folgt eine kurze Erklärung einiger der aufgeführten Dienste:</span></p><ul><li><strong><span>rc.atalk</span></strong><span> – ein altes, kaum noch verwendetes Protokoll, das zur Kommunikation mit einigen Apple-Geräten benötigt wird.</span></li><li><strong><span>rc.atd</span></strong><span> – ein Scheduler mit dem es möglich ist Programme zu einem späteren Zeitpunkt auszuführen.</span></li><li><strong><span>rc.bind</span></strong><span> – ein Dienst zur Namensauflösung (DNS). Er kommt in der Regel auf Servern im Internet zum Einsatz.</span></li><li><strong><span>rc.crond</span></strong><span> – mithilfe von cron lassen sich Anwendungen geplant zu einem bestimmten Zeitpunkt ausführen.</span></li><li><strong><span>rc.cups</span></strong><span> – wichtig für den Betrieb von Druckern unter Linux.</span></li><li><strong><span>rc.dnsmasq</span></strong><span> – ein Dienst der es ermöglicht auf einfache Weise einen DNS-Server oder Cache sowie einen DHCP-Server einzurichten.</span></li><li><strong><span>rc.dovecot</span></strong><span> – ein IMAP/POP3 Mailserver Dienst.</span></li><li><strong><span>rc.fuse</span></strong><span> – zusätzliche Dateisysteme können über den Userspace eingebunden werden. Wichtig für den Zugriff auf Netzwerkfreigaben.</span></li><li><strong><span>rc.httpd</span></strong><span> – der bekannte Webserver Apache. </span></li><li><strong><span>rc.inetd</span></strong><span> – ein Daemon der zum Start einiger spezieller, meist Netzwerkdienste, benötigt wird. Auf einem Desktop nicht zwingend erforderlich.</span></li><li><strong><span>rc.ip_forward</span></strong><span> – ermöglicht die Weiterleitung von IP-Paketen. Wird häufig auf Firewalls verwendet.</span></li><li><strong><span>rc.messagebus</span></strong><span> – ein Dienst zur Interprozesskommunikation. Viele Desktop-Programme benötigen diesen Dienst, um Informationen miteinander auszutauschen.</span>
  580. <span>…</span></li></ul><p><span>Du siehst, dass es sich bei den Diensten um ganz unterschiedliche Anwendungsfelder handelt. Das ist eine der wichtigsten Stärken von Linux. Du kannst das Betriebssystem für nahezu alles verwenden. Als Basis für einen Desktop-Computer, als Server, als Steuerungsanlage für Maschinen und vieles mehr.</span></p><p><img src="./setup_services.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <h4><a name="schriftarten" class="md-header-anchor"></a><span>Schriftarten</span></h4><p><span>Die Linux Konsole kann verschiedene Schriftarten verwenden. Die Standardschrift ist sehr gut lesbar, daher ist es nicht notwendig im nächsten Schritt die Schrift zu wechseln. Natürlich ist es dir überlassen, ob du einige der Schriften ausprobieren möchtest. Möglicherweise ist eine dabei, die dir besonders gut gefällt.</span></p><p><img src="./setup_fonts.png" referrerpolicy="no-referrer"></p><h4><a name="uhrzeit" class="md-header-anchor"></a><span>Uhrzeit</span></h4><p><span>(Fast) jeder Computer hat eine Hardwareuhr. Diese wird von der BIOS-Batterie gespiesen und stellt sicher, dass die Computeruhr auch dann weiter läuft, wenn der PC ausgeschaltet ist. Im Gegensatz zu der Aussage im Infoscreen kann heutzutage die Uhrzeit gut in UTC (Universal Time Zone) in der Hardwareuhr abgespeichert werden. Linux stellt dann die Zeitumstellung selbst sicher. Es kann allerdings sein, dass die Uhr einmal neu eingestellt werden muss. Wie das genau funktioniert, wird im Verlauf des Kurses erklärt. Wähle bitte UTC und bestätige mit </span><strong><span>OK</span></strong><span>.</span></p><p><img src="./setup_utc.png" referrerpolicy="no-referrer"></p><p><span>Damit die Zeitumstellung richtig funktioniert muss dein Linux-System wissen, in welcher Zeitzone es sich befindet. In der Liste werden viele Zeitzonen angezeigt. Wähle die für dich passende Zeitzone aus (für die Schweiz zum Beispiel </span><em><span>Europe/Zurich</span></em><span>). </span></p><div style="page-break-after: always;"></div><p><span>Du kannst in langen Listen mit den PageUp/PageDown-Tasten navigieren, das geht schneller als mit den Pfeiltasten:</span></p><p><img src="./setup_timezone.png" referrerpolicy="no-referrer"></p><h4><a name="editor-vi" class="md-header-anchor"></a><span>Editor vi</span></h4><p><span>Slackware enthält den Editor </span><strong><span>vi</span></strong><span> in den unterschiedlichen Ausprägungen </span><em><span>elvis</span></em><span>, </span><em><span>nvi</span></em><span> und </span><em><span>vim</span></em><span>. An dieser Stelle kannst du </span><strong><span>elvis</span></strong><span> auswählen. Im weiteren Verlauf des Kurses wirst du lernen, wie du dies selbstständig ändern kannst.</span></p><p><img src="./setup_elvis.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div><h4><a name="desktop" class="md-header-anchor"></a><span>Desktop</span></h4><p><span>Im Folgenden kannst du festlegen, welche Desktopumgebung standardmässig gestartet werden soll. Zu Beginn des Kurses gehen wir von der schnellen Desktopumgebung Xfce aus. Später erklären wir auch, wie du alternative Desktopumgebungen installieren und ausprobieren kannst.</span></p><p><img src="./setup_desktop.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div><h4><a name="root-passwort" class="md-header-anchor"></a><span>Root Passwort</span></h4><p><span>Der Benutzer </span><em><span>root</span></em><span> ist der wichtigste Benutzer auf einem Linux-System. Er ist sozusagen der Administrator. Es empfiehlt sich dringend für diesen Benutzer ein Passwort festzulegen. Bestätige die folgende Frage daher bitte mit </span><strong><span>Yes</span></strong><span>.</span></p><p><img src="./setup_root_pw.png" referrerpolicy="no-referrer"></p><p><span>Unterhalb des Infoscreens erscheint eine Eingabeaufforderung, an der du das neue Passwort eingeben musst.</span></p><p><strong><span>Hinweis:</span></strong><span> du siehst das Passwort während der Eingabe nicht. Abschliessen kannst du die Eingabe mit Enter.</span></p><p><span>Danach wirst du aufgefordert das Passwort zur Sicherheit nochmals einzugeben:</span></p><p><img src="./setup_root_pw_enter.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <h4><a name="installationsabschluss" class="md-header-anchor"></a><span>Installationsabschluss</span></h4><p><span>Damit ist die Installation abgeschlossen:</span></p><p><img src="./setup_complete.png" referrerpolicy="no-referrer"></p><p><span>Du gelangst nun zurück in das Hauptmenü. Wähle dort Exit, um das Installationsprogramm zu verlassen:</span></p><p><img src="./setup_exit.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div> <p><span>Die Aufforderung, das Installationsmedium zu entfernen, kannst du in diesem Moment noch ignorieren:</span></p><p><img src="./setup_remove_disk.png" referrerpolicy="no-referrer"></p><p><span>Zum Schluss wirst du noch gefragt, ob das System neu gestartet werden soll. Du kannst mit </span><strong><span>Yes</span></strong><span> bestätigen:</span></p><p><img src="./setup_reboot.png" referrerpolicy="no-referrer"></p><div style="page-break-after: always;"></div><h4><a name="systemstart" class="md-header-anchor"></a><span>Systemstart</span></h4><p><span>Das System startet nun neu. Sobald du wieder das BIOS deines Computers siehst, kannst du den USB-Stick abziehen und du solltest den LILO Bootloader sehen:</span></p><p><img src="./slackware_lilo.png" referrerpolicy="no-referrer"></p><h4><a name="system-herunterfahren" class="md-header-anchor"></a><span>System herunterfahren</span></h4><p><span>Nachdem du dich als </span><em><span>root</span></em><span> mit dem von dir definierten Passwort angemeldet hast, kannst du das System mit dem </span><strong><span>shutdown</span></strong><span> Befehl herunterfahren:</span></p><p><code>shutdown now</code></p><p><span>Du hast damit den ersten Teil des Linux-Kurses gemeistert und kannst mit dem zweiten Teil fortfahren.</span></p><p><span>Erste Schritte &lt; PDF &gt;</span></br>
  581. <span>↪ </span><a href='' target='_blank' class='url'></a></p><p><span>Erste Schritte &lt; HTML &gt;</span></br>
  582. <span>↪ </span><a href='' target='_blank' class='url'></a></p><hr /><p><span>© -CC-BY-SA- Lioh Moeller</span></p></div>
  583. </body>
  584. </html>