Ich werde nicht zu weit gehen, indem ich das sage, aber höchstwahrscheinlich ist es nicht aktualisiert, was deine Probleme verursacht. Möglicherweise etwas anderes, das Sie nicht möchten, entweder eine Backup-Anwendung, die Sie nicht nach Ihren Wünschen konfiguriert haben, oder ein Sicherheitsproblem mit Ihrer Profil- / Systemgruppenstruktur.
Ein anderer Fall, in dem es den Anschein hat, dass die Systemspeicherzuweisung dem Benutzer zuwiderläuft, ist das Szenario, in dem man "nicht weiß, wie virtuelle Dateisysteme gestapelt werden". Und das ist ein Problem. Sozusagen eine 'virtuelle, unlogische Bombe'.
Es kommt ziemlich häufig vor, dass USB-Laufwerke, die in fat32 auf einem ext 4-System formatiert sind, auf zfs-Systeme übertragen werden, die nicht ordnungsgemäß mit der csh-Shell als man-Login-Shell eingerichtet sind. Es erstellt die virtuelle Rekursion des Problems "Nur-Datei-USB-Dateisystem" auf der Festplatte und formatiert / hängt das Laufwerk von fat32 in vFat ein, wodurch wiederum ein Sektor mit fehlerhaften Blöcken erstellt wird, und extrahiert (verschiebt) virtuell ein Verzeichnis bis zu seinem übergeordnete Verzeichnisebene, die die Endlosschleife verursacht! Das Verzeichnis befindet sich physisch nicht auf der Hierarchieebene des übergeordneten Elements. Die Syntax der csh-Ursachen ist die Ursache dafür. * HINWEIS: Das Laufwerk ist auf allen Systemen außer auf einem zfs-C-Shell-Anmeldesystem schreibgeschützt.
Das vollständige Deaktivieren von updatedb kann zu einer schlechten Logik in Bezug auf die Speicherzuweisung und den "Rollback-Effekt" führen. Wenn Sie jemals ein Rollback durchgeführt haben, als Sie es nicht wollten, wissen Sie, was ich meine, wenn die Befehlszeile zwei Stunden lang ist Die Skripterstellung ist fubar-ed, weil Sie Ihre Jobverarbeitung nicht in den Arbeitsspeicher aufgeteilt haben.
Wenn Sie nun zwei oder mehr physische Prozessoren (z. B. Dual Core oder mehr) und einen DDR3-RAM haben, ist das in Ordnung. Solange Sie nicht überlastete Grafiken verwenden. In diesem Fall steht updatedb an letzter Stelle auf Ihrer Liste, wenn diese Last Ihre Probleme verursacht. Wenn Sie versuchen, Ihre Bewegungen im System aus irgendeinem Grund zu verschleiern, gibt es andere Möglichkeiten, als updatedb zu deaktivieren, und updatedb würde in der Tat Ihre Aktionen festigen, dass "nichts passiert", was Ihr System verschleiert.
Ganz offen gesagt, basierend auf der Größe der Binärdatei / usr / bin / updatedb und unter Berücksichtigung der Architektur der Signal- / Systemkommunikation mit dem Betriebssystem und der Tatsache, dass Bash das 10-fache der Größe eines wechselseitig verknüpften Shell-Strichs oder eines asynchronen Aufrufs ist sehr günstig auf dem System.
Wenn Sie in der Shell angemeldet sind, in der von Ihnen geschriebene sequentielle Skripte ausgeführt werden, und ein Administrator (z. B. sudo) sind, führen Sie den folgenden Befehl aus:
~$ sudo bash
:~# ./script.sh
Dann möchten Sie wahrscheinlich eine lokale Variable in Ihrem Skript erstellen (updatedb benötigt Systemprivilegien, AKA root / sudo / wheel), zB:
#! /bin/sh
# Create local variables
UPD="updatedb"
echo "Beginning Execution of sequence "
In diesem Fall verwendet die Sequenz STDOUT / STDIN aus anderen Shell-Skripten, die Sie in Ihrem Hauptskript als Variablen geschrieben und ausgeführt haben, oder Sie haben ein persönliches oder geschäftliches Administrationspaket eingerichtet, in das Sie von CD-ROM oder CD-ROM hochladen / herunterladen / portieren usb oder was auch immer, das ist extrem groß und hat persönliche Installationsskripte für sie, SIE MÖCHTEN AKTUALISIERT BLEIBEN. Wenn die Terminal-Shell geöffnet ist, ist dies Ihre Hauptanwendungsinstanz. Andere Anwendungen können / werden asynchron ausgeführt, werden jedoch aktualisiert. Dies ist eine der niedrigsten Kosten in Bezug auf die Gesamtnachfrage nach Systemen / Computern. Viele Male, besonders beim lxdm Desk Enviro und dem Lxterm (das Ding ist super schnell), aber nicht nur; Ohne meinen Skripten "updatedb" hinzuzufügen, hat das System mir Fehler gemeldet, die besagen, dass die Dateien nicht vorhanden sind oder dass etwas Verrücktes passiert ist. Und ich bin wie was!
Die Shell ist schneller als das System, das sie verwaltet. Ich garantiere Ihnen das!
In diesem Fall würden Sie die Variable updatedb aufrufen, um die vorherige Sequenz wie gezeigt im Speicher zu speichern
echo "Updating local database "
$UPD
echo "Exiting script two "
exit
Sehen Sie, was ich sage? Wenn Sie dies fragen, weil Sie Ausführungstests ausführen, zB Andrew Tanenbaum-Stil, dann haben Sie es. Andernfalls nutzen Sie das Tool zu Ihrem Vorteil.
rpm
hat auch--whatrecommends
. Ich glaube, Fedora hat sich in den letzten Jahren mit diesem Konzept auseinandergesetzt. (Lange nachdem die Debian / Ubuntu-Seite standardmäßig Abhängigkeiten "empfiehlt" und "benötigt").