[sisyphus] (no subject)

Sergei =?iso-8859-1?q?serpiph_=CE=C1_pochtamt=2Eru?=
Сб Июн 2 11:21:02 MSD 2001


 2 Июнь 2001 09:35 Вы написали:
> Sergei wrote
> > > У Вас откуда-то осталась старая библиотека libwraster.so. Находится
> > > она в /usr/lib. Если не сложно пришлите мне результат 
> > > rpm -qf /usr/lib/libwraster.so
> > У меня такое обнаружилось, когда я обновлялся в первый раз Сизифом. В 
> > результате слетел rpm (точнее его база данных). И для меня ответ по 
> > /usr/lib/libwraster.so один - "не принадлежит ни одному пакету".
> Я как раз Ваш случай и вспоминал :)
> 
> Я не могу понять как оно могло получиться. Ине доступны 4 машины под
> Spring->Sisyphus. На всех работают под WindowMakerом и обновления
> ставятся куда чаще чем они появляются в Sisyphus. И ничего похожего я
> не наблюдал.
> 
> Может быть что-то было собрано из исходников самостоятельно? (минуя rpm)
Нет, просто до этого стоял rpm-4.0.4 от RedHat и при первом обновлении вместо 
него встал rpm-3.0.6 от Вас. После чего вся база данных просто испарилась 
(единственая команда, которая работала - это rpm --initdb).
В догонку, тут сейчас наваял скрипт, разыскивающий файлы, не относящиеся к 
какому-либо пакету. Посмотрите, может понравится (в аттаче).

-- 
С уважением, Епифанов Сергей
----------- следующая часть -----------
#!/usr/bin/perl
=begin
25.05.2001
   Version 0.1. Searching for files not owned to any package
   Written by Epiphanov Sergei

02.06.2001
   Version 0.2. Changed the idea of the program.
   Added recursive flag.
=cut

use RPM::Database;

$RPM=new RPM::Database;

if (! defined @ARGV)
{
	print "Usage:\n";
	print "   libsview  [-R] dir\n\n";
	print "              -R - recursive\n";
	exit;
}
if ($ARGV[0] eq "-R")
{
	$Dir=$ARGV[1];
	$Recursive=1;
}
else
{
	$Dir=$ARGV[0];
	$Recursive=0;
}
$Dir=~s |\/+$||;
print "Starting search from $Dir.\n";
open (FILEOK,">fileok.txt");
open (FILERR,">filerr.txt");
open (STDERR,">ERROR.txt");
$SIG{INT}=\&INT_SIG;
`renice 5 $$`;
SearchDir ($Dir);
close (FILEOK);
close (FILERR);

sub SearchDir
{
	my $Dir=shift;
	local *DIRLOOK;
	opendir (DIRLOOK,$Dir) or die "Can't open ${Dir}!";
	while (defined ($filename=readdir(DIRLOOK)))
	{
		$Cur="$Dir/$filename";
		next if $filename=~/^\.\.?$/;
		if (defined ($package=$RPM->find_by_file($Cur)))
		{
			print FILEOK "$Cur is in ". $package->{"name"}."-" .$package->{"version"} . "\n";
		}
		else
		{
			print FILERR "No package for $Cur\n";
		}
		if ( -d $Cur && -r $Cur && $Recursive==1)
		{
			SearchDir ($Cur);
		}
	}
	closedir (DIRLOOK);

}

sub INT_SIG
{
	close (FILEOK);
	close (FILERR);
	exit;
}


Подробная информация о списке рассылки Sisyphus