[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