⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deb.in

📁 MC Linux/Unix 终端下文件管理器
💻 IN
字号:
#! @PERL@## Written by Fernando Alegre <alegre@debian.org> 1996## Applied patch by Dimitri Maziuk <emaziuk@curtin.edu.au> 1997#         (to handle new tar format)## Modified by Fernando Alegre <alegre@debian.org> 1997#         (to handle both new and old tar formats)## Modified by Patrik Rak <prak@post.cz> 1998#         (add by Michael Bramer Debian-mc-maintainer <grisu@debian.org>)#         (to allow access to package control files)## Modified by Martin Bialasinski <martinb@debian.org> 1999#         (deal with change in tar format)### Copyright (C) 1997 Free Software Foundation#sub mcdebfs_list{##	CAVEAT: Hard links are listed as if they were symlinks#		Empty directories do not appear at all#	local($archivename)=@_;	chop($date=`LC_ALL=C date "+%b %d %Y %H:%M"`);	chop($info_size=`dpkg -I $archivename | wc -c`);	$install_size=length($pressinstall);	print "dr-xr-xr-x   1 root     root     0 $date CONTENTS\n";	# from Patrik Rak	print "dr-xr-xr-x   1 root     root     0 $date DEBIAN\n";	print "-r--r--r--   1 root     root     $info_size $date INFO\n";	print "-r-xr--r--   1 root     root     $install_size $date INSTALL\n";	if ( open(PIPEIN, "dpkg-deb -c $archivename |") )	{		while(<PIPEIN>)		{			split;			$perm=$_[0]; $owgr=$_[1]; $size=$_[2];			if($_[3] =~ /^\d\d\d\d\-/) { # New tar format								($year,$mon,$day) = split(/-/,$_[3]);				$month = ("Gee","Jan","Feb","Mar","Apr","May","Jun",						  "Jul","Aug","Sep","Oct","Nov","Dec")[$mon] || "Gee";				$time=$_[4];				$pathindex=5;			}			else {				$month=$_[3];				$day=$_[4];				$time=$_[5];				$year=$_[6];				$pathindex=7;			}						$path=$_[$pathindex++];			$arrow=$_[$pathindex++];			$link=$_[$pathindex++];			$link2=$_[$pathindex++];			$owgr=~s!/! !;			next if $path=~m!/$!;			if($arrow eq 'link')			{# report hard links as soft links				$arrow='->'; $link="/$link2"; 				substr($perm, 0, 1) = "l";			}			if($arrow ne '')			{				$arrow=' ' . $arrow;				$link= ' ' . $link;			}			print "$perm 1 $owgr $size $month $day $year $time CONTENTS/$path$arrow$link\n";		}	}        # begin from Patrik Rak        if ( open(PIPEIN, "dpkg-deb -I $archivename |") )        {               while(<PIPEIN>)               {                       split;                       $size=$_[0];                       last if $size =~ /:/;                       next if $size !~ /\d+/;                       if($_[4] eq '*')                       {                           $perm='-r-xr-xr-x';                           $name=$_[5];                       }                       else                       {                           $perm='-r--r--r--';                           $name=$_[4];                       }                       print "$perm 1 root root $size $date DEBIAN/$name\n";               }        }        # end from Patrik Rak}sub mcdebfs_copyout{	local($archive,$filename,$destfile)=@_;	if($filename eq "INFO")	{		system("dpkg-deb -I $archive > $destfile");        # begin from Patrik Rak        }        elsif($filename =~ /^DEBIAN/)        {               $filename=~s!^DEBIAN/!!;               system("dpkg-deb -I $archive $filename > $destfile");        # end from Patrik Rak	}	elsif($filename eq "INSTALL")	{		if ( open(FILEOUT,">$destfile") )		{			print FILEOUT $pressinstall;			close FILEOUT;			system("chmod a+x $destfile");		}	}	else	{	# files can be prepended with ./ or not, depending on the version of tar		$filename=~s!^CONTENTS/!!;		system("dpkg-deb --fsys-tarfile $archive | tar xOf - $filename ./$filename > $destfile 2>/dev/null");	}}sub mcdebfs_run{	local($archive,$filename)=@_;	if($filename eq "INSTALL")	{		print "Installing $archive\n";		system("dpkg -i $archive");	}	else	{	        $suffix = "aaa";		while (1) {		    $tmpdir = "/tmp/mcdebfs.run".$$.$suffix;		    last if mkdir $tmpdir, 0700;		    $suffix++;		    # Somebody is being really nasty, give up		    exit 1 if $suffix eq "zzz";		}				$tmpcmd="$tmpdir/run";		&mcdebfs_copyout($archive, $filename, $tmpcmd);		system("chmod u+x $tmpcmd");		system($tmpcmd);		unlink($tmpcmd);		rmdir($tmpdir);	}}$pressinstall=<<EOInstall;                              WARNING     Don\'t use this method if you are not willing to reinstall everything...This is not a real file. It is a way to install the package you are browsing.To install this package go back to the panel and press Enter on this file.In Debian systems, a package is automatically upgraded when you install a newversion of it. There is no special upgrade option. Install always works.EOInstallumask 077;if($ARGV[0] eq "list") { shift; &mcdebfs_list(@ARGV); exit 0; }elsif($ARGV[0] eq "copyout") { shift; &mcdebfs_copyout(@ARGV); exit 0; }elsif($ARGV[0] eq "run") { shift; &mcdebfs_run(@ARGV); exit 0; }exit 1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -