[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How can I check package integrity?



Oliver Elphick wrote:
> 
> Having recovered from a corrupt filesystem due to power failure - thanks
> to those who assisted - I still have a lot of files in lost+found.
> 
> Some of them obviously belong to packages like tetex, but I can't identify
> others.  I would like to run through the list of installed packages
> and check every package to see whether all its files are present.
> 
> Is there any tool to do this?
> 
> --
> Oliver Elphick                                Oliver.Elphick@lfix.co.uk
> Isle of Wight                                  http://lfix.co.uk/oliver
> 
>      Make it idiot-proof, and someone will breed a better idiot.
> 
I've attached a script that I wrote after I had a partial
disk failure.  It worked for me but it is slow (30 minutes
on my P133).  The results are interesting even on an
uncorrupted system.  Your mileage may vary.

--Bob
begin 755 pkgchk
M(R$O8FEN+W-H"E1)34535$%-4#U@9&%T92`K)60E:"TE2"XE36`*3D%-13U@
M8F%S96YA;64@)#!@"E1-4$9)3$4]+W1M<"\D>TY!345]7W1M<"XD5$E-15-4
M04U0"DQ)4U1&24Q%/2]T;7`O)'M.04U%?5]L:7-T+B1424U%4U1!35`*3$]3
M5$9)3$53/2]T;7`O)'M.04U%?5]L;W-T+B1424U%4U1!35`*34E34TE.1T9)
M3$53/2]T;7`O)'M.04U%?5]M:7-S:6YG+B1424U%4U1!35`*0E)/2T5.4$M'
M4STO=&UP+R1[3D%-17U?8G)O:V5N+B1424U%4U1!35`*5$U01DE,15,](B14
M35!&24Q%("1,25-41DE,12`D3$]35$9)3$53("1-25-324Y'1DE,15,@)$)2
M3TM%3E!+1U,B"B,*(R!C;&5A;G5P(&EF(&MI;&QE9`HC"G1R87`@)UL@(B14
M35!&24Q%4R(@72`F)B`O8FEN+W)M("UF("1[5$U01DE,15-].V5X:70@,3`P
M)R!<"@E324=(55`@4TE'24Y4(%-)1U%5250@4TE'2TE,3"!324=415)-"B,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C"B,*(R!S964@=VAA
M="!F:6QE<R!D<&MG('1H:6YK<R!S:&]U;&0@8F4@;VX@=&AE('-Y<W1E;0HC
M("AT:&ES('1A:V5S(&$@=VAI;&4@<V\@<W!A=VX@82!T87-K(&%N9"!W86ET
M(&9O<B!I="!T;R!F:6YI<V@@;&%T97(I"B,*8V%T("]V87(O;&EB+V1P:V<O
M:6YF;R\J+FQI<W0@?"!A=VL@)WMP<FEN="`D,7TG('P@<V]R="`M=2`^("1,
M25-41DE,12`F"DQ)4U1?4$E$/20A"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C"B,*(R!L;V]K(&9O<B!D86YG;&EN9R!C;VYF:6<@9FEL
M97,*(PIG<F5P("`M,2`B4W1A='5S.B!D96EN<W1A;&P@;VL@8V]N9FEG+69I
M;&5S(B`O=F%R+VQI8B]D<&MG+W-T871U<R!\(%P*"6=R97`@4&%C:V%G93H@
M?"!A=VL@)WMP<FEN=&8@(B5S(%Q<7&XB+"`D3D9])R`^("1435!&24Q%"FEF
M(%L@+7,@)%1-4$9)3$4@73L@=&AE;@H@("`@(PH@("`@(R!F;W5N9"!S;VUE
M('5N:6YS=&%L;&5D('!A8VMA9V5S('=I=&@@8V]N9FEG(&9I;&4@<F5M86EN
M:6YG"B`@("`C"B`@("!E8VAO(")4:&4@9F]L;&]W:6YG(')E;6]V960@<&%C
M:V%G97,@<W1I;&P@:&%V92!C;VYF:6<@9FEL97,[(@H@("`@96-H;R`B>6]U
M(&-A;B!U<V4@=&AE(&9O;&QO=VEN9R!C;VUM86YD('1O(&=E="!R:60@;V8@
M=&AE;3HB"B`@("!E8VAO(")D<&MG("TM<'5R9V4@7%PB"B`@("!S960@)R1S
M+R!<7"0O+R<@)%1-4$9)3$4*("`@(&5C:&\*9FD*(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,*(PHC(&YO=R!S964@:68@=&AE(&1P:V<G
M<R!N;W1I;VX@;V8@:6YS=&%L;&5D(&9I;&5S(&%R92!R96%L;'D@;VX@=&AE
M('-Y<W1E;0HC"F5C:&\@+6X@(G=A:71I;F<@9F]R('-P87=N960@=&%S:R!T
M;R!C;VUP;&5T92XN+B`B"G=A:70@)$Q)4U1?4$E$"F5C:&\@(F1O;F4B"D-(
M05(])WPG"DY533TP"D-/54Y4/3$*5$]404P]8'=C("UL("1,25-41DE,12!\
M('-E9"`G<R]>+EL@"5U;(`E=*EPH6S`M.5U;,"TY72I<*2XJ)"]<,2\G8`IW
M:&EL92`Z"F1O"B`@("`C96-H;R`M;B`B+B(@,3XF,@DC;&EF97-I9VX*("`@
M(')E860@1DE,14Y!344*("`@(&EF(%L@)#\@/2`Q(%T[('1H96X*("`@("`@
M("!B<F5A:PH@("`@9FD*("`@(",*("`@(",@<')I;G0@82!L:69E<VEG;@H@
M("`@(PH@("`@96-H;R`M;F4@(D9O=6YD("1[3E5-?2!M:7-S:6YG(&9I;&5S
M('-O(&9A<CL@)$-/54Y4(&]F("143U1!3"!P<F]C97-S960@)'M#2$%2?5QR
M(B`Q/B8R"B`@("!C87-E("1#2$%2(&EN"@E<?"D)0TA!4CTG+R<[.PH)+RD)
M0TA!4CTG+2<[.PH)+2D)0TA!4CTG7%PG.SL*"2=<7"<I"4-(05(])WPG.SL*
M("`@(&5S86,*("`@($-/54Y4/6!E>'!R("1#3U5.5"`K(#%@"B`@("!I9B!;
M("$@+64@)$9)3$5.04U%(%T[('1H96X*("`@("`@("!.54T]8&5X<'(@)$Y5
M32`K(#%@"B`@("`@("`@(R!L;V]P('1O(&AA;F1L92!S86UE(&9I;&4@<W5P
M<&QI960@8GD@;6]R92!T:&%N(&]N92!P86-K86=E"B`@("`@("`@4$M'4SU@
M9W)E<"`M;"`D1DE,14Y!344@+W9A<B]L:6(O9'!K9R]I;F9O+RHN;&ES=&`*
M("`@("`@("!F;W(@:2!I;B`D4$M'4PH@("`@("`@(&1O"B`@("`@("`@("`@
M(%!+1SU@8F%S96YA;64@)&D@+FQI<W1@"B`@("`@("`@("`@(&5C:&\@+6X@
M(B1&24Q%3D%-13HD4$M'(@H@("`@("`@(&1O;F4*("`@("`@("!E8VAO"0DC
M;VYL>2!O;F4@9FEL96YA;64@<&5R(&QI;F4*("`@(&9I"F1O;F4@/"`D3$E3
M5$9)3$4@/B`D3$]35$9)3$53"@HC(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C
M(R,C(R,C(R,C(PHC"B,@:68@82!D:7)E8W1O<GD@:7,@;6ES<VEN9R!J=7-T
M(&QI<W0@=&AE(&1I<F5C=&]R>2!A;F0@;F]T(&%L;"!T:&4@9FEL97,@:6X@
M:70*(PIW:&EL92`Z"F1O"B`@("!R96%D($9)3$5.04U%"B`@("!I9B!;("0_
M(#T@,2!=.R!T:&5N"B`@("`@("`@8G)E86L*("`@(&9I"B`@("!G<F5P(")@
M9&ER;F%M92!<8&5C:&\@)$9)3$5.04U%('P@8W5T("UD("(Z(B`M9B`Q7&!@
M.R(@)$Q/4U1&24Q%4R`^+V1E=B]N=6QL(#(^)C$*("`@(&EF(%L@)#\@/2`Q
M(%T[('1H96X*("`@("`@("!E8VAO("1&24Q%3D%-10H@("`@9FD*9&]N92`\
M("1,3U-41DE,15,@/B`D34E34TE.1T9)3$53"DY535]&24Q%4SU@8W5T("UD
M("(Z(B`M9B`Q("1-25-324Y'1DE,15,@?"!S;W)T("UU('P@=V,@+6Q@"DY5
M35]02T=3/6!C=70@+60@(CHB("UF(#(@)$U)4U-)3D=&24Q%4R!\('-O<G0@
M+74@?"!W8R`M;&`*8W5T("UD("(Z(B`M9B`R("1-25-324Y'1DE,15,@?"!S
M;W)T("UU(#X@)$)23TM%3E!+1U,*96-H;R`B9F]U;F0@)$Y535]&24Q%4R!M
M:7-S:6YG(&9I;&5S(&EN("1.54U?4$M'4R`J<&]S<VEB;'DJ(&)R;VME;B!P
M86-K86=E<R(*96-H;R`B)$U)4U-)3D=&24Q%4R!C;VYT86EN<R!A(&QI<W0@
M;V8@(FUI<W-I;F<B(&9I;&5S(@IE8VAO("(D0E)/2T5.4$M'4R!C;VYT86EN
F<R!A(&QI<W0@;V8@(F)R;VME;B(@<&%C:V%G97,B"F5X:70@,`H`
`
end

Reply to: