ugrás a tartalomhoz

Szimbólikus link úgy, hogy a forrás tartalma ne változzon ha szerkesztik.

ecrazor · 2012. Aug. 25. (Szo), 09.12
Üdv,

Egy érdekes kérdésem lenne, lehet rossz úton járok:

Van egy Debian Linux környezetem, amibe mondjuk adott két felhasználó user1 és user2. Az user1-ben tételezzük fel van egy "FORRAS.txt" állomány ami tartalmaz egy szöveget és még hozzárakva jópár száz mega anyagot (ez az eredeti forrás). Ezt a fájlt átakarom SymLink-elni user2-nek, hogy lássa és használni tudja ám szeretném megadni neki a jogot arra, hogy ha kell szerkeszteni tudja vagy felülírni (szóval átírom a SymLink jogait neki megfelelőre).

A probléma ezzel az, hogy ha a SymLink-et módosítja, akkor az a forrás állományba is megváltozik és ezt semmiképp nem szeretném. És ha több felhasználónak szeretném ezt a fájlt át SymLink-elni, akkor a dolog sztornó.

Nos gondolom a figyelmesebbek rájöttek, hogy helymegtakarítást szeretnék mivel ez a fájl pl. 50 userből csak pár helyen változna meg (pl. 50-ből 10-nél) és így 50 helyett csak 10x foglalna több helyet + a változás, míg a többi SymLink-ként működne.

Jelenleg egy partícióról van szó és a cél nagyjából az lenne, hogy a fájl addig maradjon SymLink ameddig nem nyúlnak hozzá, amint hozzányúlnak ill. megváltoztatják (módosítják, felülírják) átalakuljon fizikai fájllá és a "fő cél" az, hogy a másolás minél gyorsabban megtörténjen.

Szerintetek erre van-e megoldás vagy ez nagyon meredek dolog és maradjak a hagyományos másolgatásnál?
 
1

hogy lássa és használni tudja

Ajnasz · 2012. Aug. 25. (Szo), 09.50
hogy lássa és használni tudja ám szeretném megadni neki a jogot arra, hogy ha kell szerkeszteni tudja vagy felülírni

vs.

A probléma ezzel az, hogy ha a SymLink-et módosítja, akkor az a forrás állományba is megváltozik és ezt semmiképp nem szeretném.

Ez a ket mondat kicsit ellentmond egymasnak, nem? Szoval az a kerdes, hogy engedned, hogy modositsa a file-t vagy nem?
2

Nem teljesen

ecrazor · 2012. Aug. 25. (Szo), 10.05
A forrás állományt nem szeretném, hogy senki módosítsa (tehát az mindenképp maradjon úgy ahogy van) ezzel ellenben a SymLink-et (ami a forrásra mutat) annak tartalma módosítható legyen (függetlenül a forrás állománytól).

Úgy tudnám elképzelni, hogy van a forrás fájlról a SymLink és ha módosít benne az user2, akkor egyszerűen leválasztódik és létrejön egy egyedi másolat. A forrás érintetlen marad egyszóval a SymLink-ből "fizikai" fájl jönne létre, ha módosítják.

A probléma az, hogy ha ezeket a SymLink-eket én létrehozom mondjuk 50 felhasználó alá és ebből egy módosítja a saját SymLink-jét, akkor az összes helyen változik mivel a forrás állományba is belepiszkál.
4

Még nem világos

gabesz666 · 2012. Aug. 25. (Szo), 10.53
Számomra még nem egészen világos a sztori: tehát a user1 és user2 a debian rendszered felhasználói vagy esetleg egy webes alapú rendszered felhasználói? A másik kérdés, hogy hogyan is szerkeszti a fájlt? Belép ssh-n és egy tetszőleges editorral vagy pedig valami webes alapú szerkesztővel.
Ha a usereid debian userek és parancssoros editorral szerkesztenék a fájlt, akkor symlinkel ez megvalósíthatatlan, hiszen nem tudsz semmilyen algoritmust hozzákötni a módosítás/mentés eseményekhez.
Ha van egy webes alapú rendszered, ahol a fájlt nézegetni és szerkeszteni lehet, akkor már teljesen más a helyzet, az könnyen megvalósítható. A szerkesztő betöltésekor megnézed, hogy van-e pl. FORRAS_userx.txt nevű állományod, és ha igen, azt töltöd be. Ha nincs, akkor pedig az eredeti FORRAS.txt-t. Módosításkor pedig egyszerűen a FORRAS_userx.txt fájlba mented a módosult tartalmat és másolod a csatolt tartalmakat, ha még nem léteznek.
5

Rendszerszintű

ecrazor · 2012. Aug. 25. (Szo), 11.39
Igen debian userekről van szó, szóval akár ha SFTP-n felmásolja/módosítja akkor is hasonlóképpen kellene működnie. De mivel jelen esetben még megvalósíthatatlan, ezért vakvágány ez az út.

Köszönöm a válaszokat!
3

mire kell?

Poetro · 2012. Aug. 25. (Szo), 10.51
Nem tudom, ez neked mire kell re a linuxos alkalmazásők nagy része úgy működik, hogy a konfigurációs fáll, ha létezik a felhasználó mappájában, akkor azt használja, egyébként pedig az alapértelmezettet. Neked is valami ilyesmit kellene megoldani.
6

cp --reflink, de csak a btrfs

tgr · 2012. Aug. 25. (Szo), 12.06
cp --reflink, de csak a btrfs és az ocfs2 támogatja.
7

AUFS

numen · 2012. Aug. 26. (V), 22.01
Szintén fájlrendszerszintű megoldás, de azt hiszem, a Knoppix például AUFS-sel oldja meg a dolgot. Ott az alapvető probléma ugye az volt, hogy a live CD nem volt írható, viszont egy pendrive-on lehetett tárolni a változásokat – vagy valami ilyesmi.
8

Köszönöm a válaszokat, igen

ecrazor · 2012. Aug. 27. (H), 11.38
Köszönöm a válaszokat, igen ilyesmire gondoltam!