Hoe Google het werk van Mac-gebruikende web developers een stuk eenvoudiger maakt

FTP- en SFTP-verbindingen als onderdeel van je lokale filesystem, w00t!

Dit artikel is zo'n 16 jaar oud en 7 jaar voor het laatst bijgewerkt. Misschien is de strekking nog relevant, maar hou er rekening mee dat de wereld intussen Verder Is Gegaan. Onderaan staan misschien iets nieuwere artikelen.

Voor wie met een Mac werkt en geen Terminal-fobie heeft, is het al sinds Mac OS X 10.2 mogelijk om netwerkverbindingen naar bijvoorbeeld FTP- of WebDAV-servers te mounten.

In praktijk betekent dat dat je aan een bepaalde directory een verbinding kan koppelen. Open je de directory, dan zie je (live, real time, hoe je het ook noemen wilt) de bestanden en directories op de server. Mooi, man!

In theorie mooi, in praktijk waardeloos

Groot voordeel: je kunt, omdat dat mounten diep in de UNIX-onderlaag van MacOS X gebeurt, in ieder programma van die mount gebruikmaken. Foto's op een WebDAV-server direct in Photoshop openen? Kan. Een file op een FTP-server in om het even welke tekst-editor bewerken, zelfs als die zelf helemaal geen FTP ondersteunt? Geen probleem.

Wél een probleem: zo'n gemounte FTP-server is helaas altijd read-only; je kunt wel lezen, maar niet schrijven. Je kunt een script of pagina dus wel bewerken (in om het even welke teksteditor), maar je kunt je wijzigingen niet opslaan. Oeps.

Op deze pagina:

  • In theorie mooi, in praktijk waardeloos
  • FUSE
  • Hoe doen we dat dan?
  • En dat $PATH-verhaal dan?
  • Verdere opties
  • Wijze woorden ter afsluiting

FUSE

Linux-gebruikers hebben een luxere positie: die kunnen met FUSE (Filesystem in USErspace) allerlei bestandssystemen wel zodanig mounten dat er op geschreven kan worden. Heel interessant voor web developers die direct op een server willen werken: die mount je gewoon ergens, en vervolgens ga je in scripts zitten hakken alsof ze op je eigen harde schijf staan.

Mooi! Probleem opgelost!
Jammergenoeg was FUSE alleen beschikbaar onder Linux...

Was, want Amit Singh -- een ontwikkelaar van Google -- heeft tot mijn übergrote vreugde FUSE naar MacOS X geport -- zijn eigen post staat hier. En aangezien FUSE een soort van plugin-architectuur is, waar iedereen nieuwe filesystems voor kan verzinnen, zijn er al een paar hele nuttige -- en soms ronduit bizarre -- voorhanden.

Goed, vanuit Photoshop direct foto's op een server bewerken is leuk, maar als je nou eens direct de foto's in je Flickr-stream kan bewerken? Of een post op je WordPress-blog kunt zetten door een tekstbestandje ergens neer te zetten? De sky, dat begrijpt u nu wel, is de limit.

Hoe doen we dat dan?

Allereerst moet je natuurlijk MacFuse ophalen. Dat kan hier -- aan de Installer Disk Image heb je wel genoeg. Als je die hebt geïnstalleerd, lijkt er niet veel gebeurd te zijn, geen nieuwe programma's enzo. Dat komt omdat je FUSE vanaf de command-line, dus in Terminal, moet gebruiken. Dat gaat als volgt: (ervan uitgaande dat je terminal nu open hebt)

$ export PATH=/usr/local/bin:$PATH
$ mkdir test
$ sshfs noe@localhost: test -oping_diskarb,volname=Noe
Password:
$ ls test/
Desktop         Library         Music           Public
Documents       Movies          Pictures        Sites

Goed, wat gebeurde hier nou allemaal? Laten we het eens stap voor stap doorlopen:

$ export PATH=/usr/local/bin:$PATH

Hier voeg ik het pad /usr/local/bin toe aan mijn PATH. Hier kom ik straks nog op terug.

$ mkdir test

Ik maak een directory aan die ik straks als mount point ga gebruiken. Uiteraard hoef je dat niet te doen als je al een (lege!) directory voor dat doel hebt.

$ sshfs noe@localhost: test -oping_diskarb,volname=Noe

Dit is de belangrijkste regel, eigenlijk. Hier roep ik sshfs aan om een beveiligde verbinding te maken naar localhost (mijn eigen computer dus -- testen doe je altijd lokaal!), met gebruikersnaam noe. De resulterende verbinding wil ik mounten op test, en de netwerkschijf wil ik laten verschijnen onder de naam Noe.

$ ls test/

Altijd even controleren natuurlijk... En ja hoor, ik krijg keurig netjes de inhoud van de home directory van Noë te zien. Bovendien zul je in de Finder een nieuwe schijf zien met de naam Noe. Als we klaar zijn met zijn bestanden, kunnen we de netwerkschijf net als elke willekeurige schijf naar de prullenbak trekken, en we zijn er weer vanaf.

Missie geslaagd!

En dat $PATH-verhaal dan?

Oh ja, daar zou ik nog op terugkomen.

Het punt is namelijk dat sshfs wat bestanden in die directory nodig heeft. En om nou te voorkomen dat je iedere keer diezelfde regel moet intypen voordat je de verbinding kunt maken, gaan we dat automatisch laten doen als de computer opstart:

$ echo export PATH=/usr/local/bin:$PATH >> ~/.profile

Klaar. Elke volgende terminal die je open trekt, heeft dat PATH keurig aangevuld.

Volgende stap wordt dan natuurlijk het volledig automagisch laten mounten van de server. Dat doe je door de betreffende mount in je fstab op te nemen; aangezien dat een beetje verder voert dan ik dit verhaal wil laten gaan, en omdat de mogelijkheden voor missers groter zijn, laat ik dat even aan jezelf over.

Verdere opties

Je zag in die opdrachtregel aan het eind al een voorbeeld van wat opties staan. Je kunt namelijk bij het verbinden wat extra informatie opgeven, en in sommige gevallen is dat heel nuttig. Voor een volledig overzicht verwijs ik je naar sshfs -h, maar een paar die ikzelf gebruik wil ik je niet onthouden:

  • ping_diskarb: geef de Finder een seintje (iets specifieker, de Disk Arbitrator) dat er een nieuwe schijf is
  • volname=XXX: altijd handig om de mount ook een naam te geven, anders komt-ie als "Fuse Volume n" tevoorschijn (n is dan een oplopend nummer).
  • idmap=user: eigenlijk de belangrijkste van het stel. Dit zorgt ervoor dat de bestanden van Noë (in mijn voorbeeld, dat is) worden gezien als bestanden van mij. Als dat niet zo zou zijn, zou ik er wellicht alsnog niet in kunnen schrijven, en dat was nou net de bedoeling...

Zoals ik al zei, met sshfs -h krijg je nog veel meer te zien. Bij voorkeur lokaal testen op een nieuwe account, zodat ALS je iets verneukt, dat niet al te verstrekkende gevolgen heeft.

Wijze woorden ter afsluiting

Amit heeft de Mac-gebruikers een fantastische mogelijkheid gegeven op netwerkgebied, en Google is zo vriendelijk geweest om dat allemaal gratis ende voor niets aan te laten bieden. Er valt nog genoeg aan te sleutelen: de documentatie is nog wat summier, en voor mensen die niet zo thuis zijn in een UNIX-shell is het ook niet allemaal even voor de hand liggend. Bovendien is het MIJ nog niet gelukt om FTPfs aan de gang te krijgen, dus kan ik alleen verbinding maken met SFTP-servers. Voor mij is dat nu even genoeg, maar FTP zou zeker een hele graag-geziene toevoeging zijn.

Ik heb er alle vertrouwen in dat dat wel goed gaat komen.

Veel succes met het spelen ermee! Tips, trucks en scheldkannonades kunt u zoals altijd in het reactiedinges kwijt.

Publicatie: 18 januari 2007, laatste wijziging: 14 november 2015. Max Max fuse mac os x unix google mac Permalink

Respons

Gerelateerd

Gebaseerd op tags:

  • Een paar tipjes tussendoor Ondanks dat ik het te druk heb met mijn eigen leven om een behoorlijk blogje te doen, blijf ik aan u denken... Artikel, 14 november 2007 — 14 november 2015
  • Een stukje nostalgie, met extragratis lezersvraag Cliché-alert: je eigen kinderen laten je keihard beseffen wat een ouwe lul je al bent. Artikel, 16 juli 2009 — 14 november 2015
  • De piknijd van Microsoft Waarom MicroHoo! een Web 1.0-gedachte is, en gedoemd te mislukken bovendien. Artikel, 25 mei 2008 — 14 november 2015
  • Wat gaan die gekkies in Cupertino NOU weer doen... Apple heeft nog steeds geen Hele Kleine Notebook, en dan kopen ze de firma die voor de switch naar Intel de enige weg was om op het PowerPC-platform te blijven.Zou er een verband zijn? Artikel, 23 april 2008 — 14 november 2015
  • De Grote Jaarlijkse Verzamelpost (1) 2007, deel 1 Artikel, 21 december 2007 — 14 november 2015
  • Twitteren vanuit een terminal en/of QuickSilver Makkelijker moeilijk doen... Artikel, 13 december 2007 — 14 november 2015

Vorige:

Makkelijk tussen WordPress-thema's switchen Handige tip voor mensen die met een nieuw theme voor WordPress bezig zijn! 17 januari

Volgende:

WordPress 2.1 gereleased Verdorie, zijn ze mijn nieuwe lay alsnog voor! 23 januari
  • Home
  • Over
  • Nu
  • Digitale tuin
  • Archief
↑