ACIL FM
Dark
Refresh
Current DIR:
/usr/lib/python3.9/site-packages/up2date_client
/
usr
lib
python3.9
site-packages
up2date_client
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
__pycache__
-
chmod
Open
Rename
Delete
capabilities.py
7.28 MB
chmod
View
DL
Edit
Rename
Delete
clientCaps.py
2.16 MB
chmod
View
DL
Edit
Rename
Delete
clpwd.py
3.56 MB
chmod
View
DL
Edit
Rename
Delete
config.py
14.46 MB
chmod
View
DL
Edit
Rename
Delete
debUtils.py
2.76 MB
chmod
View
DL
Edit
Rename
Delete
getMethod.py
4.2 MB
chmod
View
DL
Edit
Rename
Delete
haltree.py
4.53 MB
chmod
View
DL
Edit
Rename
Delete
hardware.py
31.91 MB
chmod
View
DL
Edit
Rename
Delete
hardware_gudev.py
12.91 MB
chmod
View
DL
Edit
Rename
Delete
hardware_hal.py
11.33 MB
chmod
View
DL
Edit
Rename
Delete
hardware_udev.py
12.99 MB
chmod
View
DL
Edit
Rename
Delete
pkgplatform.py
309 B
chmod
View
DL
Edit
Rename
Delete
pkgUtils.py
295 B
chmod
View
DL
Edit
Rename
Delete
pmPlugin.py
2.79 MB
chmod
View
DL
Edit
Rename
Delete
rhnChannel.py
4.91 MB
chmod
View
DL
Edit
Rename
Delete
rhncli.py
9.12 MB
chmod
View
DL
Edit
Rename
Delete
rhnHardware.py
328 B
chmod
View
DL
Edit
Rename
Delete
rhnPackageInfo.py
2.34 MB
chmod
View
DL
Edit
Rename
Delete
rhnreg.py
31.35 MB
chmod
View
DL
Edit
Rename
Delete
rhnreg_constants.py
18.13 MB
chmod
View
DL
Edit
Rename
Delete
rhnserver.py
9.31 MB
chmod
View
DL
Edit
Rename
Delete
rpcServer.py
11.72 MB
chmod
View
DL
Edit
Rename
Delete
rpmUtils.py
5.2 MB
chmod
View
DL
Edit
Rename
Delete
transaction.py
4.09 MB
chmod
View
DL
Edit
Rename
Delete
tui.py
43.7 MB
chmod
View
DL
Edit
Rename
Delete
up2dateAuth.py
10.69 MB
chmod
View
DL
Edit
Rename
Delete
up2dateErrors.py
10.26 MB
chmod
View
DL
Edit
Rename
Delete
up2dateLog.py
2.06 MB
chmod
View
DL
Edit
Rename
Delete
up2dateUtils.py
5.03 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
0 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/lib/python3.9/site-packages/up2date_client/rpmUtils.py
# some high level utility stuff for rpm handling # Client code for Update Agent # Copyright (c) 1999--2016 Red Hat, Inc. Distributed under GPLv2. # # Author: Preston Brown <pbrown@redhat.com> # Adrian Likins <alikins@redhat.com> # # # FIXME: Some exceptions in here are currently in up2date.py # fix by moving to up2dateErrors.py and importing from there # # import os import rpm from rhn.i18n import sstr from up2date_client import transaction import gettext t = gettext.translation('rhn-client-tools', fallback=True) # Python 3 translations don't have a ugettext method if not hasattr(t, 'ugettext'): t.ugettext = t.gettext _ = t.ugettext def installedHeaderByKeyword(**kwargs): """ just cause this is such a potentially useful looking method... """ _ts = transaction.initReadOnlyTransaction() mi = _ts.dbMatch() for keyword in kwargs.keys(): mi.pattern(keyword, rpm.RPMMIRE_GLOB, kwargs[keyword]) # we really shouldnt be getting multiples here, but what the heck headerList = [] for h in mi: headerList.append(h) return headerList def verifyPackages(packages): """ given a list of package labels, run rpm -V on them and return a dict keyed off that data """ data = {} missing_packages = [] # data structure is keyed off package # label, with value being an array of each # line of the output from -V retlist = [] for package in packages: # we have to have at least name... # Note: we cant reliable match on epoch, so just # skip it... two packages that only diff by epoch is # way broken anyway keywords = {'name': package[0], 'version': package[1], 'release': package[2], # we left our epoch 'arch': package[4] } for key in (keywords.keys()): if (keywords[key] == None) or (keywords[key] == ""): del(keywords[key]) headers = installedHeaderByKeyword(**keywords) if len(headers) == 0: missing_packages.append(package) for header in headers: epoch = header['epoch'] if epoch == None: epoch = "" # gpg-pubkey "packages" can have an arch of None, see bz #162701 arch = header["arch"] if arch == None: arch = "" pkg = (header['name'], header['version'], header['release'], epoch, arch) # dont include arch in the label if it's a None arch, #162701 if header["arch"] == "": packageLabel = "%s-%s-%s" % (pkg[0], pkg[1], pkg[2]) else: packageLabel = "%s-%s-%s.%s" % (pkg[0], pkg[1], pkg[2], pkg[4]) verifystring = "/usr/bin/rpmverify -V %s" % packageLabel fd = os.popen(verifystring) res = fd.readlines() fd.close() reslist = [] for line in res: reslist.append(line.strip()) retlist.append([pkg, reslist]) return retlist, missing_packages #FIXME: this looks like a good candidate for caching, since it takes a second # or two to run, and I can call it a couple of times def getInstalledPackageList(msgCallback = None, progressCallback = None, getArch=None, getInfo = None): """ Return list of packages. Package is hash with keys name, epoch, version, release and optionaly arch and cookie """ pkg_list = [] if msgCallback != None: msgCallback(_("Getting list of packages installed on the system")) _ts = transaction.initReadOnlyTransaction() count = 0 total = 0 for h in _ts.dbMatch(): if h == None: break count = count + 1 total = count count = 0 for h in _ts.dbMatch(): if h == None: break package = { 'name': sstr(h['name']), 'epoch': h['epoch'], 'version': sstr(h['version']), 'release': sstr(h['release']), 'installtime': h['installtime'] } if package['epoch'] == None: package['epoch'] = "" else: # convert it to string package['epoch'] = "%s" % package['epoch'] if getArch: package['arch'] = h['arch'] # the arch on gpg-pubkeys is "None"... if package['arch']: package['arch'] = sstr(package['arch']) pkg_list.append(package) elif getInfo: if h['arch']: package['arch'] = sstr(h['arch']) if h['cookie']: package['cookie'] = sstr(h['cookie']) pkg_list.append(package) else: pkg_list.append(package) if progressCallback != None: progressCallback(count, total) count = count + 1 pkg_list.sort(key=lambda x:(x['name'], x['epoch'], x['version'], x['release'])) return pkg_list def setDebugVerbosity(): """Set rpm's verbosity mode """ try: rpm.setVerbosity(rpm.RPMLOG_DEBUG) except AttributeError: print("extra verbosity not supported in this version of rpm")
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply