Current.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
  6. <title>Linux-Kurs - Slackware -current</title>
  7. <link type="text/css" rel="stylesheet" href="assets/css/github-markdown.css">
  8. <link type="text/css" rel="stylesheet" href="assets/css/pilcrow.css">
  9. <link rel="shortcut icon" href="assets/favicon.ico">
  10. </head>
  11. <body>
  12. <article class="markdown-body"><h1 id="linux-kurs---slackware--current"><a class="header-link" href="#linux-kurs---slackware--current"></a>Linux-Kurs - Slackware -current</h1>
  13. <p><a href="https://linuxkurs.ch">https://linuxkurs.ch</a></p>
  14. <p>Nach Abschluss des Kursteils <em>Konfiguration</em> hast Du bereits ein lauffähiges, sicheres Linux-System und bist in der Lage Programme zu installieren sowie Konfigurationsänderungen vorzunehmen. Falls Du etwas ältere aber dafür ausgereifte Programme vorziehst oder wenig Aufwand in den Betrieb deines Computers stecken möchtest, bietet dir die stabile Version von Slackware die richtige Basis dafür.</p>
  15. <p>Bei Slackware <em>-current</em> hingegen handelt es sich um die Entwickelervariante der Distribution. Dieser Zweig dient primär der Vorbereitung der nächsten stabilen Version. Es werden fortlaufend Pakete aktualisiert, was allerdings kurz vor dem Release der kommenden Version etwas nachlässt, da es dann primär um die Stabilisierung der Distribution geht. Viele begeisterte Slackware-Anwender nutzen den -current Zweig als Basis für ihr Linux-System. Gründe dafür gibt es viele, wie zum Beispiel die aktuellere Software und die ständige Erneuerung die dort stattfindet.</p>
  16. <p>Distributionen wie <em>Archlinux</em> haben das sogenannte Rolling-Release-Verfahren zum Konzept erklärt, welches gänzlich ohne stabile Veröffentlichungsversionen auskommt. Im Gegensatz dazu ist Slackware grundsätzlich auf die Veröffentlichung von stabilen Versionen fokussiert und nicht als Rolling-Release ausgelegt. Bei einer reinen Rolling-Distribution wie <em>Archlinux</em> gibt es beispielsweise die erwähnten Stabilisierungsphasen nicht.</p>
  17. <p>Für die Nutzung von -current als Basis für dein Linux-System braucht es zunächst einmal etwas Mut und den Willen dein System laufend zu aktualisieren. Als Lohn dafür erhältst Du eine sehr aktuelle Linux-Umgebung und kannst fortlaufend von diversen Weiterentwicklungen profitieren.</p>
  18. <p>Im Folgenden wird beschrieben, wie Du deine bisherige Installation auf -current aktualisieren und entsprechend erweitern kannst. Es ist auch möglich eine vollständige Neuinstallation auf Basis von -current durchzuführen. Der Slackware-Entwickler alienBOB stellt entsprechende Installationsmedien zur Verfügung: <nobr><a href="http://bear.alienbase.nl/mirrors/slackware/slackware64-current-iso/">http://bear.alienbase.nl/mirrors/slackware/slackware64-current-iso/</a></nobr>.</p>
  19. <p>Die Vorgehensweise zur Installation und Einrichtung entspricht in den Grundsätzen der im Kurs beschriebenen Schritte. In -current wird der Dienst <em>rc.inetd</em> nicht mehr defaultmässig aktiviert. Daher entfallen einige der im Kursteils <em>Konfiguration</em> unter dem Abschnitt <em>Dienste</em> beschriebenen Schritte.</p>
  20. <h2 id="voraussetzungen"><a class="header-link" href="#voraussetzungen"></a>Voraussetzungen</h2>
  21. <p>Wir gehen davon aus, dass dein Linux-System dem im bisherigen Kursverlauf beschriebenen Setup entspricht und Du den Defaultkernel in der <em>huge</em>-Variante verwendest. Letzeres ist der Fall, wenn Du keine vom Kurs abweichenden Änderungen im Bereich des Kernels vorgenommen hast.</p>
  22. <p>Die folgenden Arbeiten werden mit Root-Rechten ausgeführt. Starte daher bitte zunächst ein Root-Terminal:</p>
  23. <p><code>su -</code></p>
  24. <div style="page-break-after: always;"></div>
  25. <h3 id="slackpkg-anpassungen"><a class="header-link" href="#slackpkg-anpassungen"></a>slackpkg Anpassungen</h3>
  26. <p>Zur Verwaltung der offiziellen Slackware-Pakete nutzen wir weiterhin den Paketmanager <strong>slackpkg</strong>. In der Datei <em>/etc/slackpkg/mirrors</em> haben wir bisher einen Spiegelserver für die stabile Version von Slackware hinterlegt. Um auf -current zu wechseln müssen wir diesen auskommentieren und in der gleichen Datei deinen entsprechenden Mirror für -current aktivieren. </p>
  27. <pre class="hljs"><code>vi <span class="hljs-regexp">/etc/</span>slackpkg<span class="hljs-regexp">/mirrors</span></code></pre><p>Suche die Zeile mit dem aktiven Slackware64 Release-Mirror und füge am Zeilenanfang ein <em>#</em>-Zeichen ein.</p>
  28. <p>Im weiteren Verlauf der Datei findest Du entsprechende Mirrors für die Slackware64 -current Variante. Entferne vor einem Spiegelserver deiner Wahl das Rautezeichen. Zusammengefasst kann die Konfiguration wie folgt aussehen:</p>
  29. <p class="img-container"><img src="./slackware_slackpkg_activate_current_mirror.png" alt=""></p>
  30. <p><strong>Hinweis</strong>: Es darf nur ein Mirror aktiv konfiguriert sein. </p>
  31. <div style="page-break-after: always;"></div>
  32. <h4 id="blacklist"><a class="header-link" href="#blacklist"></a>Blacklist</h4>
  33. <p>Es empfiehlt sich zu diesem Zeitpunkt die mittels sbopkg erstellten Pakete sowie sbopkg selbst zu blacklisten (das Paket endet auf <em>_wsr</em>). </p>
  34. <p>Füge dazu die folgenden Zeilen zu am Ende der Konfigurationsdatei <em>/etc/slackpkg/blacklist</em> ein:</p>
  35. <pre class="hljs"><code>[<span class="hljs-number">0</span><span class="hljs-number">-9</span>]+_SBo
  36. [<span class="hljs-number">0</span><span class="hljs-number">-9</span>]+_wsr</code></pre><p><code>vi /etc/slackpkg/blacklist</code></p>
  37. <p class="img-container"><img src="./slackware_slackpkg_blacklist_sbo_wsr.png" alt=""></p>
  38. <p>Führe nach den Anpassungen eine Aktualisierung der Repository-Metadaten und ein Update von <strong>slackpkg</strong> selbst durch:</p>
  39. <pre class="hljs"><code><span class="hljs-attribute">slackpkg update</span></code></pre><p>slackpkg erkennt, dass Du auf die Entwicklerversion gewechselt hast und fordert zu einer Bestätigung auf. Gebe <strong>Y</strong> ein um fortzufahren:</p>
  40. <p class="img-container"><img src="./slackware_slackpkg_confirm_current.png" alt=""></p>
  41. <pre class="hljs"><code><span class="hljs-attribute">slackpkg upgrade slackpkg</span></code></pre><p>Wenn ein Paket bei einem Upgrade neue Konfigurationsdateien mit sich bringt wirst Du wie üblich gefragt, ob du die alten Versionen behalten möchtest oder die neue Version der jeweiligen Konfigurationsdatei übernommen werden soll.</p>
  42. <div style="page-break-after: always;"></div>
  43. <p>In Falle von slackpkg ist es empfehlenswert die neuen Konfigurationsdateien zu übernehmen, da diese auch neue Mirrorinformationen enthalten:</p>
  44. <p class="img-container"><img src="./slackware_slackpkg_new_config_overwrite.png" alt=""></p>
  45. <p>Dies hat allerdings zur Folge, dass deine zuvor gemachten Änderungen wieder überschrieben werden und du den Mirror für -current erneut in der <em>/etc/slackpkg/mirrors</em> aktivieren musst. Gehe dazu wie zuvor beschrieben vor.</p>
  46. <p><strong>Hinweis</strong>: Alle Pakete die nicht offiziell Bestandteil der Distribution sind müssen nach der Aktualisierung auf -current neu erstellt beziehungsweise installiert werden.</p>
  47. <h3 id="aktualisierung-auf--current"><a class="header-link" href="#aktualisierung-auf--current"></a>Aktualisierung auf -current</h3>
  48. <p>Die Aktualisierung sollte sicherheitshalber in einer tty-durchgeführt werden. Du kannst diese beispielsweise mit Hilfe von <code>Ctrl + Alt + F1</code> öffnen. Melde dich dort als Root-Benutzer an.</p>
  49. <p>Zunächst muss slackpkg mit dem <code>update</code> Parameter ausgeführt werden, um die Anwendung über die Änderungen zu informieren:</p>
  50. <p><code>slackpkg update</code></p>
  51. <p>Neue Versionen von Slackware werden in der Regel mit einer aktuelleren Version der <em>GNU C libraries</em> ausgeliefert. Viele der enthaltenen Pakete wurden gegen diese aktualisierte <em>glibc</em> Version compiliert. Um Fehler bei der Paketinstallation zu vermeiden sollte daher bei einem Wechsel auf -current zuerst <em>glibc</em> aktualisiert werden:</p>
  52. <p><code>slackpkg upgrade glibc-solibs</code></p>
  53. <p>Nach der <em>glibc</em> Aktualisierung kannst du mit Hilfe des <em>install-new</em> Parameters alle neu hinzugekommenen Pakete installieren, die bisher nicht Bestandteil der Distribution waren:</p>
  54. <p><code>slackpkg install-new</code></p>
  55. <p>Das eigentlich Upgrade startest du mit dem <em>upgrade-all</em> Parameter:</p>
  56. <p><code>slackpkg upgrade-all</code></p>
  57. <p>Die Aktualisierung kann je nach Umfang deines Systems einige Zeit in Anspruch nehmen.</p>
  58. <div style="page-break-after: always;"></div>
  59. <p>Wie bekannt wirst Du nach der Installation der Pakete gefragt, ob die bisherigen Konfigurationsdateien beibehalten oder durch die neuen Standardkonfiguration ersetzt werden sollen. Mit <strong>Prompt</strong> wirst Du für jede neue Konfigurationsdatei gefragt ob Du die neue Datei übernehmen möchtest oder die bisherige behalten willst. Es ist auch möglich die Dateien zu vergleichen oder zu <em>mergen</em>, also zusammenzuführen. Mit <strong>Overwrite</strong> würdest Du alle neuen Konfigurationsdateien übernehmen, was zur Folge hätte, dass Du die bisherigen Einstellungen, wie zum Beispiel den default Runlevel, die NTP-Konfiguration oder die Locales-Einstellungen erneut konfiguriert werden müssen. Dafür kannst Du dir sicher sein, dass alle Neuerungen in Konfigurationsdateien auch übernommen werden.</p>
  60. <p>Führe nach jeder Aktualisierung des Kernels <code>lilo</code> aus um den Bootloader neu zu schreiben:</p>
  61. <p><code>lilo</code></p>
  62. <p>Mit Hilfe des <em>clean-system</em> Parameters entfernst Du abschliessend alle Pakete die nicht mehr Bestandteil der Distribution sind:</p>
  63. <p><code>slackpkg clean-system</code></p>
  64. <p>Nach der Aktualisierung kannst Du dein Linux-System neu starten.</p>
  65. <h3 id="slackpkg+"><a class="header-link" href="#slackpkg+"></a>Slackpkg+</h3>
  66. <p>Ein alternativer Ansatz zur Verwaltung von Zusatzrepositories ist die slackpkg-Erweiterung mit dem Namen <em>Slackpkg+</em>. Du findest sie auf der Homepage des Entwicklers:</p>
  67. <p><a href="http://slakfinder.org/slackpkg+.html">http://slakfinder.org/slackpkg+.html</a></p>
  68. <p>Zur Installation klicke auf den Download-Link und wähle aus der Liste die neueste verfügbare Version aus. Speichere das Paket im Download-Ordner deines Benutzers ab. Öffne ein Benutzer-Terminal und installiere das Paket mit Hilfe des <code>upgradepkg</code> Kommandos:</p>
  69. <p><code>sudo upgradepkg --install-new ~/Downloads/slackpkg+*</code></p>
  70. <p>Wechsle danach zurück in das Root-Terminal.</p>
  71. <h4 id="multilib"><a class="header-link" href="#multilib"></a>Multilib</h4>
  72. <p>Falls Du wie im Kursteil <em>Programme</em> beschrieben <em>Multilib</em> verwendest, hast Du bisher das Script <em>/usr/local/sbin/alien-multilib-rsync.sh</em> zur Synchronisation und Installation der Multilib-Pakete genutzt. Es prüft den Mirror jeweils auf Veränderungen. Sollte neue Pakete vorhanden sein, wird mit Hilfe des <strong>rsync</strong> Kommandos ein Abgleich durchgeführt. Dabei werden nur die geänderten Pakete heruntergeladen. Installiert beziehungsweise aktualisiert werden hingegen jeweils alle Pakete, auch wenn sich nur wenige Änderungen ergeben haben. Da die Frequenz der Änderungen im Multilib-Repository unter Slackware -current deutlich höher ist, ist die Nutzung des Scriptes für diesen Distributionszweig nicht empfehlenswert. Sinnvoller ist die Verwendung von <em>Slackpkg+</em>. Das bisherige Sync-Script kannst Du mit Hilfe des folgenden Kommandos löschen:</p>
  73. <p><code>\rm /usr/local/sbin/alien-multilib-rsync.sh</code></p>
  74. <p><strong>Hinweis</strong>: Das <code>\</code>-Zeichen vor dem <code>rm</code> unterdrückt die Nutzung des von uns gesetzten Aliases und löscht die Datei somit ohne Nachfrage.</p>
  75. <div style="page-break-after: always;"></div>
  76. <p>Bearbeite zur Aktivierung von Multilib in Slackpkg+ die Datei <em>/etc/slackpkg/slackpkgplus.conf</em>:</p>
  77. <p><code>vi /etc/slackpkg/slackpkgplus.conf</code></p>
  78. <p>Die Repository-Definition für Multilib unter -current sieht wie folgt aus:</p>
  79. <p><code>MIRRORPLUS[&#39;multilib&#39;]=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/</code></p>
  80. <p>Füge des weiteren <em>multilib</em> zur REPOPLUS Variable hinzu:</p>
  81. <p><code>REPOPLUS=( slackpkgplus multilib )</code></p>
  82. <p>Slackpkg+ nutzt ein Prioritäten-System zur Verwaltung der Repositories. Du kannst das multilib-Repository bevorzugen, indem Du es in der Variable PKGS_PRIORITY hinterlegst:</p>
  83. <p><code>PKGS_PRIORITY=( multilib )</code></p>
  84. <p class="img-container"><img src="./slackware_slackpkgplus_multilib.png" alt=""></p>
  85. <div style="page-break-after: always;"></div>
  86. <p>Falls Du <em>alien</em> und <em>compat32</em> in der Datei <em>/etc/slackpkg/blacklist</em> aufgeführt hast, musst Du die entsprechenden Einträge vor der Nutzung von Multilib mit Slackpkg+ entfernen oder auskommentieren:</p>
  87. <pre class="hljs"><code>vi <span class="hljs-regexp">/etc/</span>slackpkg<span class="hljs-regexp">/blacklist</span></code></pre><pre class="hljs"><code><span class="hljs-meta"># This will blacklist compat32 and alienBOB's packages</span>
  88. <span class="hljs-meta"># [0-9]+alien</span>
  89. <span class="hljs-meta"># [0-9]+compat32</span></code></pre><p>Nach Änderungen an den zu verwendeten Repositories, müssen die GPG-Entwicklerschlüssel und die Repository-Metadaten aktualisiert werden:</p>
  90. <pre class="hljs"><code>slackpkg <span class="hljs-keyword">update</span> gpg
  91. slackpkg <span class="hljs-keyword">update</span></code></pre><p>Mit dem <code>upgrade-all</code> slackpkg Parameter werden die <em>gcc</em> Pakete aus dem Slackware-Repository durch die Multilib Pakete ersetzt. Daraufhin kannst Du alle compat32 aus dem Multilib-Repository installieren:</p>
  92. <pre class="hljs"><code>slackpkg upgrade-<span class="hljs-keyword">all</span>
  93. slackpkg install multilib</code></pre><h3 id="sbo"><a class="header-link" href="#sbo"></a>SBo</h3>
  94. <p>Die meisten Pakete die Du zuvor mittels sbopkg aus den SlackBuild Scripten erstellt hast, werden nun nicht mehr funktionieren. Die Unterstützung von -current in sbopkg ist experimentell. Um diese zu aktivieren, öffne ein Root-Terminal und bearbeite die Datei <em>/etc/sbopkg/sbopkg.conf</em>.</p>
  95. <pre class="hljs"><code><span class="hljs-keyword">su</span> -
  96. vi /etc/sbopkg/sbopkg.<span class="hljs-keyword">conf</span></code></pre><p>Entscheidend sind die Variablen: <em>REPO_BRANCH</em> und <em>REPO_NAME</em>. Diese müssen wie folgt konfiguriert werden:</p>
  97. <pre class="hljs"><code><span class="hljs-attr">REPO_BRANCH</span>=<span class="hljs-variable">${REPO_BRANCH:-current}</span>
  98. <span class="hljs-attr">REPO_NAME</span>=<span class="hljs-variable">${REPO_NAME:-SBo-git}</span></code></pre><p class="img-container"><img src="./sbo_sbopkg_git_config.png" alt=""></p>
  99. <p>Führe danach mit Hilfe des <code>-r</code> Parameters eine Synchronisation des Repositories aus:</p>
  100. <p><code>sbopkg -r</code></p>
  101. <div style="page-break-after: always;"></div>
  102. <p>Beim ersten Aufruf nach den Anpassungen wirst Du darauf hingewiesen, dass möglicherweise einige Verzeichnisse noch nicht existieren. Bestätige die Erstellung durch Eingabe von <strong>C</strong>:</p>
  103. <p class="img-container"><img src="./sbo_sbopkg_git_dirs.png" alt=""></p>
  104. <h4 id="sqg"><a class="header-link" href="#sqg"></a>sqg</h4>
  105. <p>Auch das im sbopkg Paket enthaltene Tool <strong>sqg</strong> zur Erstellung der Queuefiles muss angepasst werden.</p>
  106. <p><code>vi /usr/sbin/sqg</code></p>
  107. <p>Die anzupassenden Variablen sind hier ebenfalls <em>REPO_NAME</em> und <em>REPO_BRANCH</em>:</p>
  108. <pre class="hljs"><code><span class="hljs-attr">REPO_NAME</span>=<span class="hljs-variable">${REPO_NAME:-SBo-git}</span>
  109. <span class="hljs-attr">REPO_BRANCH</span>=<span class="hljs-variable">${REPO_BRANCH:-current}</span></code></pre><p class="img-container"><img src="./sbo_sbopkg_git_sqg_config.png" alt=""></p>
  110. <p>Nach der Umstellung des Repositories müssen die Queuefiles neu erstellt werden. Dies kann entweder durch die Angabe einzelner Queues geschehen, wie zum Beispiel für transmission:</p>
  111. <p><code>sqg -p transmission</code></p>
  112. <p>oder wie bekannt mit Hilfe des <code>-a</code> Parameters für alle verfügbaren Queuefiles:</p>
  113. <p><code>sqg -a</code></p>
  114. <p><strong>Hinweis</strong>: Dieser Vorgang kann sehr lange dauern.</p>
  115. <p>Wie Du vielleicht am Namen <em>SBo-git</em> erkannt hast, basiert die sbopkg-Version für -current auf einem GIT-Repository. Dieses wird bei grösseren Änderungen vollständig gelöscht und neu erstellt, was dazu führen kann, dass das git-Programm welches sbopkg im Hintergrund verwendet, mit diesen Änderungen nicht umgehen kann.</p>
  116. <p>Daher wird empfohlen vor jedem Abgleich des Repositories mittels <code>sbopkg -r</code> folgenden Befehl auszuführen:</p>
  117. <pre class="hljs"><code>rm -fR /var/<span class="hljs-class"><span class="hljs-keyword">lib</span>/<span class="hljs-title">sbopkg</span>/<span class="hljs-title">SBo</span>-<span class="hljs-title">git</span></span>
  118. sbopkg -r</code></pre><p>Auch die Queuefiles sollten regelmässig aktualisiert werden. Vor jeder Erstellung eines Paketes anhand eines Queuefiles, sollte letzeres mittels <code>sqg -p $PAKETNAME</code> auf den aktuellen Stand gebracht werden.</p>
  119. <div style="page-break-after: always;"></div>
  120. <h4 id="sbo-pakete-ermitteln"><a class="header-link" href="#sbo-pakete-ermitteln"></a>SBo Pakete ermitteln</h4>
  121. <p>Um eine Liste aller Pakete die Du mit sbopkg installiert hast zu erstellen, kannst Du wie folgt vorgehen:</p>
  122. <p><code>find /var/log/packages/*_SBo -printf &quot;%f\n&quot; | awk -F&#39;-[0-9]&#39; &#39;{print $1}&#39; &gt; /root/mysbopackages</code></p>
  123. <p>Der <strong>find</strong> Befehl sucht im Verzeichnis <em>/var/log/packages</em> alle Dateien die mit <em>_SBo</em> enden und gibt diese aus. Die Ausgabe würde ohne weitere Parameter den gesamten Pfad der gefundenen Dateien anzeigen. Mit Hilfe von <code>-printf &quot;%f\n&quot;</code> schränken wir die Ausgabe auf den tatsächlichen Dateinamen ein (<code>%f</code>) und fügen nach jeder ausgegebenen Zeile mit Hilfe von <code>\n</code> einen Zeilenumbruch hinzu.</p>
  124. <p>Um eine Paketliste zu erhalten, benötigen wir allerdings nur die Paketnamen ohne die Versionsnummern. Dies erreichen wir indem wir die Ausgabe des find Befehls mit dem <strong>awk</strong> Kommando bearbeiten. Der Parameter <code>-F&#39;-[0-9]&#39;</code> gibt an, welche Zeichen von awk als Trennzeichen interpretiert werden sollen. Anhand dieser Informationen teilt awk die Ausgabe in verschiedene durchnummerierte Bereiche auf. In diesem Fall soll das Kommando ein <code>-</code> Zeichen gefolgt von einer beliebigen Zahl als Trennelement nutzen. <code>&#39;{print $1}</code> gibt den ersten Block der aufgetrennten Elemente aus. <code>$0</code> würde für die gesamte unbearbeitete Ausgabe stehen.</p>
  125. <p>Die Ausgabe leiten wir mit Hilfe vom <code>&gt; /root/mysbopackages</code> in eine Datei um.</p>
  126. <p>Diese kannst du dir beispielsweise mit dem <strong>cat</strong> Kommando anzeigen lassen:</p>
  127. <p><code>cat /root/mysbopackages</code></p>
  128. <p>Die Paketliste kann dir Hinweise geben, welche Paket Du neu erstellen und installieren musst.</p>
  129. <h4 id="alte-sbo-pakete-bereinigen"><a class="header-link" href="#alte-sbo-pakete-bereinigen"></a>Alte SBo Pakete bereinigen</h4>
  130. <p>Nach Erstellung der Paketliste wird empfohlen alle alten mittels <strong>sbopkg</strong> installierten Pakete zu entfernen und danach wie bekannt neu zu erstellen und zu installieren. Zum Entfernen kannst Du den Blacklist Eintrag <nobr><code>[0-9]+_SBo</code></nobr> in der Datei <em>/etc/slackpkg/blacklist</em> löschen und danach slackpkg mit dem <code>clean-system</code> Parameter ausführen:</p>
  131. <p><code>slackpkg clean-system</code></p>
  132. <p>Es sollten alle Pakete mit der Endung <em>_SBo</em> zur Deinstallation angeboten werden.</p>
  133. <p>Nun kannst Du die zuvor unter der stabilen Variante von Slackware mittels <strong>sbopkg</strong> installierten Pakete neu erstellen.</p>
  134. <h4 id="blacklist-für-sbo-git"><a class="header-link" href="#blacklist-für-sbo-git"></a>Blacklist für SBo-git</h4>
  135. <p>Damit <strong>slackpkg clean-system</strong> die SBo-git Pakete nicht zur Deinstallation vorschlägt, muss ein Blacklist Eintrag in der <em>/etc/slackpkg/blacklist</em> Datei hinterlegt werden:</p>
  136. <p>[0-9]+ponce</p>
  137. <p><code>vi /etc/slackpkg/blacklist</code></p>
  138. <p class="img-container"><img src="./slackware_slackpkg_blacklist_ponce_wsr.png" alt=""></p>
  139. <h4 id="besonderheiten"><a class="header-link" href="#besonderheiten"></a>Besonderheiten</h4>
  140. <p>Einige der SlackBuilds werden möglicherweise unter -current nicht mehr funktionieren. Die Entwickler und Betreiber des Repositories geben sich allerdings sehr viel Mühe, möglichst alle SlackBuilds lauffähig zu halten. Für manche Pakete ergeben sich allerdings Änderungen im Gegensatz zur stabilen Variante:</p>
  141. <h5 id="libreoffice"><a class="header-link" href="#libreoffice"></a>LibreOffice</h5>
  142. <p>Das <em>LibreOffice</em> SlackBuild-Script erstellt die Bürosoftware vollständig aus dem Quelltext. Alternativ empfiehlt sich die Installation aus dem alienBOB Repository. Möchtest Du LibreOffice dennoch aus den Quellen compilieren solltest Du folgendes beachten: In -current wird als Abhängigkeit nicht mehr <em>openjdk7</em> sondern das offizielle JDK von Oracle aufgeführt. Die Installation des <em>jdk</em> Paketes ist nicht ohne weiteres möglich, da die Sourcen erst nach einem Login und dem Akzeptieren der Nutzungsbedingungen herunterladbar sind. Dieser Prozess lässt sich nicht mittels sbopkg automatisieren und erfordert manuelle Vorarbeit.</p>
  143. <p>Öffne zunächst im Internetbrowser die Downloadseite von Oracle:</p>
  144. <nobr><a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">https://www.oracle.com/technetwork/java/javase/downloads/index.html</a></nobr>
  145. <p>Wähle unterhalb von <em>Oracle JDK</em> den Punkt <strong>JDK Download</strong>. Auf der Folgeseite klicke einen beliebigen Download an und wähle dort <em>I reviewed and accept the License Agreement</em>:</p>
  146. <p class="img-container"><img src="./oracle_accept_license.png" alt=""></p>
  147. <p>An dieser Stelle musst Du nichts weiter tun. </p>
  148. <p>Suche nun auf SlackBuilds.org nach dem <em>jdk</em> Paket:</p>
  149. <p><a href="https://slackbuilds.org/result/?search=jdk&amp;sv=">https://slackbuilds.org/result/?search=jdk&amp;sv=</a></p>
  150. <p>Wähle dort <em>Source Downloads (64bit)</em>. Der angegebene Link verweist auf die im SlackBuild hinterlegte JDK-Version.</p>
  151. <p>Für den Download benötigst Du seit einiger Zeit zusätzlich einen Oracle-Account. Zur Erstellung empfehlen wir die Verwendung einer <em>Wegwerf-Emailadresse</em> wie zum Beispiel: <nobr><a href="https://tempmail.linux.pizza">https://tempmail.linux.pizza</a></nobr></p>
  152. <p>Speichere die Datei in deinem Download-Ordner ab und verschiebe sie daraufhin mit Root-Rechten in das Verzeichnis <em>/var/cache/sbopkg</em>. Falls <strong>sbopkg</strong> in dem Pfad bereits die heruntergeladenen Quellen vorfindet, werden diese verwendet und kein Downloadversuch gestartet.</p>
  153. <p><code>sudo mv ~/Downloads/jdk-* /var/cache/sbopkg</code></p>
  154. <p>Daraufhin solltest Du zunächst das jdk Paket installieren:</p>
  155. <p><code>sudo sbopkg -i jdk</code></p>
  156. <p>Damit die Umgebungsvariablen für Java entsprechend geladen werden, ist es empfehlenswert vor der Installation von LibreOffice die aktive Shell zu beenden und eine neue Shell zu starten.</p>
  157. <p>Daraufhin lässt sich LibreOffice anhand des Queuefiles erstellen:</p>
  158. <p><code>sudo sbopkg -k -i LibreOffice</code></p>
  159. <h3 id="kde-plasma"><a class="header-link" href="#kde-plasma"></a>KDE Plasma</h3>
  160. <p>Der Slackware-Entwickler alienBOB stellt mit dem ktown Repository aktuelle KDE Plasma Pakete zur Verfügung. Damit erhältst Du eine zeitgemässe und vollständig konfigurierbare Desktopoberfläche.</p>
  161. <p>Zur Aktivierung kannst Du die Slackpkg+ Konfigurationsdatei erweitern.</p>
  162. <pre class="hljs"><code><span class="hljs-keyword">su</span> -
  163. vi /etc/slackpkg/slackpkgplus.<span class="hljs-keyword">conf</span></code></pre><p>Die Repository-Definition für ktown unter -current sieht wie folgt aus:</p>
  164. <p><code>MIRRORPLUS[&#39;ktown&#39;]=http://bear.alienbase.nl/mirrors/alien-kde/current/latest/x86_64/</code></p>
  165. <p>Für die Installation von Zusatzpaketen wie LibreOffice oder vlc empfiehlt sich zusätzlich die Angabe des <em>restricted</em> und <em>alienbob</em> Repositories:</p>
  166. <pre class="hljs"><code>MIRRORPLUS[<span class="hljs-string">'alienbob'</span>]=<span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/bear.alienbase.nl/mirrors</span><span class="hljs-regexp">/people/alien</span><span class="hljs-regexp">/sbrepos/current</span><span class="hljs-regexp">/x86_64/</span>
  167. MIRRORPLUS[<span class="hljs-string">'restricted'</span>]=<span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/bear.alienbase.nl/mirrors</span><span class="hljs-regexp">/people/alien</span><span class="hljs-regexp">/restricted_sbrepos/current</span><span class="hljs-regexp">/x86_64/</span></code></pre><p>Füge die Namen der Repositories zur REPOPLUS Variable hinzu:</p>
  168. <p><code>REPOPLUS=( slackpkgplus restricted alienbob ktown )</code></p>
  169. <p>Damit die <em>ktown</em> Pakete bevorzugt installiert werden, ist es wichtig eine entsprechende PKGS_PRIORITY zu definieren. Falls Du auch vlc aus dem <em>restricted</em> Repository installieren willst, konfiguriere die Variable entsprechend:</p>
  170. <p><code>PKGS_PRIORITY=( restricted:vlc ktown )</code></p>
  171. <div style="page-break-after: always;"></div>
  172. <p>Nach der Bearbeitung der Konfigurationsdatei sollte diese ähnlich wie folgt aussehen:</p>
  173. <p class="img-container"><img src="./slackware_slackpkgplus_alien_restricted_ktown.png" alt=""></p>
  174. <p>Daraufhin müssen die GPG-Entwicklerschlüssel und die Repository-Metadaten aktualisiert werden:</p>
  175. <pre class="hljs"><code>slackpkg <span class="hljs-keyword">update</span> gpg
  176. slackpkg <span class="hljs-keyword">update</span></code></pre><p>Zur Nutzung von <em>ktown</em> müssen zunächst alle Pakete der offiziellen <em>kde</em> Serie entfernt werden. Dazu kannst Du slackpkg verwenden:</p>
  177. <p><code>slackpkg remove kde</code></p>
  178. <p>Die Installation der ktown Pakete erfolgt mit folgendem Kommando:</p>
  179. <p><code>slackpkg install ktown</code></p>
  180. <p>Führe daraufhin durch Angabe des <code>upgrade-all</code> slackpkg Parameters eine Aktualisierung aller Systempakete aus:</p>
  181. <pre class="hljs"><code>slackpkg upgrade-<span class="hljs-keyword">all</span></code></pre><p>Öffne nach der Installation ein Terminal mit deinem Benutzerkonto und führe <code>xwmconfig</code> aus. In der Liste der verfügbaren Windowmanager und Desktopumgebungen findest Du einen neuen Eintrag <em>xinitrc.plasma</em>, den Du auswählen kannst.</p>
  182. <p>Nach dem Neustart des Systems begrüsst dich der Displaymanager SSDM. Dort kannst Du dich mit deinem Passwort anmelden. Alternativ kannst Du über den Sitzungswechsler eine andere Desktopoberfläche wie zum Beispiel Xfce wählen.</p>
  183. <p>Nach der Anmeldung über die <em>Plasma</em> Sitzung gelangst zum KDE Plasma Desktop:</p>
  184. <p class="img-container"><img src="./slackware_kde_plasma_ktown.png" alt=""></p>
  185. <p><strong>Hinweis:</strong>: Bei der Verwendung von ktown in Kombination mit sbopkg gelten die im Kursteil <em>Programm</em> unter dem Abschnitt <em>Slackpkg+</em> beschriebenen Vorsichtsmassnahmen. </p>
  186. <h4 id="mauscursor-design"><a class="header-link" href="#mauscursor-design"></a>Mauscursor-Design</h4>
  187. <p>Wenn Du KDE Plasma aus ktown verwendest, wird dir vielleicht aufgefallen sein, dass das Mauszeiger-Design bei einigen Applikationen wechselt. Dies kannst Du vereinheitlichen, indem Du mit Root-Rechten eine Systemweite Konfiguration erstellst:</p>
  188. <pre class="hljs"><code>mkdir <span class="hljs-regexp">/usr/</span>share<span class="hljs-regexp">/icons/</span><span class="hljs-keyword">default</span>
  189. vi <span class="hljs-regexp">/usr/</span>share<span class="hljs-regexp">/icons/</span><span class="hljs-keyword">default</span><span class="hljs-regexp">/index.theme</span></code></pre><p>Die Datei sollte folgenden Inhalt haben:</p>
  190. <pre class="hljs"><code><span class="hljs-section">[icon theme]</span>
  191. <span class="hljs-attr">Inherits</span>=breeze_cursors</code></pre><p>Den Namen des Cursor-Designs kannst Du natürlich entsprechend an deine Vorlieben anpassen.</p>
  192. <h3 id="system-aktualisieren"><a class="header-link" href="#system-aktualisieren"></a>System aktualisieren</h3>
  193. <p>Die Vorgehensweise zur Aktualisierung deines -current Systems entspricht den zuvor geschilderten Schritten. Diese solltest Du regelmässig durchführen. Alle Kommandos müssen mit Root-Rechten ausgeführt werden.</p>
  194. <p>Lese dir zunächst den Changelog durch. Dort findest Du wichtige Hinweise zu Veränderungen. Öffne dazu die folgende URL im Firefox-Browser:</p>
  195. <p><a href="ftp://ftp.osuosl.org/pub/slackware/slackware64-current/ChangeLog.txt">ftp://ftp.osuosl.org/pub/slackware/slackware64-current/ChangeLog.txt</a></p>
  196. <p>Führe daraufhin mir Root-Rechten die Aktualisierung aus, welche aus den folgenden Kommandos besteht:</p>
  197. <pre class="hljs"><code>slackpkg <span class="hljs-keyword">update</span>
  198. slackpkg <span class="hljs-keyword">install</span>-<span class="hljs-keyword">new</span>
  199. slackpkg <span class="hljs-keyword">upgrade</span>-all
  200. slackpkg clean-<span class="hljs-keyword">system</span></code></pre><p>Solltest Du Multilib verwenden führe nach dem <code>slackpkg upgrade-all</code> folgenden Befehl aus um mögliche neue Pakete aus dem Multilib-Repository zu installieren:</p>
  201. <p><code>slackpkg install multilib</code></p>
  202. <p>Dies gilt analog auch für die Verwendung von <em>ktown</em>:</p>
  203. <p><code>slackpkg install ktown</code></p>
  204. <p>Falls der Kernel aktualisiert worden ist, führe zusätzlich <code>lilo</code> aus um den Bootloader neu zu schreiben.</p>
  205. <p><code>lilo</code></p>
  206. <p>Auf diese Weise kannst Du dein System aktuell halten und von den Neuerungen in -current profitieren.</p>
  207. <div style="page-break-after: always;"></div>
  208. <p>Mit Slackware -current hast du ein hochaktuelles Linux-System. Falls Du dich für den KDE Plasma Desktop entschieden hast, verfügst Du nun über eine frische Desktopoberfläche, die Du stark an deine persönlichen Bedürfnisse anpassen kannst.</p>
  209. <p>Im nächsten Kursteil lernst Du wie du deinen eigenen Kernel compilieren kannst.</p>
  210. <p>Kernel &lt; PDF &gt;</br>
  211. ↪ <a href="https://linuxkurs.ch/kurs/Kernel.pdf">https://linuxkurs.ch/kurs/Kernel.pdf</a></p>
  212. <p>Kernel &lt; HTML &gt;</br>
  213. ↪ <a href="https://linuxkurs.ch/kurs/Kernel.html">https://linuxkurs.ch/kurs/Kernel.html</a></p>
  214. <hr>
  215. <p>© Lioh Moeller</p>
  216. </article>
  217. </body>
  218. </html>