Hogyan lehet(lehet?) módósítani egy file ctime-ját szerver időállítás nélkül?
Hogyan lehet megtudni egy disztribúcióról hogy épp melyikkel van dolgom? Értem ez alatt van-e rá parancs, vagy valami standard hogy /etc/DIST-release tartalmazza?
- 855 megtekintés
Hozzászólások
>>Hogyan lehet(lehet?) módósítani egy file ctime-ját szerver időállítás nélkül?
Pl. touch?
>>Hogyan lehet megtudni egy disztribúcióról hogy épp melyikkel van dolgom?
Disztroja valogatja. Slackware alatt pl. /etc/slackware-version van.
Bizonyos disztroknal (gyari kernel eseten) egy 'uname -a' is ad nemi hint-et.
ASK Me No Questions, I'll Tell You No Lies
- A hozzászóláshoz be kell jelentkezni
touch nem jó, csak atime és mtime-ot módosít.
perl tud ilyet? vagy valami c fgv.? vagy akármi?
ez elvileg a .-ban van tárolva, i-node-ot átírni?
- A hozzászóláshoz be kell jelentkezni
Akkor az utime() a baratod (man 2 utime). Perl es C is ismeri.
ASK Me No Questions, I'll Tell You No Lies
- A hozzászóláshoz be kell jelentkezni
köszi, holnap barátkozok vele.
- A hozzászóláshoz be kell jelentkezni
hát sajnos ez sem jó, ez is csak atime és mtime-ot tud :(
The inode change time of each file is set to the current time.
#!/usr/bin/perl
$atime = $mtime = time;
utime $atime, $mtime, @ARGV;
rákerestem még edit inode-ra, de úgy néz ki csak időállítással lehet ctime-ot módosítani. az inode hack, meg túl erős nekem.
- A hozzászóláshoz be kell jelentkezni
A touch alapból mindent módosít, azt tudod külön megmondani neki, hogy csak az atime-ot vagy csak az mtime-ot piszkálja.
fules@chaos:/tmp/q$ ls -lc
total 1
-rw-r--r-- 1 fules fules 5 May 25 13:34 q.q
fules@chaos:/tmp/q$ touch q.q
fules@chaos:/tmp/q$ ls -lc
total 1
-rw-r--r-- 1 fules fules 5 May 25 13:37 q.q
- A hozzászóláshoz be kell jelentkezni
jó de én visszafele akartam állítani...
touch 20060525
ll 20060525
-rw-r--r-- 1 xxx xxx 0 May 25 15:25 20060525
touch -d 20650520 20060525
stat 20060525
File: `20060525'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 442407 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ xxx) Gid: ( 0/ xxx)
Access: 2065-05-20 00:00:00.000000000 +0100
Modify: 2065-05-20 00:00:00.000000000 +0100
Change: 2006-05-25 15:25:45.647322016 +0200
google groupsban egy ilyen utalás van a témában:
Guess because a ctime change would imply a ctime change.
- A hozzászóláshoz be kell jelentkezni
"Hogyan lehet megtudni egy disztribúcióról hogy épp melyikkel van dolgom?"
less /boot/grub/menu.lst
ha nincs boot particio
végső esetben "reboot"
- A hozzászóláshoz be kell jelentkezni
reboot akkor mondja meg biztosra ha van valami csilivili, egyébként bejön egy kernel meg egy prompt. ehhez nem kell reboot ott a dmesg.
boot manager configjában meg akármilyen string lehet.
uname -a sem virít, viszont /proc/version ott a gcc version árulkodik(dmesg első x. sorában is ez van, mármint h azt a kernelt milyen gcc-vek fordították), de sztem az is lehet semmitmondó.
szal sztem lehet nincs ilyen, azon kívül h /etc/$DIST-{release,version}; illetve hogy megnézem a fájlokat, és abból következtetek. mondjuk talán egy van amit ilyen kutakodás után sem lehet sehova tenni: lfs.
- A hozzászóláshoz be kell jelentkezni