403Webshell
Server IP : 61.19.30.66  /  Your IP : 216.73.216.15
Web Server : Apache/2.2.22 (Ubuntu)
System : Linux klw 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64
User : www-data ( 33)
PHP Version : 5.3.10-1ubuntu3.48
Disable Function : 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,
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python2.7/dist-packages/DistUpgrade/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyc
ó
¤Oc@sÜddlZddlZddlZddlZddlZddlZd„Zed„Zdd„Z	d„Z
d„Zd„Zd	„Z
d
„Zd„Zd„Zed
krØejdejƒeddƒGHndS(iÿÿÿÿNcCs²tjdƒ|rR|jrRtjdƒ|jdddƒ|jdddƒntjddƒ}|jdd	|ƒ}tjd
|ƒ|tjd<|jdd	|ƒtjddƒ}tj	|d
ƒ|jdd|ƒ}tjd|ƒ|jddt
ƒr7tjdƒ|jdddƒdtjd<n|jddt
ƒr|tjdƒ|jdddƒ|tjd<n|jddt
ƒr®tjdƒdtjd<ndS(sà setup the environment based on the config and options
    It will use
    config("Aufs","Enabled") - to show if its enabled
    and
    config("Aufs","RWDir") - for the writable overlay dir
    s aufsOptionsAndEnvironmentSetup()s&enabling full overlay from commandlinetAufstEnabledtTruetEnableFullOverlaytprefixsupgrade-rw-tRWDirsusing '%s' as aufs_rw_dirtRELEASE_UPGRADE_AUFS_RWDIRsupgrade-chroot-iít	ChrootDirsusing '%s' as aufs chroot dirs(enabling aufs full overlay (from config)t1t%RELEASE_UPGRADE_USE_AUFS_FULL_OVERLAYtEnableChrootOverlaysenabling aufs chroot overlaytRELEASE_UPGRADE_USE_AUFS_CHROOTtEnableChrootRsyncs,enable aufs chroot rsync back to real systemt!RELEASE_UPGRADE_RSYNC_AUFS_CHROOTN(tloggingtdebugtuseAufstsetttempfiletmkdtemptgetWithDefaulttostenvirontchmodtFalse(toptionstconfigttmprwtaufs_rw_dirt	tmpchroottaufs_chroot_dir((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pytaufsOptionsAndEnvironmentSetups2





cCs”tjj|ƒs"tj|ƒn|r1d}nd}d|||g}tjd|ƒtj|ƒ}|dkrtjd||fƒt	St
S(s4 helper that bind mounts a given dir to a new place s--rbinds--bindtmountscmd: %sis&Failed to bind mount from '%s' to '%s'(RtpathtexiststmakedirsRRt
subprocesstcallterrorRR(tfrom_dirtto_dirtrbindtbindtcmdtres((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyt
_bindMount/s	t/cCstjj||ƒs*tj||ƒntjj||ƒsTtj||ƒnt}|rddddd|||fd||g}n-ddddd|||fd||g}tj|ƒ}|d	krítjd
|ƒtStj	d||fƒt
S(sf 
    helper that takes a target dir and mounts a rw dir over it, e.g.
    /var , /tmp/upgrade-rw
    R s-tt	overlayfss-osupperdir=%s,lowerdir=%stnonetaufssbr:%s:%s=rois(Failed to mount rw aufs overlay for '%s'scmd '%s' return '%s' (RR!R"R#RR$R%RR&RR(ttargettrw_dirt
chroot_dirt
use_overlayfsR+R,((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyt_aufsOverlayMount@s,
cCsaxZtdƒD]L}|jƒ\}}}}}}|dkr
|dkr
||kr
tSq
WtS(s< test if the given dir is already mounted with aufs overlay s/proc/mountsR0R1(topentsplitRR(tdirtlinetdevicet
mountpointtfstypeRtatb((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyt
is_aufs_mount_s
$cCs[tjd||fƒx=|D]5}|jdƒs@|d7}n|j|ƒrtSqWtS(sD helper: check if the given mountpoint is a submount of a systemdir sis_submount: %s %sR.(RRtendswitht
startswithRR(R<t
systemdirstd((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pytis_submountgs

c	Cs'|jdƒrtS|d
kr#tStS(NtfusetrootfsttmpfstproctfusectrlR1tdevptstbinfmt_misctsysfs(RGRHRIRJsaufsRKRLRM(RBRR(tfs((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyt
is_real_fsqs	c	Csddlm}x†|D]~}tjj|ƒs5qndddddd||fd	|g}tjd
|ƒtj|ƒ}tjd||fƒqWt	S(sW
    helper that rsyncs the changes in the aufs chroot back to the
    real system
    iÿÿÿÿ(tSYSTEM_DIRStrsyncs-aHAXs--dels-vs
--progresss/%s/%s/s/%s/s
running: '%s'srsync back result for %s: %i(
tDistUpgradeMainRPRR!R"RRR$R%R(RRPRDR+tret((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pytdoAufsChrootRsyncys


cCs1t||ƒstStj|ƒtjdƒtS(s: helper that sets the chroot up and does chroot() into it R.(tsetupAufsChrootRRtchroottchdirR(RR((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pytdoAufsChrootŒs


c
Csvtdƒjƒ}ddlm}|}x¥tjdƒD]”}tjjd|ƒ}tjj|ƒr8||kr›t	j
d|ƒt|||ƒsÉtSqÌt	j
d|ƒt
|||dtƒsÌtSq8q8WxŸttj|jdƒƒD]‚}|sþqìn|jƒ\}}}	}
}}|	d	krìt|	ƒrìt||ƒrìt	j
d
|ƒt
|||ƒsntSqìqìWtS(sB setup aufs chroot that is based on / but with a writable overlay s/proc/mountsiÿÿÿÿ(RPR.sbind mounting %ssoverlay mounting %sR)s
R1sfound %s that needs bind mount(R7treadRRRPRtlistdirR!tjointisdirRRR6RR-RtmaptstringtstripR8RORE(
R3R4tmountsRPRCRDR:R;R<R=RR>R?((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyRU•s0	"
cCs˜tjdƒtjjdƒs0tjdƒtSddlm}|}tƒ}|j	dƒxªt
dƒD]œ}|jƒ\}}}}}	}
t|ƒr½t
||ƒr½tjd|ƒtS|dkrit|ƒrit
||ƒritjd	|ƒ|j	|ƒqiqiWx)|D]!}t||d
|ƒstSqWx0|D](}t|ƒs<t||ƒsdtSq<q<Wx)|D]!}t|d
||ƒsotSqoWtS(s$ setup aufs overlay over the rootfs t	setupAufss/proc/mountss(no /proc/mounts, can not do aufs overlayiÿÿÿÿ(RPs/var/cache/apt/archivess#mountpoint %s submount of systemdirR1sfound %s that needs bind mounts/needs_bind_mount/(RRRR!R"RRRRPRtaddR7R8ROREtwarningR-R@R6R(R3RPRCtneeds_bind_mountR:R;R<R=RR>R?RD((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyRa¼s6

	
(


t__main__tlevels/tmp/upgrade-chroot-rws/tmp/upgrade-chroot(R^RRtos.pathR$RRRR-R6R@RERORTRXRURat__name__tbasicConfigtDEBUG(((s?/usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeAufs.pyt<module>s&	'		
					'	<

Youez - 2016 - github.com/yon3zu
LinuXploit