Wie liste ich vom Benutzer installierte Anwendungen (keine Pakete) auf?
28
Nicht Pakete und nicht alle Anwendungen. Nur der Anwendungsbenutzer, der von einer beliebigen Quelle (Software Center, manuell hinzugefügtes PPA usw.) selbst installiert wurde.
Wenn dies nicht möglich ist - eine Liste aller installierten Anwendungen oder zumindest eine grafische Benutzeroberfläche, in der die Anwendungen aufgelistet sind, damit ich Screenshots davon machen kann.
Ich habe ein Dutzend ähnlicher Fragen gelesen und die Leute, die Antworten posten, kommen in der Regel dem Verdienst einer OP-Frage nicht einmal nahe. Bitte beachten Sie, dass meine Frage "Benutzer installiert" enthält.
Antwort: In Ubuntu Linux ist dies derzeit nicht möglich. (Wählt Tijybbas Antwort als die am nächsten liegende)
Sie können das Ubuntu Software Center tatsächlich verwenden , wie im Screenshot hier gezeigt:
Sie können es auch in der Liste unten links von Synaptic sehen.
Von erhalten cd /etc/apt/sources.list.d/ && cat *.listSie eine Liste aller Repositories in Ihrem System.
Sie können auch Ihren PPA-Manager zum Sichern und Aktualisieren Ihrer Repositorys verwenden.
Zweite Methode
[Da diese Methode die Installation aller Pakete umfasst, aber wenn wir der Meinung sind, dass das neu installierte Betriebssystem bereits diese 90% -Pakete enthält, werden die vorhandenen ignoriert und die manuell hinzugefügten neu installiert, bei denen es sich nur um Ihre manuell installierten Anwendungen handelt.]
Es wird eine Liste der installierten Anwendungen in der TXT-Datei im Home-Ordner erstellt.
Um diese Datei für die Installation der gleichen Anwendungen zu verwenden, müssen Sie folgende Schritte ausführen: (Fügen Sie zuvor jedoch auch alle Drittanbieter-Repositorys hinzu, die in früheren Versionen vorhanden waren.)
PPA: 'ppa: ~ webupd8team / ubuntu / mintbackup' kann nicht hinzugefügt werden. Das Team mit dem Namen '~ webupd8team' hat keine PPA mit dem Namen 'ubuntu / mintbackup'
alhelal
dpkg: warning: Paket weder im Status noch in der verfügbaren Datenbank in Zeile 1574: wireshark und so weiter für alle Anwendungen.
Alhelal
11
apt-mark showmanualSie erhalten eine Liste der "manuell installierten" Pakete. Dies schließt Pakete ein, die vom Installationsprogramm installiert wurden. Bei den meisten handelt es sich um Pakete. Wenn Sie dies jedoch nach der Installation ausführen und die Ausgabe später erneut vergleichen, erhalten Sie eine Liste der Pakete, die der Benutzer speziell angefordert hat, mit Ausnahme der automatisch installierten Abhängigkeiten.
Beispielsweise:
$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list
# ...time passes...
$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list
Beachten Sie, dass Anwendungen für Software Center Pakete sind und manuell hinzugefügte PPAs betreffen. Ich denke, Sie können das Beste tun, um zwischen speziell angeforderten Paketen und eingebrachten Paketen zu unterscheiden, um Abhängigkeiten zu erfüllen.
Oder führen Sie den Befehl aus, um eine Liste aller installierten Pakete anzuzeigen dpkg-query -W -f'${PackageSpec}\n'.
Sie können meine Frage beliebig umformulieren, es sei denn, die ursprüngliche Bedeutung bleibt erhalten. Wenn es heißt "Sudoers installierte Anwendungen", dann sei es so :) Natürlich könnte ich meine Frage zu "Wie man Anwendungen auflistet, die nach der Systeminstallation installiert wurden" umformulieren. "und Sie können die Liste der installierten Pakete erhalten" - zu welchem Zweck?
Bucic
+1 für / var / log / apt. Wenn Sie alles mit apt-get installiert haben, finden Sie in diesem Protokoll eine schöne Liste der manuell installierten Dateien, wenn Sie nach "Befehlszeile:" suchen.
Drevicko
1
Tatsächlich sehe ich gemäß Ihrer Frage, dass dieser folgende Befehl das tut, was Sie brauchen. Dpkg -l | grep ii. Dies listet jedes installierte Paket so auf, wie es für mich sein sollte. Jetzt heißt es nicht Benutzer A oder Benutzer B, aber dies ist wiederum eine Einschränkung nicht von sudo, sondern von Software Center-Protokollen. Selbst wenn sudo verwendet wird, wird der Benutzer, der sudo aufgerufen hat, übergeben, sodass Sie immer noch ein Anwendungsprotokoll haben können, das sudo aufgerufen hat, um einen Befehl auszuführen. Jetzt können Sie dies natürlich ziemlich einfach umgehen, da sudo die Möglichkeit bietet, sich als jeder Benutzer [der Zugriff auf sudo hat] anzumelden, wenn Sie sein Kennwort kennen, es zu hacken oder es zu ändern, wenn Sie diese Rechte auf dem System haben.
Wenn Sie sich Sorgen darüber machen, was ein Benutzer installiert hat, wodurch Sie oder Ihr System gefährdet werden könnten, möchten Sie möglicherweise überprüfen, warum Sie ihm Sudo-Zugriff gewährt haben und außerdem die Möglichkeit, Pakete zu installieren, aber das ist nur eine Randnotiz.
Ich habe das Gefühl, Sie fragen sich, welche Pakete Sie seit der Systeminstallation installiert haben, damit Sie das Setup entweder bereinigen oder auf einem neuen Computer spiegeln können. Die Antworten hier beziehen sich bereits auf die Sicherung / Wiederherstellung, daher überspringen wir diese.
Da es nicht einfach ist, auf einfache Weise herauszufinden, welcher Benutzer die Installation eines Pakets aufgerufen hat, besteht ein besserer Ansatz darin, den oben aufgeführten Befehl sowie den eines anderen Benutzers zu verwenden, um alle installierten Pakete aufzulisten und ein Browserfenster für Google zu öffnen und auszuführen Google hat gesucht, um herauszufinden, welche Pakete erforderlich sind, um Ihr System funktionsfähig zu halten, und welche nicht.
Überspringen Sie hier, um den Großteil der Flusen zu überspringen und direkter zur Antwort zu gelangen ...
Sie können auch in Ihren sudoers-Protokollen nachlesen, wer die Installation von what aufgerufen hat, damit ich eine Beispielzeile gebe
May 15 11:26:30 <COMPUTERNAME> sudo: <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)
Das sagt mir also zu diesem Zeitpunkt und Datum, an dem dieser Benutzer ein Sudo aufgerufen hat [in diesem Fall wurde übrigens gksu verwendet], welcher Benutzer sudo ihnen Berechtigungen erteilt hat und welcher große der Befehl, den sie ausgeführt haben!
Wenn Sie nun im sudo-Protokoll [/var/log/auth.log] nach apt-get oder ähnlichem suchen, werden ältere .0 .1 etc an das Ende angehängt.
Sie könnten zusammenfügen, was der Benutzer auf der Kommandozeile selbst installiert. Wenn sie Software-Center verwendet haben, bin ich mir nicht sicher, ob der entsprechende Terminalbefehl hier eine Auth-Zeile erhalten würde, aber Sie können die Software-Center-Protokolle verwenden, die sich unter folgender Adresse befinden:
/var/log/apt/history.log und ältere Protokolle befinden sich in komprimierten .gz-Archiven
Das Software Center-Protokoll bietet dem Benutzer, der die Installationen autorisiert hat, keine Informationen, soweit ich dies jemals in diesem Protokoll gesehen habe. Es listet jedoch JEDES Hinzufügen, Ändern oder Entfernen von Software Center-Vorgängen auf. Auch dieses Protokoll enthält Zeit- und Datumsstempel, die so einfach sind, dass Sie nach der Installation des Basissystems einen Überblick über das älteste Protokoll erhalten. Wenn Sie sich an die Uhrzeit und das Datum erinnern, an dem die Basisinstallation abgeschlossen wurde, können Sie loslegen.
Beide genannten Protokolldateien sind im Klartext und Sie können einen beliebigen gedit-, mousepad- oder leafpad-Texteditor verwenden, den Ihre Ubuntu-Version standardmäßig verwendet, um sie anzuzeigen und / oder zu drucken.
apt-mark showmanual
Sie erhalten eine Liste der "manuell installierten" Pakete. Dies schließt Pakete ein, die vom Installationsprogramm installiert wurden. Bei den meisten handelt es sich um Pakete. Wenn Sie dies jedoch nach der Installation ausführen und die Ausgabe später erneut vergleichen, erhalten Sie eine Liste der Pakete, die der Benutzer speziell angefordert hat, mit Ausnahme der automatisch installierten Abhängigkeiten.Beispielsweise:
Beachten Sie, dass Anwendungen für Software Center Pakete sind und manuell hinzugefügte PPAs betreffen. Ich denke, Sie können das Beste tun, um zwischen speziell angeforderten Paketen und eingebrachten Paketen zu unterscheiden, um Abhängigkeiten zu erfüllen.
Oder führen Sie den Befehl aus, um eine Liste aller installierten Pakete anzuzeigen
dpkg-query -W -f'${PackageSpec}\n'
.quelle
Nur root kann Pakete unter Ubuntu installieren, der Benutzer, der das kann, ist nur 1, die Sudoer sind nur Benutzer mit äquivalenten Rechten.
Sie können jedoch eine Menge Informationen in den Protokollen abrufen, die Sie einsehen können
das apt log unter
/var/log/apt/
dem dpkg log unter/var/log/
und Sie können die Liste der installierten Pakete mit nur einem Befehl erhalten:
quelle
Tatsächlich sehe ich gemäß Ihrer Frage, dass dieser folgende Befehl das tut, was Sie brauchen. Dpkg -l | grep ii. Dies listet jedes installierte Paket so auf, wie es für mich sein sollte. Jetzt heißt es nicht Benutzer A oder Benutzer B, aber dies ist wiederum eine Einschränkung nicht von sudo, sondern von Software Center-Protokollen. Selbst wenn sudo verwendet wird, wird der Benutzer, der sudo aufgerufen hat, übergeben, sodass Sie immer noch ein Anwendungsprotokoll haben können, das sudo aufgerufen hat, um einen Befehl auszuführen. Jetzt können Sie dies natürlich ziemlich einfach umgehen, da sudo die Möglichkeit bietet, sich als jeder Benutzer [der Zugriff auf sudo hat] anzumelden, wenn Sie sein Kennwort kennen, es zu hacken oder es zu ändern, wenn Sie diese Rechte auf dem System haben.
Wenn Sie sich Sorgen darüber machen, was ein Benutzer installiert hat, wodurch Sie oder Ihr System gefährdet werden könnten, möchten Sie möglicherweise überprüfen, warum Sie ihm Sudo-Zugriff gewährt haben und außerdem die Möglichkeit, Pakete zu installieren, aber das ist nur eine Randnotiz.
Ich habe das Gefühl, Sie fragen sich, welche Pakete Sie seit der Systeminstallation installiert haben, damit Sie das Setup entweder bereinigen oder auf einem neuen Computer spiegeln können. Die Antworten hier beziehen sich bereits auf die Sicherung / Wiederherstellung, daher überspringen wir diese.
Da es nicht einfach ist, auf einfache Weise herauszufinden, welcher Benutzer die Installation eines Pakets aufgerufen hat, besteht ein besserer Ansatz darin, den oben aufgeführten Befehl sowie den eines anderen Benutzers zu verwenden, um alle installierten Pakete aufzulisten und ein Browserfenster für Google zu öffnen und auszuführen Google hat gesucht, um herauszufinden, welche Pakete erforderlich sind, um Ihr System funktionsfähig zu halten, und welche nicht.
Überspringen Sie hier, um den Großteil der Flusen zu überspringen und direkter zur Antwort zu gelangen ...
Sie können auch in Ihren sudoers-Protokollen nachlesen, wer die Installation von what aufgerufen hat, damit ich eine Beispielzeile gebe
Das sagt mir also zu diesem Zeitpunkt und Datum, an dem dieser Benutzer ein Sudo aufgerufen hat [in diesem Fall wurde übrigens gksu verwendet], welcher Benutzer sudo ihnen Berechtigungen erteilt hat und welcher große der Befehl, den sie ausgeführt haben!
Wenn Sie nun im sudo-Protokoll [/var/log/auth.log] nach apt-get oder ähnlichem suchen, werden ältere .0 .1 etc an das Ende angehängt.
Sie könnten zusammenfügen, was der Benutzer auf der Kommandozeile selbst installiert. Wenn sie Software-Center verwendet haben, bin ich mir nicht sicher, ob der entsprechende Terminalbefehl hier eine Auth-Zeile erhalten würde, aber Sie können die Software-Center-Protokolle verwenden, die sich unter folgender Adresse befinden:
/var/log/apt/history.log und ältere Protokolle befinden sich in komprimierten .gz-Archiven
Das Software Center-Protokoll bietet dem Benutzer, der die Installationen autorisiert hat, keine Informationen, soweit ich dies jemals in diesem Protokoll gesehen habe. Es listet jedoch JEDES Hinzufügen, Ändern oder Entfernen von Software Center-Vorgängen auf. Auch dieses Protokoll enthält Zeit- und Datumsstempel, die so einfach sind, dass Sie nach der Installation des Basissystems einen Überblick über das älteste Protokoll erhalten. Wenn Sie sich an die Uhrzeit und das Datum erinnern, an dem die Basisinstallation abgeschlossen wurde, können Sie loslegen.
Beide genannten Protokolldateien sind im Klartext und Sie können einen beliebigen gedit-, mousepad- oder leafpad-Texteditor verwenden, den Ihre Ubuntu-Version standardmäßig verwendet, um sie anzuzeigen und / oder zu drucken.
quelle