Szervusztok!
Ezen leírás alapján az /etc/rc.local adatba bevéstem az exit 0
sor fölé ezt: fstrim /
. Figyeltem a bootot, rákerestem a /var/log/boot.log fájlban a ’trim’ szóra, de nem leltem a kis ravaszt.
Ugyanígy nem leltem a fstrim -v /
parancs beírása után sem.
A parancs – fstrim -v /
– működik, ha terminálban adom ki.
Erős kétségek gyötörnek, hogy nem fut le a rendszer betöltésekor. Hogyan tudnám ellenőrizni? (És egybként helyes a gyökérre hivatkoznom olyan esetben, amikor a rendszer ssd-n van, de a /home külön merevlemezen?)
Ubuntu 14.04-ről van szó.
Előre is köszönöm segítségtek!
- 19216 megtekintés
Hozzászólások
Ubuntun default hetente fut(/etc/cron.weekly/fstrim), minek kell ez? Egyébként ha tényleg kell nézd meg az előbb említett cron szkriptet és úgy add meg az elérési útvonalat és a kapcsolót is ;)
--------------------
http://grant-it.com/
- A hozzászóláshoz be kell jelentkezni
Őőő. Valóban. Javítottam a hivatkozást. Gondoltam nem nagy munka neki sem, nekem sem, beállítom, hadd trimmelgessen minden bekapcsoláskor. (Sokan kicsit lazának tartják a heti rendszerességet.)
- A hozzászóláshoz be kell jelentkezni
Az ugye megvan hogy az /etc/rc.local csak akkor futtatódik ha kapott executable bit-et ?
( sudo chmod a+x /etc/rc.local )
Nálam is bent van az fstrim egyébként, és működik jól...
- A hozzászóláshoz be kell jelentkezni
Tudtommal default rajta van a futási jog.
--------------------
http://grant-it.com/
- A hozzászóláshoz be kell jelentkezni
.
- A hozzászóláshoz be kell jelentkezni
Ha az a cél, hogy a logban lehessen látni az eredményét, akkor én inkább így csinálnám:
/sbin/fstrim -av | /usr/bin/logger -t fstrim --
--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer
- A hozzászóláshoz be kell jelentkezni
Az a cél, hogy ellenőrizni tudjam hogy az utasítást végrehajtja betöltéskor. Ez, amit írtál, mit csinál? Elnézést, hogy visszakérdezéssel válaszolok.
- A hozzászóláshoz be kell jelentkezni
Ez lefuttatja az fstrim-et az összes mountolt filerendszeren részletes információkat szolgáltatva az eseményről, majd a program kimenetét "fstrim" címkével logolja.
--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer
- A hozzászóláshoz be kell jelentkezni
Elég ostoba kérdés, de ezt egyszerű parancsként futtassam, vagy root jogokkal, vagy írjam az rc.local-ba?
- A hozzászóláshoz be kell jelentkezni
rootként kell futnia, de az már mindegy, hogy manuálisan futtatod, rc.local-ba teszed, vagy akár crontab csinálja meg rendszeresen...
--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen az ötleteket. Az mennyire elfogadható, ha az rc.local-ba azt írom, hogy fstrim -v / > /home/felhasznalonevem/Asztal/fstrim
? És megjelenik az asztalomon az fstrim, és az rc.local kimenete az fstrim nevű fájlban. Tehát működik az rc.local és a beírt fstrim parancs is? Ez végül is nekem elég lenne. Nem figyelném feltétlenül mindig, csak legalább egyszer tudni szerettem volna. Bár biztosan nem elegáns. De megcsinálom a log kimenetes dolgot is.
- A hozzászóláshoz be kell jelentkezni
> Az mennyire elfogadható, ha az rc.local-ba azt írom, hogy fstrim -v / > /home/felhasznalonevem/Asztal/fstrim?
Mivel a parancs root jogokkal fut le a keletkezett fstrim is ezeket a jogokat örökli. Aztán majd csodálkozol hogy egyszerű felhasználóként nem tudod törölni.
- A hozzászóláshoz be kell jelentkezni
Én is azt hittem, de simán ledarálom egyszeri (?) felhasználóként is, nem kell sudo-zni.
- A hozzászóláshoz be kell jelentkezni
Ezt hány feles után írtad? ;) A file-t tartalmazó alkönyvtárra ($HOME/Asztal) van írási joga, így törölni is tudja user-ként, hiába nincs írási joga a file-ra. Módosítani, felülírni nem tudja, az igaz.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
No, de most meg úgy tűnik, hogy a frissen felhúzott - xubuntu 14.04-ről 16-04-re frissített - rendszer kikapcsoláskor is eljátssza a trimelést. Az rc.local ezt is tudja? Vagy csak a xubuntu pörgeti túl a dolgot. Meg lehet mondani neki, hogy csak induláskor strapálja magát? Vagy legalábbis a trimelést? A kikapcsolás során megjelenő szöveget nem lehet gondolom sehol megnézni. Elég nehéz a pillanatra megjelenő sort elolvasni. Túl gyors az ssd-m.
- A hozzászóláshoz be kell jelentkezni
Új próbálkozás:
létrehozom a /etc/cron.weekly/trim
fájlt ezzel a tartalommal:
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
De nem ír semmit a trim.log fájlba. Persze lehet, hogy ettől függetlenül lefut a trimelés.
Miután kiadom a run-parts -v /etc/cron.weekly
parancsot ezt írja ki:
/etc/cron.weekly/trim: 3: /etc/cron.weekly/trim: cannot create /var/log/trim.log: Permission denied
Miért nem tudja írni a program a log fájlt vajh.
- A hozzászóláshoz be kell jelentkezni
Tipp: user-ként próbálod, az meg ugye nem tud írni a /var/log alá.
Amúgy szerintem azért nem fut le, mert a PATH nincs beállítva, és ezek ugye nem bultin parancsok, hanem valahol a /bin vagy /sbin alatt laknak. Szóval vagy a PATH-t adod állítod be, vagy full path-szal írod a binárisokat.
- A hozzászóláshoz be kell jelentkezni
Rootként próbálom. Futtatási jogot úgy nem is tudok adni a /etc/cron.weekly/trim
fájlnak.
Megkísérlem a teljes elérési könyvtárat megadni.
- A hozzászóláshoz be kell jelentkezni
Az egyáltalán nem biztos, hogy a cron azt a parancsot rootként futtatja. Az id paranccsal le tudod tesztelni, hogy milyen userként futnak azok a parancsok.
- A hozzászóláshoz be kell jelentkezni
Már hogy beírom, hogy id
? És látnom kéne a kimeneten a trim vagy fstrim parancsot? Az id cron beírására azt üzeni, hogy nincsen olyen felhasználó, hogy cron. Nem ismerem az id parancs világát.
De ha a cron nem rootként futtatja, amit még nem tudok, hogyan tudom rávenni, hogy úgy tegye.
- A hozzászóláshoz be kell jelentkezni
Az id parancs egy scriptből futtatva megmondja, hogy milyen felhasználó nevében fut a script.
- A hozzászóláshoz be kell jelentkezni
Azaz az id /ahol/a/cron/trim/szkript/van parancsot kell kiadnom.
Azt írja ki a parancssor, hogy nincsen ilyen felhasználó.
- A hozzászóláshoz be kell jelentkezni
??
- A hozzászóláshoz be kell jelentkezni
Te, ez kezd átmenni Linux-kezdőbe, úgy érzem...
- A hozzászóláshoz be kell jelentkezni
Elnézést, érzésed nem csal meg. Itt azt írják, hogy az id parancs arra szolgál, hogy megtudjam, hogy milyen csoportokban van benne egy felhasználó. Nem tudom, hogy hogyan kell scriptbe illeszteni, hogy megmondja, kinek a nevében fut a script. És a cronnak sem tudom, hogyan lehet elmagyarázni, hogy rott jogokkal futtassa a valahonnan kimásolt scriptet.
Kérlek ajánljatok olyan oldalt, ahol írnak az id ilyen jellegű használatáról. Mi is a kereső szó ebben az esetben az angol nyelvű manualban?
- A hozzászóláshoz be kell jelentkezni
Egyszerűsítsünk:
Lépj át rootba (sudo su)
és add ki: crontab -e
oda írd be: @reboot /ahol/a/cripted/van.sh
Mentsd el.
Minden indításnál lefut root joggal.
- A hozzászóláshoz be kell jelentkezni
Nagyon köszönöm, ez is biztosan működik, de minden indításnál a /etc/rc.local-ba beírt sorral megy a dolog, de most itt a heti lefuttatás, a cron.weekly használata a gondom.
- A hozzászóláshoz be kell jelentkezni
És megnézted már, kinek a cronját használod?
- A hozzászóláshoz be kell jelentkezni
?
- A hozzászóláshoz be kell jelentkezni
id<enter>
Az eredmény: kiírja, hogy a lefuttatásakor éppen milyen felhasználó nevében futott az id parancs.
Ha ezek után még kihívást jelent, hogy hogyan lehet ezt arra használni, hogy egy adott helyzetben egy adott script milyen felhasználó nevében fut, akkor nem biztos, hogy nem te készülékedben van a hiba.
- A hozzászóláshoz be kell jelentkezni
A hiba, vagy inkább hozzá nem értés nem a készülékemben van, hanem bennem.
- A hozzászóláshoz be kell jelentkezni
sudo -s
touch /var/log/trim.log
chmod 666 /var/log/trim.log
aztán bárki tud bele írni. (Amúgy ez veszélyes, csakis tesztelési céllal adj bármire 666-ot.)
Az id-t pedig logold a script-edből.
Amúgy nálam
$ cat /etc/cron.weekly/fstrim
$ ls -l /etc/cron.weekly/fstrim
-rwxr-xr-x 1 root root 427 szept 25 2014 /etc/cron.weekly/fstrim
$ cat /etc/cron.weekly/fstrim
#!/bin/sh
set -e
#... kommentet kiszedtem mert...
exec fstrim-all
- A hozzászóláshoz be kell jelentkezni
Az én scriptem így néz ki épp:
#!/bin/sh
# trim all mounted file systems which support it
# /sbin/fstrim --all || true
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
/sbin/fstrim -v / >> $LOG
id >> $LOG
Ennek talán mennie kéne (az utolsó sor nincsen benne, csak most írtam bele, remélem jól, hogy az id lefusson és kiíródjon a /var/log/trim.log fájlba). De telnek a hetek, és eddig még egyszer sem futott le magától.
Kiadom a sudo /etc/cron.weekly/trim parancsot, a /var/log/trim.log fájl kimenete:
*** Tue, 28 Jun 2016 00:51:37 +0200 ***
/: 186,4 MiB (195477504 bytes) trimmed
uid=0(root) gid=0(root) csoportok=0(root)
$ ls -l /etc/cron.weekly/trim
-rwxr-xr-x 1 root root 181 jún 28 00:51 /etc/cron.weekly/trim
Az ssd kártya egy 128 GB-os Adata Ez állítólag olyan kártya, amit tud automatikusan trimelni az ubuntu, csak az alapértelmezett beállítás nem írt .log fájlt.
Jól tudom, hogy az eredeti /etc/cron.weekly fájl ez?
#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true
Talán akkor ehhez kellene a .log-gal kapcsolatos kitételt illeszteni, tán így?
#!/bin/sh
# trim all mounted file systems which support it
LOG=/var/log/trim.log
/sbin/fstrim --all || true >> $LOG
- A hozzászóláshoz be kell jelentkezni
run-parts /etc/cron.weekly/
- A hozzászóláshoz be kell jelentkezni
No, erre a következő a válasz:
$ run-parts /etc/cron.weekly/
/etc/cron.weekly//trim: 5: /etc/cron.weekly//trim: cannot create /var/log/trim.log: Permission denied
/etc/cron.weekly//trim: 6: /etc/cron.weekly//trim: cannot create /var/log/trim.log: Permission denied
run-parts: /etc/cron.weekly//trim exited with return code 2
Mintha a cron.weeklynek nem lenne hozzáférése ahhoz, amihez kell.
Ha sudo-ként futtatom a $ run-parts /etc/cron.weekly/
parancsot, akkor szépen lefut hiba nélkül, beírja a /var/log/trim.log fájlba is. Megjegyzem, ma éjfél után trimeltem, és most ezt írja a logban
*** Tue, 28 Jun 2016 23:01:28 +0200 ***
/: 74,2 GiB (79690518528 bytes) trimmed
Nem sok kicsit ez a trimelt 74,3 GB? Egész nap semmit sem ment a gép.
- A hozzászóláshoz be kell jelentkezni
root-ként: chmod 666 /var/log/trim.log
Aztán tedd bele a fentebb javasolt id-s logolást a script-edbe, majd futtasd le a fenti run-parts-os dolgot. Szerintem ez a user-ed nevében fut, legalábbis ez tűnik logikusnak.
A man fstrim pedig választ ad a 74 gigás kérdésedre.
- A hozzászóláshoz be kell jelentkezni
Az érvényes script:
#!/bin/sh
# trim all mounted file systems which support it
# /sbin/fstrim --all || true
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
/sbin/fstrim -v / >> $LOG
id >> $LOG
chmod parancs kiadva.
Run-parts-os dolog felhasználóként: a log fájlban:
*** Wed, 29 Jun 2016 21:11:01 +0200 ***
+ simán az id parancs kimenete.
és ehhez kapcsolódóan üzenet a parancssorban:
start-stop-daemon: unable to set gid to 12 (Operation not permitted)
run-parts: /etc/cron.weekly//man-db exited with return code 2
fstrim: /: FITRIM ioctl failed: A művelet nem engedélyezett
Run-parts-os dolog rendszergazdiként: a log fájlban:
*** Wed, 29 Jun 2016 21:11:53 +0200 ***
/: 410,6 MiB (430575616 bytes) trimmed
uid=0(root) gid=0(root) csoportok=0(root)
- A hozzászóláshoz be kell jelentkezni
+ simán az id parancs kimenete.
És az mi??? Pont az lenne a lényeg.
féloff: halálosan tele van a t...m azzal, hogy néha segíteni akarok valakinek és akkor az illető sz...t azzal, hogy nem ad választ a kérdésre, 4 kommentbe kerül mire egy egyszerű kérdésre választ kap az ember. (Ennek minősített eset pedig ha ugyanezt még magyar nyelvű hibaüzenetekkel fűszerezi.)
Én ilyen játékban nem kívánok részt venni.
- A hozzászóláshoz be kell jelentkezni
Elnézést kérek, köszönöm szépen a türelmedet.
+ simán az id parancs kimenete:
uid=1000(az_en_felhasznalonevem) gid=1000(az_en_felhasznalonevem) csoportok=1000(az_en_felhasznalonevem),
4(adm),20(dialout),21(fax),24(cdrom),25(floppy),26(tape),
27(sudo),29(audio),30(dip),44(video),46(plugdev),
109(netdev),113(lpadmin),122(scanner),128(sambashare),130(libvirtd)
Ez a kimenet akkor is, ha egyszeri felhasználóként kiadom az id parancsot.
- A hozzászóláshoz be kell jelentkezni
Végülis logikus, az FITRIM ioctl failed azt jelzi hogy user-ként próbálod futtatni.
Akkor a script maga jó, már csak az a kérdés hogy cron-nal miért nem fut le...
- A hozzászóláshoz be kell jelentkezni
Ha a saját crontabjával futtatná, akkor "hozzáférés megtagadva".
Rootként kéne.
- A hozzászóláshoz be kell jelentkezni
Persze.
Bár nálam default install-lal a /etc/cron.whatever root-ként fut, úgy menni kéne (bár én rc.local-ből trimmelek). Nála viszont valami gond van.
- A hozzászóláshoz be kell jelentkezni
És mi van a discard fstab paraméterrel? Vagy az csak arch-on megy?
- A hozzászóláshoz be kell jelentkezni
"These days, what I normally tell people is to not use the discard
mount option at all, and instead use the fstrim program, run out of
cron maybe once a week or even every night if you are anal."
- A hozzászóláshoz be kell jelentkezni
Nálam bent van kezdetek óta. Most még is, hogy először lefuttattam az fstrim parancsot, ~6GByte-nyi adatot trimmelt. Ezt hogy?
Ubuntu 14.04
3.13.0-63-generic
ext4
- A hozzászóláshoz be kell jelentkezni
Minek ehhez rc.local? Fedorában úgy oldották meg, hogy a util-linux csomag szállítja az fstrim.timer és fstrim.service file-okat. Az fstabból ki kell szedni az összes discard opciót, engedélyezni kell az fstrim.timer-t, majd elindítani:
systemctl enable fstrim.timer
systemctl start fstrim.timer
Megnéztem a unit file-okat, hetente egyszer a boot-olást követő 1 óra múlva fog futni egy fstrim -a
parancs, amely minden felcsatolt filerendszerre csinál egy trim-et, amely támogatja azt.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Hm. Milyen adatok lehetnek szükségesek a „valami” megközelítéséhez?
- A hozzászóláshoz be kell jelentkezni
- a valami távolsága
- az út minősége
- a felhasználható szállítóeszköz
- a szükséges üzemanyag rendelkezésre állása
- a résztvevők száma
- a rendelkezésre álló idő
hirtelen ennyi
szerk:
- az esetleges akadályok és leküzdhetőségük
- A hozzászóláshoz be kell jelentkezni
Ö. Elszúrtam. Erre a hozzászólásra szerettem volna válaszolni.
- A hozzászóláshoz be kell jelentkezni