wie kann ich nur sicherheitsupdates über die befehlszeile installieren?
<p><code>sudo apt-get upgrade</code> installiert alle updates, nicht nur sicherheitsupdates. ich weiß, dass ich mit update manager nur wichtige sicherheitsupdates auswählen kann. gibt es eine möglichkeit, dies über die befehlszeile zu tun?</p>
<p>das paket <a href="http://packages.ubuntu.com/search?keywords=unattended-upgrades">nbeaufsichtigte upgrades</a> bietet funktionen zum automatischen installieren von sicherheitsupdates.</p><p>sie können dies verwenden, aber anstatt den automatischen teil zu konfigurieren, können sie ihn manuell aufrufen:</p><pre><code>sudo unattended-upgrade -d --dry-run sudo unattended-upgrade -d </code></pre><p>wenn sie es stattdessen ruhig ausführen möchten:</p><pre><code>sudo unattended-upgrade </code></pre><p>hinweis: wenn sie das unbeaufsichtigte upgrade aufrufen, lassen sie das "s" am ende stehen.</p><p>dies setzt voraus, dass das paket standardmäßig installiert ist, was wahrscheinlich auch so ist. wenn nicht, machen sie einfach:</p><pre><code>sudo apt-get install unattended-upgrades </code></pre><p>siehe auch <code>/usr/share/doc/unattended-upgrades/readme.md</code>.</p>
<p>der einfachste weg, dies über die befehlszeile zu tun, besteht darin, den befehl <code>passwd</code> mit root-rechten zu verwenden.</p><p><code>passwd username</code></p><p>von <code>man 1 passwd</code></p><pre><code>name passwd - update user's authentication token synopsis passwd [-k] [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-s] [--stdin] [username] description the passwd utility is used to update user's authentication token(s). </code></pre><p>nachdem sie das benutzerkennwort festgelegt haben, können sie den benutzer zwingen, es bei der nächsten anmeldung mit dem befehl <code>chage</code> (auch mit root-rechten) zu ändern, der das kennwort abläuft.</p><p><code>chage -d 0 username</code></p><p>wenn sich der benutzer erfolgreich mit dem von ihnen festgelegten kennwort authentifiziert, wird er automatisch aufgefordert, es zu ändern. nach einer erfolgreichen kennwortänderung wird der benutzer getrennt und die erneute authentifizierung mit dem neuen kennwort erzwungen.</p><p>sehen <code>man 1 chage</code> für weitere informationen zum ablauf des passworts.</p> <p>möchten sie, dass es funktioniert, ohne einen zusätzlichen befehl einzugeben, z.</p><pre><code>$ rm file </code></pre><p>oder nur, wenn der benutzer so etwas eingibt</p><pre><code>$ confirm rm file </code></pre><p>oder nur, wenn der benutzer versucht, bestimmte befehle auszuführen, z.</p><pre><code>$ rm file </code></pre><p>aber nicht für</p><pre><code>$ echo "hello" </code></pre><p>bei option 1 kann dies mit dem preexec-hook in zsh oder der debug-trap in bash erfolgen.</p><p>fügen sie bei option 2 so etwas in <code>/etc/bash.bashrc</code> oder eine andere shell-startdatei ein.</p><pre><code>confirm() { echo -n "do you want to run $*? [n/y] " read -n 1 reply echo if test "$reply" = "y" -o "$reply" = "y"; then "$@" else echo "cancelled by user" fi } </code></pre><p>bei option 3 können sie das <code>confirm</code> -skript oben ändern, oder einige befehle haben eine option, die sie fragen können, bevor sie etwas tun, z. <code>rm -i</code>. sie könnten <code>alias rm='rm -i'</code> in <code>/etc/bash.bashrc</code> einfügen.</p> Du erhältst entweder ein Paket mit USB Stick, von dem du dann die Installationsdatei bekommst oder du bekommst einen "Account" mit dem du direkt von der Seite Downloaden kannst. 


Bei Amazon bekommt man momentan, glaube ich, nur die USB Stick Variante. 


Einen Account erhältst du dann aber auch,mit dem du Lifetime Updates runterladen kannst. <p>wenn sie updates installieren als option haben, können sie besser verfolgen, wie oft ihre server für updates neu gestartet werden. aus it-sicht ist ein neustart eines servers normalerweise keine gute sache. so sehr, dass eine der verkaufsfunktionen von linux (ich nehme auch unix an?) immer darin bestand, dass weniger neustarts erforderlich sind.</p><p>dies ist wahrscheinlich eine dieser funktionen, bei denen eine gruppe innerhalb von microsoft dies für eine gute idee hielt, eine andere gruppe sich jedoch sorgen über die möglichen auswirkungen machte, wenn jemand sagen konnte: "ich musste meinen server diesen monat viermal neu starten, und ihr protokollierungssystem zeigt es mir." dass alle von ihnen update bezogen waren. "</p> <p>nachdem ich wochenlang damit rumgespielt hatte, konnte ich es endlich zum laufen bringen. da ich viele offene fragen gefunden habe, werde ich meine eigenen beantworten, um anderen zu helfen.</p><p><strong> wann funktioniert es? </strong></p><p>zuerst war ich mir nicht sicher, wie dieser voreinstellungsprozess aussehen würde. wann wurde die datei abgeholt und was ist zu erwarten, wenn meine vordefinierte datei nicht vollständig oder falsch war? also habe ich zuerst eine manuelle installation durchgeführt und alle gestellten fragen aufgeschrieben. nach der voreinstellung stellte ich fest, dass einige fragen nicht mehr gestellt werden, die fehlgeschlagenen fragen jedoch weiterhin gestellt wurden. also habe ich danach alles versucht, um sie alle vorzuspielen</p><p><strong> server edition </strong></p><p>ich habe im internet gelesen, dass sie die server-edition von ubuntu benötigen, da sie mit der desktop-edition nicht funktioniert. ich bin mir nicht sicher, ob das zutrifft, aber ich habe gerade die serverversion installiert und die desktop-pakete (in meinem fall gnome) in den voreinstellungsdateien installiert.</p><p><strong> bootoptionen </strong></p><p>manchmal wird über die übergabe von parametern durch die startoptionen gesprochen. ich hatte keine ahnung, wie das geht, aber am ende ist es ganz einfach. booten sie einfach vom installationsmedium und wählen sie ihre installationssprache. drücken sie dann f6, um andere optionen zu öffnen, und die startparameter werden angezeigt. drücken sie einfach die esc-taste, um den anderen optionsdialog zu schließen. <a href="https://i.stack.imgur.com/ztu2n.png"><img src="https://i.stack.imgur.com/ztu2n.png" alt="boot options in ubuntu"></a> </p><p>ich wollte nicht jedes mal alle diese optionen in die boot-optionen eingeben, also habe ich die datei\isolinux\isolinux.cfg (von meinem usb-stick) geändert und in diese geändert:</p><pre><code># d-i config version 2.0 # search path for the c32 support libraries (libcom32, libutil etc.) path include menu.cfg default vesamenu.c32 prompt 0 timeout 0 ui gfxboot bootlogo label custom menu label ^belle custom installation kernel /install/vmlinuz append file=/cdrom/preseed/my.seed debian-installer/language=en debian-installer/country=nl console-setup/ask\_detect=false keyboard-configuration/layoutcode=us debian-installer/locale=en\_us.utf-8 localechooser/preferred-locale=en\_us.utf8 initrd=/install/initrd.gz quiet -- </code></pre><p><strong> wann wird die voreinstellungsdatei geladen? </strong></p><p>ich habe gerade meine voreinstellungsdatei auf den usb-stick gelegt. die offizielle dokumentation von ubuntu beschreibt, dass die verschiedenen voreinstellungsmethoden (datei, netzwerk usw.) während der verschiedenen phasen der installation geladen werden. sie beschreiben jedoch nicht, wann die datei vom usb-stick geladen wird. dies geschieht direkt nach all den fragen zu tastatur, sprache usw. sie müssen diese also durch die startoptionen voreinstellen.</p><p><strong> verspäteter befehl </strong></p><p>mit einer der vorbereiteten fragen (später befehl) können sie benutzerdefinierte befehle kurz vor abschluss der installation ausführen. wie viele andere hatte ich probleme, das zum laufen zu bringen. am ende habe ich ein skript auf die festplatte kopiert und /etc/rc.local geändert, damit dieses skript beim ersten start ausgeführt wird. ich tat dies, da ich alle befehle zur verfügung hatte, die ich brauchte. in dieser phase der installation sind leider einige befehle verfügbar.</p><p><strong> referenzen </strong></p><p>ich habe diese informationen aus vielen anderen foren und führern entnommen. ich erinnere mich nicht an alle, aber um dich auf den weg zu bringen:</p><ul> <li>offizielle ubuntu-dokumentation (enthält auch eine beispiel-vorabdatei): <a href="https://help.ubuntu.com/lts/installation-guide/armhf/apbs02.html">https://help.ubuntu.com/lts/installation-guide/armhf/apbs02.html</a> </li> <li>das offizielle ubuntu-server-buch (es beschreibt es detaillierter). diese site enthält einen teil des vorbereiteten themas online: <a href="http://searchitchannel.techtarget.com/feature/performing-an-automated-ubuntu-install-using-preseeding">http://searchitchannel.techtarget.com/feature/performing-an-automated-ubuntu-install-using-preseeding</a> </li> </ul> <p>standardmäßig wählen sie bei der installation die option "mein heimatverzeichnis verschlüsseln" <em>wird</em> ihren swap-space verschlüsseln¹ - zumindest in ubuntu 10.04 und neueren versionen (ich weiß nicht, wann dies implementiert wurde) könnte auch früher sein).</p><p>technisch verwendet es die <code>ecryptfs-setup-swap</code> programm für die swap-verschlüsselung. sie können dieses tool verwenden, wenn sie ihren swap space nach der installation verschlüsseln möchten.</p><p>¹: dies gilt sowohl für swap <em>partitionen</em> als auch für alle von ihnen eingerichteten swap <em>dateien</em>.</p> Normalerweise sagst du bei dem Gerät das du installieren oder einen neuen Treiber installieren willst, wo der Treiber liegt -> da gibst du dann deine sys-Datei an. Du kannst die Datei auch ins Verzeichnis C:\Windows\System32\drivers kopieren und hoffen, dass das Gerät dann entsprechend automatisch installiert wird, weil es sich so seinen Treiber von selber findet. Eine andere Frage ist die des ordentlichen Virenschutzes - man weiss ja nie wirklich, was man sich da so runterladet....solltest du also schon haben :-) <p>fügen sie ihrem <code>~/.bashrc</code> die folgende zeile hinzu:</p><pre><code>alias sudo='sudo ' </code></pre><p>aus dem <a href="http://www.gnu.org/software/bash/manual/bashref.html#aliases">bash manual</a> :</p><blockquote> <p>aliase ermöglichen das ersetzen eines worts durch eine zeichenfolge, wenn es als erstes wort eines einfachen befehls verwendet wird. die shell verwaltet eine liste von aliasen, die mit den integrierten befehlen alias und unalias festgelegt und deaktiviert werden können.</p> <p><strong> das erste wort jedes einfachen befehls wird, wenn es nicht in anführungszeichen gesetzt ist, überprüft, um festzustellen, ob es einen alias ​​</strong> enthält. in diesem fall wird dieses wort durch den text des alias ​​ersetzt. die zeichen "/", "$", "` "," = "und alle oben aufgeführten shell-metazeichen oder anführungszeichen erscheinen möglicherweise nicht in einem aliasnamen. der ersetzungstext kann eine gültige shell-eingabe enthalten, einschließlich shell-metazeichen. das erste wort des ersetzungstextes wird auf aliase geprüft, ein wort, das mit einem zu erweiternden alias ​​identisch ist, wird jedoch nicht ein zweites mal erweitert. dies bedeutet, dass beispielsweise ein alias ​​"ls" für "ls -f" verwendet werden kann und bash nicht versucht, den ersetzungstext rekursiv zu erweitern. <strong> wenn das letzte zeichen des alias-werts ein leerzeichen oder ein tabulatorzeichen ist, wird das nächste auf den alias ​​folgende befehlswort ebenfalls auf alias-erweiterung überprüft </strong>.</p> </blockquote><p><sup>(hervorhebung von mir).</sup><br> bash überprüft nur das erste wort eines befehls auf einen alias, alle wörter danach werden nicht überprüft. das heißt, in einem befehl wie <code>sudo ll</code> wird nur das erste wort (<code>sudo</code>) von der bash auf einen alias ​​überprüft, <code>ll</code> wird ignoriert. wir können bash anweisen, das nächste wort nach dem alias ​​(d. h. <code>sudo</code>) zu überprüfen, indem sie am ende des alias ​​ein leerzeichen einfügen.</p> <p>ja, es ist möglich.<br> solange das betriebssystem unterstützt wird, können sie mehrere cuda-toolkits installieren. um keine probleme zu haben, empfehle ich jedoch, <code>runfile</code> installer zu verwenden, da sie angeben können, welche und wo diese installiert werden sollen.<br> eine sache, um die man sich kümmern muss, ist der symlink, der für cuda erstellt wurde. bei der installation von cuda suchen in der regel viele apps und/oder frameworks nach dem symlink, der am häufigsten auf die neueste/einzige version von cuda verweist, die auf einem system verfügbar ist.<br> nehmen sie also die erforderlichen änderungen in ihrer anwendungsspezifischen konfigurationsdatei vor, um auf die richtige cuda-installationsversion zu verweisen. das installationsprogramm erstellt normalerweise immer einen ordner mit dem namen <code>cuda-x.x</code> (z. b. cuda-9.1), den sie auch anstelle des symlinks (<code>/usr/local/cuda</code>) verwenden können.<br> wenn eine anwendung von ihnen nur den symlink <code>/usr/local/cuda</code> überprüft und sie die konfiguration nicht ändern können, können sie diesen symlink auf die version von cuda verweisen lassen, die diese anwendung benötigt, und die konfigurieren sie die anderen apps so, dass ihre entsprechenden versionen über ihre konfigurationsdateien verwendet werden.</p> <p>zwei alternativen zum erstellen von verzeichnissen durch systemd. in der regel ist es am einfachsten, ein <code>runtimedirectory</code> in der unit-datei ihres dienstes zu deklarieren:</p><blockquote> <p> <a href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#"><code>runtimedirectory=, runtimedirectorymode=</code></a> nimmt eine liste von verzeichnisnamen auf. wenn festgelegt, werden ein oder mehrere verzeichnisse mit den angegebenen namen unter <code>/run</code> (für systemdienste) oder unter $ xdg\_runtime\_dir (für benutzerdienste) beim starten des geräts erstellt und beim stoppen des geräts entfernt. die verzeichnisse haben den in <code>runtimedirectorymode=</code> angegebenen zugriffsmodus und gehören dem in <code>user=</code> und <code>group=</code> angegebenen benutzer und der angegebenen gruppe. verwenden sie diese option, um ein oder mehrere laufzeitverzeichnisse des geräts zu verwalten und deren lebensdauer an die daemon-laufzeit zu binden. die angegebenen verzeichnisnamen müssen relativ sein und dürfen kein "<kbd>/</kbd>", d. h. muss sich auf einfache verzeichnisse beziehen, die erstellt oder entfernt werden sollen. dies ist besonders nützlich für nicht privilegierte daemons, die aufgrund fehlender berechtigungen keine laufzeitverzeichnisse in/run erstellen können, und um sicherzustellen, dass das laufzeitverzeichnis nach der verwendung automatisch bereinigt wird.</p> </blockquote><p>oder verwenden sie für laufzeitverzeichnisse, die komplexere oder andere konfigurations- oder lebensdauergarantien erfordern, <a href="https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html"><code>tmpfiles.d</code></a> und lassen sie ihr paket eine datei <code>/usr/lib/tmpfiles.d/mydaemon.conf</code> löschen:</p><pre><code> #type path mode uid gid age argument d /run/mydaemon 0755 myuser myuser - - </code></pre>