Opryd.sh V 2014

Dette forum bruges på EGET ANSVAR til at lege med scripts og andre ting med risiko for at beskadige sit eget og andres systemer.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Opryd.sh V 2014

Indlæg af Christian.Arvai »

Jeg smider lige mit script til oprydning her, så andre evt kan bruge det til inspiration:

Kode: Vælg alt

#!/bin/sh
# Oprydning og opdatering af Ubuntu 12.04.
# Skrevet af Christian Arvai.
# Scriptet placeres i hjemmemappen, og aktiveres med denne kommando:
# sudo mv ~/opryd.sh /usr/local/bin && sudo chmod +x /usr/local/bin/opryd.sh
# Køres med denne kommando i terminalen:
# opryd.sh
# Kommando til at udskifte dette script med en nyere udgave (med samme navn):
# sudo rm -rf /usr/local/bin/opryd.sh && sudo mv ~/opryd.sh /usr/local/bin && sudo chmod +x /usr/local/bin/opryd.sh

dato=$(date)
mkdir -p ~/Updates
echo "" > ~/Updates/"$dato"
echo "Tidspunkt for denne opdatering $dato" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "Opdatering af systempakker starter." >> ~/Updates/"$dato"
sudo dpkg --configure -a >> ~/Updates/"$dato"
sudo apt-get check -y >> ~/Updates/"$dato"
sudo updatedb >> ~/Updates/"$dato"
sudo aptitude safe-upgrade -y >> ~/Updates/"$dato"
sudo apt-get update -y  -m >> ~/Updates/"$dato"
sudo apt-get upgrade -y --force-yes  -m >> ~/Updates/"$dato"
echo "Opdatering af systempakker er færdig" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "Oprydning i pakkearkiver starter" >> ~/Updates/"$dato"
sudo apt-get autoremove -y --force-yes >> ~/Updates/"$dato"
sudo apt-get clean -y --force-yes >> ~/Updates/"$dato"
sudo aptitude clean -y >> ~/Updates/"$dato"
sudo aptitude purge ~b >> ~/Updates/"$dato"
echo "Oprydning i pakkearkiver er færdig" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "Sletning af filer ift. script. starter" >> ~/Updates/"$dato"
rm -rf ~/.adobe/*
rm -rf ~/.bash_history
rm -rf ~/.bash_history~
rm -rf ~/.cache/*
rm -rf ~/.cddbslave/*
rm -rf ~/.config/libreoffice/*/user/registrymodifications.xcu
rm -rf ~/.dvdcss/*
rm -rf ~/.goutputstream-*
rm -rf ~/.local/share/Trash
rm -rf ~/.macromedia/*
rm -rf ~/.mozilla/firefox/*/Cache/*
rm -rf ~/.shotwell/thumbs
rm -rf ~/.thumbnails/*
rm -rf ~/brasero-session.log
rm -rf ~/danid.log
rm -rf ~/nohup.out
rm -rf /media/*/.Trash*
rm -rf /media/*/*RECYCLE.BIN
rm -rf /media/*/System*Volume*Information
sudo rm -rf /root/.cache/dconf
sudo rm -rf /root/.local/share/recently-used.xbel.*
sudo rm -rf /root/.local/share/Trash
sudo rm -rf /root/.thumbnails
sudo rm -rf /usr/share/locale/*/LC_MESSAGES
sudo rm -rf /var/backups/*gz
sudo rm -rf /var/cache/apt/archives/*.deb
sudo rm -rf /var/cache/fontconfig/*
sudo rm -rf /var/log/*
echo "Sletning af filer er færdig" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
echo "Opdateringen og oprydningen af Ubuntu er færdig nu." >> ~/Updates/"$dato"
echo "Det er muligt at pc'en skal genstartes." >> ~/Updates/"$dato"
echo "" >> ~/Updates/"$dato"
exit
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
Gnomy
Indlæg: 194
Tilmeldt: 8. dec 2007, 15:37

Re: Opryd.sh V 2014

Indlæg af Gnomy »

@Christian.Arvai
Det var en lang smøre, kan du ikke forklare nøjagtig hvad den gør og måske hvorfor du bruger den i stedet for bare apt-get autoremove/apt-get clean?
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Opryd.sh V 2014

Indlæg af Christian.Arvai »

Det er jo en lang smøre at opremse ;)

Kode: Vælg alt

mkdir -p ~/Updates

Opretter en mappe kaldet Updates i hjemmemappen

Kode: Vælg alt

echo "" > ~/Updates/"$dato"

Opretter en .txt-fil i mappen "Updates"

Kode: Vælg alt

echo "" >> ~/Updates/"$dato"

Opretter en tom linje i .txt

Kode: Vælg alt

echo "Opdatering af systempakker starter." >> ~/Updates/"$dato"

Skriver "Opdatering af systempakker starter." i .txt

Kode: Vælg alt

sudo dpkg --configure -a >> ~/Updates/"$dato"
sudo apt-get check -y >> ~/Updates/"$dato"
sudo updatedb >> ~/Updates/"$dato"
sudo aptitude safe-upgrade -y >> ~/Updates/"$dato"
sudo apt-get update -y  -m >> ~/Updates/"$dato"
sudo apt-get upgrade -y --force-yes  -m >> ~/Updates/"$dato"
echo "Opdatering af systempakker er færdig" >> ~/Updates/"$dato"

Kører de nævnte kommandoer, og skriver resultatet ind i . txt

Kode: Vælg alt

echo "Oprydning i pakkearkiver starter" >> ~/Updates/"$dato"
sudo apt-get autoremove -y --force-yes >> ~/Updates/"$dato"
sudo apt-get clean -y --force-yes >> ~/Updates/"$dato"
sudo aptitude clean -y >> ~/Updates/"$dato"
sudo aptitude purge ~b >> ~/Updates/"$dato"

Skriver "Oprydning i pakkearkiver starter" i .txt , kører de nævnte kommandoer og skriver resultatet i .txt

Kode: Vælg alt

rm -rf ~/.adobe/*
rm -rf ~/.bash_history
rm -rf ~/.bash_history~
rm -rf ~/.cache/*
rm -rf ~/.cddbslave/*
rm -rf ~/.config/libreoffice/*/user/registrymodifications.xcu
rm -rf ~/.dvdcss/*
rm -rf ~/.goutputstream-*
rm -rf ~/.local/share/Trash
rm -rf ~/.macromedia/*
rm -rf ~/.mozilla/firefox/*/Cache/*
rm -rf ~/.shotwell/thumbs
rm -rf ~/.thumbnails/*
rm -rf ~/brasero-session.log
rm -rf ~/danid.log
rm -rf ~/nohup.out
rm -rf /media/*/.Trash*
rm -rf /media/*/*RECYCLE.BIN
rm -rf /media/*/System*Volume*Information
sudo rm -rf /root/.cache/dconf
sudo rm -rf /root/.local/share/recently-used.xbel.*
sudo rm -rf /root/.local/share/Trash
sudo rm -rf /root/.thumbnails
sudo rm -rf /usr/share/locale/*/LC_MESSAGES
sudo rm -rf /var/backups/*gz
sudo rm -rf /var/cache/apt/archives/*.deb
sudo rm -rf /var/cache/fontconfig/*
sudo rm -rf /var/log/*
echo "Sletning af filer er færdig" >> ~/Updates/"$dato"

Sletter de nævnte filer ift kommandoerne. Denne del er lavet ud fra hvad bla. Bleechbit finder, men også Nemid efterlader logfiler, så dem sletter jeg også.

Selve ideen er at jeg ved en enkelt kommando (opryd.sh), både kan rydde op og opdatere på en gang. Desuden sletter den filer, som fx danid.log, der kun kan slettes ved at angive en direkte sti. Det er sådan set rent dovenskab, for jeg gider ikke kører en masse kommandoer individuelt, og skulle jeg evt. have behov for at se hvad der egentligt skete under kørslen, kan jeg altid gå ind og se det hele i .txt-filen.
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opryd.sh V 2014

Indlæg af AJenbo »

Kode: Vælg alt

rm -rf /media/*/.Trash*
rm -rf /media/*/*RECYCLE.BIN
rm -rf /media/*/System*Volume*Information

Denne del burde enten have brugernavnet i stedet for * eller køre med sudo i tilfælde af at andre er logget ind.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Opryd.sh V 2014

Indlæg af Christian.Arvai »

AJenbo skrev:

Kode: Vælg alt

rm -rf /media/*/.Trash*
rm -rf /media/*/*RECYCLE.BIN
rm -rf /media/*/System*Volume*Information

Denne del burde enten have brugernavnet i stedet for * eller køre med sudo i tilfælde af at andre er logget ind.

Jeg har 6 eksterne hdd, så jeg spare en del kode, ved at bruge * i stedet for at angive navnet (det vil så give 6 linjer). Jeg har kun en bruger på maskinen, så jeg bruger kun sudo hvor at det ikke virker uden.
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opryd.sh V 2014

Indlæg af AJenbo »

det er ikke harddiskens navn men brugerens jeg taler om. Jeg hade ikke set at du skriver med henblik på den gamle sti, i dag tilføjes bruger navnet også til stien:
/media/ajenbo/KÆMPEHARDISK/

Det vil sige koden bør vare følgende for at slette filerne fra de drev som nuværende bruger har adgangtil:

Kode: Vælg alt

rm -rf /media/$USER/*/.Trash*
rm -rf /media/$USER/*/*RECYCLE.BIN
rm -rf /media/$USER/*/System*Volume*Information


Eller følgende for at slette filerne fra alle drev:

Kode: Vælg alt

sudo rm -rf /media/*/*/.Trash*
sudo rm -rf /media/*/*/*RECYCLE.BIN
sudo rm -rf /media/*/*/System*Volume*Information
Gnomy
Indlæg: 194
Tilmeldt: 8. dec 2007, 15:37

Re: Opryd.sh V 2014

Indlæg af Gnomy »

Det var nu ikke min mening at du skulle forklare step for step, men i almindelige termer fortælle hvad scriptet gør.
Men jeg forstår at du opdaterer programpakker + kernen og opretter en mappe med en fil, hvori du kan se hvordan det hele gik. Derudover renser du maskinen for hvad apt-get autoremove og apt-get clean kan klare og supplerer med at slette diverse udvalgte (midlertidige/overflødige?) filer. Endvidere kører du nogle ekstra kommandoer inden opdateringerne, nemlig

Kode: Vælg alt

sudo dpkg --configure -a >> ~/Updates/"$dato"
sudo apt-get check -y >> ~/Updates/"$dato"
sudo updatedb >> ~/Updates/"$dato"

Hvad de skal gøre godt for ved jeg ikke, men de må vel klare noget som du synes mangler ved bare opdatere pakkerne?

Jeg har prøvet at starte fra en ende af, og kan fortælle, at

Kode: Vælg alt

echo "" > ~/Updates/"$dato"

ikke opretter en .txt-fil i mappen "Updates.
Updates/: Er et filkatalog
siger den.
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opryd.sh V 2014

Indlæg af AJenbo »

Du glemmer sikkert at køre "dato=$(date);" som sætter dato variablen der bruges igennem scriptet for at refere til tekstfilen.

Personligt ville jeg i øvrigt ændre linjen til:

Kode: Vælg alt

touch ~/Updates/"$dato"
Gnomy
Indlæg: 194
Tilmeldt: 8. dec 2007, 15:37

Re: Opryd.sh V 2014

Indlæg af Gnomy »

Ja, du har ganske ret, jeg tog kommandoerne fra forklaringslisten, hvor den ikke er med, i stedet for fra scriptet :-)
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Opryd.sh V 2014

Indlæg af Christian.Arvai »

AJenbo skrev:Du glemmer sikkert at køre "dato=$(date);" som sætter dato variablen der bruges igennem scriptet for at refere til tekstfilen.

Personligt ville jeg i øvrigt ændre linjen til:

Kode: Vælg alt

touch ~/Updates/"$dato"


Åhh ja, .txt bliver navngivet efter dato og tidspunkt for kørslen. Det glemte jeg lige at nævne i første omgang.

Hvad får jeg ud af at ændre den linje? Det virker glimrende som det er nu :)
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opryd.sh V 2014

Indlæg af AJenbo »

Ikke det store, det er blot lidt mere tydeligt hvad linjen gør.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Opryd.sh V 2014

Indlæg af Christian.Arvai »

AJenbo skrev:det er ikke harddiskens navn men brugerens jeg taler om. Jeg hade ikke set at du skriver med henblik på den gamle sti, i dag tilføjes bruger navnet også til stien:
/media/ajenbo/KÆMPEHARDISK/

Det vil sige koden bør vare følgende for at slette filerne fra de drev som nuværende bruger har adgangtil:

Kode: Vælg alt

rm -rf /media/$USER/*/.Trash*
rm -rf /media/$USER/*/*RECYCLE.BIN
rm -rf /media/$USER/*/System*Volume*Information


Eller følgende for at slette filerne fra alle drev:

Kode: Vælg alt

sudo rm -rf /media/*/*/.Trash*
sudo rm -rf /media/*/*/*RECYCLE.BIN
sudo rm -rf /media/*/*/System*Volume*Information


Gamle sti? Scriptet er løbende opdateret, men pt er jeg på 12.04, så hvis at folk vil bruge scriptet, skal de muligvis kigge på stierne og selv ændre lidt. Af samme årsag holder jeg de scripts i sandkassen ;)
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Opryd.sh V 2014

Indlæg af AJenbo »

Så vidt jeg husker skete ændringen i en af 13.?? udgaverne.
Brugeravatar
Christian.Arvai
Admin
Indlæg: 10725
Tilmeldt: 26. apr 2008, 19:27
IRC nickname: Christian_Arvai
Geografisk sted: Holeby - Lolland

Re: Opryd.sh V 2014

Indlæg af Christian.Arvai »

AJenbo skrev:Så vidt jeg husker skete ændringen i en af 13.?? udgaverne.

ok. jeg ændrede lige i scriptet i første indlæg, sådan at det fremgår at, det er lavet til 12.04
Med venlig hilsen Christian

"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

XDG kommandoer og XDG filer

Indlæg af lath »

Nyttig viden:

For desktop relaterede stier/mapper kan man bruge en xdg kommando der fortæller hvad f.eks. den nuværende brugers download mappe er:
xdg-user-dir [NAME]

... hvor [NAME] skal erstattes med en af de her ord:
  • DESKTOP
  • DOWNLOAD
  • TEMPLATES
  • PUBLICSHARE
  • DOCUMENTS
  • MUSIC
  • PICTURES
  • VIDEOS

Alle XDG relaterede kommandoer:
  • exmendis - enable or disable extra menus for GNOME, KDE and other XDG menu-spec compliant desktops
  • exmenen - enable or disable extra menus for GNOME, KDE and other XDG menu-spec compliant desktops
  • xdg-desktop-icon - command line tool for (un)installing icons to the desktop
  • xdg-desktop-menu - command line tool for (un)installing desktop menu items
  • xdg-email - command line tool for sending mail using the user's preferred e-mail composer
  • xdg-icon-resource - command line tool for (un)installing icon resources
  • xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file types
  • xdg-open - opens a file or URL in the user's preferred application
  • xdg-screensaver - command line tool for controlling the screensaver
  • xdg-settings - get various settings from the desktop environment
  • xdg-user-dir - Find an XDG user dir
  • xdg-user-dirs-update - Update XDG user dir configuration
... og der er også nogle XDG filer man kan pille i:
  • user-dirs.conf - configuration for xdg-user-dirs-update
  • user-dirs.defaults - default settings for XDG user dirs
  • user-dirs.dirs - settings for XDG user dirs

F.eks., så er download mappen for mit brugernavn:

Kode: Vælg alt

xdg-user-dir DOWNLOAD

xdg-user-dir DOWNLOAD skrev:/home/lars/Hentede filer


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags