Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Polskie forum (Polish)
  • Search

[SKRYPT] analyze_etc.sh

Witajcie na polskim forum użytkowników Gentoo!
Opis instalacji i pracy z Gentoo. Pozostała dokumentacja Gentoo

Moderator: SlashBeast

Post Reply
  • Print view
Advanced search
13 posts • Page 1 of 1
Author
Message
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

[SKRYPT] analyze_etc.sh

  • Quote

Post by nelchael » Wed Jan 12, 2005 7:35 pm

Oto maly skrypcik, ktory pokazuje, ktore pliki w /etc/ nie maja wlasciciela (tzn. pakiet, do ktorego nalezaly zostal usuniety, ale jako, ze pliki w /etc/ maja cfgpro nie zostal usuniety):

Code: Select all

#!/bin/bash

BASH_COLOR_RESET="\e[0m"
BASH_COLOR_GREEN="\e[01;32m"
BASH_COLOR_RED="\e[01;31m"

FILES_OK=0
FILES_BAD=0
FILES_TOTAL=0

for i in `find /etc -type f | sort`; do
	echo -n "Checking \"${i}\"... "
	# Check
	jest="`grep -Hr \"${i}\" /var/db/pkg/* | head -n 1 | cut -d ':' -f 1 | sed -e 's,/CONTENTS,,g' -e 's,/var/db/pkg/,,g'`"
	FILES_TOTAL=$(($FILES_TOTAL + 1))
	if [ "x${jest}" = "x" ]; then
		echo -en "${BASH_COLOR_RED}NOT FOUND${BASH_COLOR_RESET}"
		FILES_BAD=$(($FILES_BAD + 1))
	else
		echo -en "${BASH_COLOR_GREEN}ok${BASH_COLOR_RESET} (${jest})"
		FILES_OK=$(($FILES_OK + 1))
	fi
	echo
done

echo "Files: ${FILES_TOTAL} Valid: ${FILES_OK} Unknown: ${FILES_BAD}"
Dziala bardzo szybko :) (na reiserfs, na ext3 wlokl sie niemilosiernie). Czekam na opinie :)
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
Poe
Bodhisattva
Bodhisattva
User avatar
Posts: 2155
Joined: Sat Apr 03, 2004 5:57 pm
Location: Mysłowice/Lublin, Poland
Contact:
Contact Poe
Website

  • Quote

Post by Poe » Wed Jan 12, 2005 7:45 pm

bardzo fajnie, wlasnie sprawdza :) domyslam sie, ze te NOT FOUND, mozna wywalic.. o, skonczylo

Code: Select all

Files: 887 Valid: 403 Unknown: 484
:D
a mozna by to jakos przerobic, zeby odrazu wywalalo te pliki "niepotrzebne"?
Hardware:HP Pavilion DV6875SE[C2DT5550@1.83GHz_3GB-DDR2_320GB-SATA_GF8400GS]
http://popularcoffee.blogspot.com - Popkulturowa Kawa
RLU#342333
Top
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

  • Quote

Post by nelchael » Wed Jan 12, 2005 7:51 pm

Nie ma mowy! On wylistowal np. /etc/hosts i /etc/hostname, prawda? AFAIR listuje tez /etc/{gruop|passwd|shadow} - ktorys z nich.
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
Poe
Bodhisattva
Bodhisattva
User avatar
Posts: 2155
Joined: Sat Apr 03, 2004 5:57 pm
Location: Mysłowice/Lublin, Poland
Contact:
Contact Poe
Website

  • Quote

Post by Poe » Wed Jan 12, 2005 7:52 pm

hm, mozliwe, nie przegladalem dokladnie tej listy. coz..
Hardware:HP Pavilion DV6875SE[C2DT5550@1.83GHz_3GB-DDR2_320GB-SATA_GF8400GS]
http://popularcoffee.blogspot.com - Popkulturowa Kawa
RLU#342333
Top
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

  • Quote

Post by nelchael » Wed Jan 12, 2005 8:09 pm

IMHO jest to niebezpieczne, jak chcesz mozesz dosc latwo dorobic taka funkcjonalnosc:

Code: Select all

#!/bin/bash

BASH_COLOR_RESET="\e[0m"
BASH_COLOR_GREEN="\e[01;32m"
BASH_COLOR_RED="\e[01;31m"

FILES_OK=0
FILES_BAD=0
FILES_TOTAL=0

for i in `find /etc -type f | sort`; do
   echo -n "Checking \"${i}\"... "
   # Check
   jest="`grep -Hr \"${i}\" /var/db/pkg/* | head -n 1 | cut -d ':' -f 1 | sed -e 's,/CONTENTS,,g' -e 's,/var/db/pkg/,,g'`"
   FILES_TOTAL=$(($FILES_TOTAL + 1))
   if [ "x${jest}" = "x" ]; then
      echo -en "${BASH_COLOR_RED}NOT FOUND${BASH_COLOR_RESET}"
      FILES_BAD=$(($FILES_BAD + 1))
      #rm -f ${i}
#     ^ wystarczy usunac tego hasha.
   else
      echo -en "${BASH_COLOR_GREEN}ok${BASH_COLOR_RESET} (${jest})"
      FILES_OK=$(($FILES_OK + 1))
   fi
   echo
done

echo "Files: ${FILES_TOTAL} Valid: ${FILES_OK} Unknown: ${FILES_BAD}"
Nie biore jednak zadnej odpowiedzialnosci za efekty jakie moga wystapic po czyms takim.

PS. czesc plikow w /etc/ jest generowana w czasie dzialania (lub przy pierwszym uruchomieniu) - one tez zostana wyswietlone jako 'NOT FOUND'.
Last edited by nelchael on Wed Jan 12, 2005 8:11 pm, edited 1 time in total.
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
Poe
Bodhisattva
Bodhisattva
User avatar
Posts: 2155
Joined: Sat Apr 03, 2004 5:57 pm
Location: Mysłowice/Lublin, Poland
Contact:
Contact Poe
Website

  • Quote

Post by Poe » Wed Jan 12, 2005 8:10 pm

Hm, chyba jednak nie bede ryzykował ;) ewenrtualnie przejze liste i wywale pliki, do ktorych bede mial pewnosc 100%ową :)
Hardware:HP Pavilion DV6875SE[C2DT5550@1.83GHz_3GB-DDR2_320GB-SATA_GF8400GS]
http://popularcoffee.blogspot.com - Popkulturowa Kawa
RLU#342333
Top
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

  • Quote

Post by nelchael » Wed Jan 12, 2005 8:11 pm

I tak polecam z tego skryptu korzystac - oblookac liste i usunac te do ktorych mamy pewnosc.

PS. kopia bezpieczenstwa /etc to tez dobry pomysl :)
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
milu
Bodhisattva
Bodhisattva
User avatar
Posts: 1122
Joined: Mon May 03, 2004 9:49 pm
Location: Poland, Konstancin-Jeziorna

  • Quote

Post by milu » Wed Jan 12, 2005 9:19 pm

A miałem właśnie porządki zrobić na hdd - co prawda ten skrypt tylko do etc ale zobaczymy jak on chodzi. Potem i tak odpalę cruft'a co by przeczesać resztę;)
A jakby ktoś chciał to tutaj jest więcej info na ten temat. i link do skryptu tez tam jest - nie ściągać tego co jest wrzucone w [ code ] bo chyba jest to nieaktualne.
Pozdrawiam,
Milu
------------------------------------
Registered Linux User: #246079

Zanim zadasz pytanie przeczytaj to dokładnie!!
Top
Rav70
l33t
l33t
User avatar
Posts: 607
Joined: Wed Feb 11, 2004 8:27 pm
Location: Poland

  • Quote

Post by Rav70 » Wed Jan 12, 2005 9:55 pm

nelchael wrote:IMHO jest to niebezpieczne, jak chcesz mozesz dosc latwo dorobic taka funkcjonalnosc:

Code: Select all

      #rm -f ${i}
#     ^ wystarczy usunac tego hasha.
Można też

Code: Select all

      rm -i ${i}
żeby system prosił o potwierdzenie przed usunięciem każdego pliku.
Pozdr. Rav
Q: Why is Microsoft's Product Support a failure?
A: Because Microsoft needs a Support Group instead.
Top
quat
Guru
Guru
User avatar
Posts: 316
Joined: Sat Sep 18, 2004 11:00 am

  • Quote

Post by quat » Wed Jan 12, 2005 10:06 pm

mam nadzieje ze mnie mod nie pogoni ale zminilem troszke skrypcik jego zeby chodzil szybciej. jedyny mankament to robi plik tymczasowy (wybralem na to /var/tmp) ktory po wszytskim jest usuwany.

Code: Select all

#!/bin/bash

BASH_COLOR_RESET="\e[0m"
BASH_COLOR_GREEN="\e[01;32m"
BASH_COLOR_RED="\e[01;31m"

FILES_OK=0
FILES_BAD=0
FILES_TOTAL=0


tmpfile=/var/tmp/list-of-etcow.tmp
rm $tmpfile>/dev/null

for i in `ls /var/db/pkg/*/*/CONTENTS*`;
do
  cat $i | grep "obj /etc/" >> $tmpfile
done

for i in `find /etc -type f | sort`; do
   echo -n "Checking \"${i}\"... "
   # Check
   
   grep -q $i $tmpfile
   OUT=$?
   
   FILES_TOTAL=$(($FILES_TOTAL + 1))
   if [ $OUT = 0 ]; then
      PACKAGE=`qpkg -nc -f $i | awk '{print $1}'`
      echo -en "${BASH_COLOR_GREEN}ok${BASH_COLOR_RESET} ($PACKAGE)"
      FILES_OK=$(($FILES_OK + 1))
   else
      echo -en "${BASH_COLOR_RED}NOT FOUND${BASH_COLOR_RESET}"
      FILES_BAD=$(($FILES_BAD + 1))
   fi
   echo
done

rm $tmpfile>/dev/null
echo "Files: ${FILES_TOTAL} Valid: ${FILES_OK} Unknown: ${FILES_BAD}"
wg mnie dziala szybciej.

pozdrawiam
a mind is like a parachute, it's better when it's open
Top
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

  • Quote

Post by nelchael » Wed Jan 12, 2005 10:11 pm

Niekoniecznie. Linuks ma cos co sie nazywa file-cache. Przy pierwszym przeszukiwaniu drzewka /var/db/pkg idzie wszystko z dysku, przy nastepnych juz idzie wlasnie z file-cache.
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
quat
Guru
Guru
User avatar
Posts: 316
Joined: Sat Sep 18, 2004 11:00 am

  • Quote

Post by quat » Wed Jan 12, 2005 10:26 pm

nelchael wrote:Niekoniecznie. Linuks ma cos co sie nazywa file-cache. Przy pierwszym przeszukiwaniu drzewka /var/db/pkg idzie wszystko z dysku, przy nastepnych juz idzie wlasnie z file-cache.
tak masz racje. ale w mojej poprawce nie przeszukuje calej bazy za kazdym razem ale ograniczam sie jedynie do plikow ktore sa instalowane w katalogu /etc, czyli przeszukuje znacznie mniejszy zbior nazw.

pozdr
a mind is like a parachute, it's better when it's open
Top
nelchael
Retired Dev
Retired Dev
User avatar
Posts: 1948
Joined: Sat Mar 20, 2004 9:15 am
Location: /dev/drzewo
Contact:
Contact nelchael
Website

  • Quote

Post by nelchael » Wed Jan 12, 2005 11:01 pm

Mozna i tak :)
[color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]

[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166]
Top
Post Reply
  • Print view

13 posts • Page 1 of 1

Return to “Polskie forum (Polish)”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy