• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af mrbrown79 | 10.03.2010 14:54

Dynamisk symbolsk link

Hjælp generelt
Er der nogen måde at lave et symbolsk link dynamisk afhængig af en environmentvariabel?

Jeg har flere arbejdsstationder, der mounter den samme netværkspartion med data. Men de mounter den ikke til samme mountpoint. Nogle filer på netværkspartionen er symbolske links til selvsamme partiion.

Dvs. hvis maskine A bruger mountpunktet /data og maskine B bruger punktet /mnt/data, så skal det symbolske link pege på /data/sti/til/fil på A, og til /mnt/data/sti/til/fil på B. Jeg ved godt at man kan linke relativt, men det er ikke en optimal løsning idet bibliokerne skal kunne flyttes rundt i strukturen uden at linket lige pludselig ikke peger på noget.

Jeg mangler noget a'la:
ln -s ${DATAMOUNT}/sti/til/fil linknavn.conf , hvor environment-variablen først fortolkes "runtime".

Kan man den slags?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer7

# 1

15 år 3 måneder siden

Permalink

Indsendt af marlar den 10. marts 2010 kl. 15:28

Permalink

Re: Dynamisk symbolsk link

Tror du stort set selv har angivet løsningen. Mon ikke dette virker?

export DATAMOUNT=/mnt/data
ln -s $DATAMOUNT/sti/til/fil linknavn.conf

Jeg kan i øvrigt godt lide at "echo" når jeg eksperimenterer, så laver man ingen ulykker:

echo ln -s $DATAMOUNT/sti/til/fil linknavn.conf
  • Log ind eller opret dig for at tilføje kommentarer

# 2

15 år 3 måneder siden

Permalink

Indsendt af mrbrown79 den 10. marts 2010 kl. 15:42

In reply to Re: Dynamisk symbolsk link by marlar

Permalink

Tror du stort set selv har

Tror du stort set selv har angivet løsningen. Mon ikke dette virker?

export DATAMOUNT=/mnt/data
ln -s $DATAMOUNT/sti/til/fil linknavn.conf


Så har du enten misforstået mig eller også er dit system anderledes end mit.

Hvis jeg benytter ovenstående så kommer linket til at pege på hvad end DATAMOUNT er i det øjeblik linket laves - og IKKE, som hensigten var, det som DATAMOUNT er, i det øjeblik linket kaldes.

Problemet er at hvis jeg afvikler
ln -s $DATAMOUNT/sti/til/fil linknavn.conf på maskine A, så bliver linket rettet mod /data/sti/til/fil. Og den sti er ikke-eksisterende på maskine B (hvor den retteligt hedder /mnt/data/sti/til/fil

Giver det mening?
  • Log ind eller opret dig for at tilføje kommentarer

# 3

15 år 3 måneder siden

Permalink

Indsendt af marlar den 10. marts 2010 kl. 15:58

Permalink

Re: Dynamisk symbolsk link

Ja, så har jeg misforstået dig.

Men ændrer monteringspunktet sig efter linket er dannet? I dit eksempel har du jo to forskellige maskiner som godt nok peger forskellige steder her, men vel ikke efter linket er oprettet???

Eller også misforstår jeg dig stadig!
  • Log ind eller opret dig for at tilføje kommentarer

# 4

15 år 3 måneder siden

Permalink

Indsendt af mrbrown79 den 10. marts 2010 kl. 16:06

In reply to Re: Dynamisk symbolsk link by marlar

Permalink

Re: Re: Dynamisk symbolsk link

Linket ligger jo på den monterede netværksdisk og er dermed fælles for alle maskinerne. Monteringspunktet ændrer sig fra maskine til maskine. Hvis linket peger på /mnt/data, så giver det problemer på maskine A, hvis den peger på /data, så giver det problemer på maskine B.

Hvis jeg kunne lave linket med en miljøvariabel, som først evalueres når linket kaldes, så kunne jeg fikse det på den måde - og det er det jeg efterspørger. Hvis man bruger ln -s ${DATAMOUNT]/sti/til/fil, så afhænger det af hvad DATAMOUNT er på den maskine, som kommandoen eksekveres fra i eksekveringstidspunktet. Hvis dette ikke er identisk med DATAMOUNT på de andre maskiner går det galt.

Jeg kan altså ikke forklare det bedre...
  • Log ind eller opret dig for at tilføje kommentarer

# 5

15 år 3 måneder siden

Permalink

Indsendt af marlar den 10. marts 2010 kl. 16:11

Permalink

Re: Dynamisk symbolsk link

Jeg forstår det nu! Jeg havde ikke helt fanget den med at linket lå på netværksdrevet.

Min eneste idé er så at lade linket pege på et andet symbolsk link der ligger samme sted på alle maskine, fx /mnt/mainlink

Dette link kan så pege forskellige steder hen på hver maskine. Selvfølgelig går det i teorien ud over performance, men jeg tror ikke man kan mærke det overhovedet i praksis.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

15 år 3 måneder siden

Permalink

Indsendt af mrbrown79 den 10. marts 2010 kl. 16:21

In reply to Re: Dynamisk symbolsk link by marlar

Permalink

Re: Re: Dynamisk symbolsk link

Ja, jeg havde selv overvejet den løsning, men jeg bryder mig ikke om at skulle vedligeholde dette bibliotek med fast placering på alle maskiner.

Det med miljøvariabel ville være optimalt, idet den i forvejen er en del af opsætningen. Hvis man ikke kan få det til at virke, så vælger jeg nok at lave linksene relative og så leve med at man skal bruge indersiden af hovedet inden man flytter rundt på bibliotekerne.

Performance er ligegyldig. Det er bare nogle initialiseringsfiler.
  • Log ind eller opret dig for at tilføje kommentarer

# 7

15 år 3 måneder siden

Permalink

Indsendt af marlar den 10. marts 2010 kl. 17:56

Permalink

Re: Dynamisk symbolsk link

Kan du så ikke bare oprette det fælles mainlink ved hjælp af miljøvariablen ved opstart? Så er der jo ikke noget vedligeholdelsesarbejde, idet der skal stå præcis det samme i din rc.local eller hvor du nu placerer koden....
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

En snak om Linux-kompatibel software 7
Nulstilling af adgangskode 6
Virtuel maskine? 2
PCLinuxOS 27
Gode anmeldelser Zorin OS 17.3 3
Open Source-eksperimentet 3
"Intet realistisk alternativ" - mig i r*ven 15
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !