![]() ![]() |
Amigan ja PC:n verkottaminen Samballa |
Jani Kuituniemi <jani.kuituniemi@pp.inet.fi> |
Artikkelissa kerrotaan, kuinka Samba asennetaan Amigaan ja kuinka se konfiguroidaan niin, että PC-puolelta saadaan sitten jaetut "levyasemat" näkymään.Tämä juttu neuvoo myös kuinka Windowsilta jaetut levyasemat saadaan näkymään Amigalla. Lisäksi tarkoituksena oli käsitellä tulostamista Amigalta Samban läpi Windowsista jaettuun tulostimeen, mutta en saanut sitä toimimaan mitenkään järkevästi, joten siitä ehkä juttua tuonnempana. |
|
||||||||||||||||||||||||||||||
Samba on tyypillinen UNIX-ohjelma, eli Amiga-tyylistä asennusohjelmaa ei siinä ole. Ei kuitenkaan syytä huoleen, sillä asennus on varsin yksinkertaista mutta tarkkaa puuhaa. Nyt itse asiaan: seuraa tarvittavat komennot, muuttanet ne sopiviksi juuri sinulle. Kopioi Samba-paketti johonkin sopivaan väliaikaiseen hakemistoon ja anna seuraavat komennot:
1. lha x samba_2.0.7.lha 2. makedir work:samba 3. copy install/ work:samba all clone ...tämän jälkeen lisätään pari riviä jo tutuksi tulleeseen User-Startup-tiedostoon S:-hakemistossa. Nämä rivit ovat: Assign Samba: Work:Samba Path Samba:bin add Ellei virheitä tullut, on Samban asennus tätä myöten selvä. Samban konfigurointi onkin sitten jo huomattavasti hankalampi ja isompi asia, sillä muistettavia asioita on paljon. Yritän tässä kuitenkin esittää erään oman konfiguraationi. Se ei ehkä ole aivan niitä parhaita, mutta todettu toimivaksi. Samban mukana tulee esimerkkinä asetustiedosto nimeltään smb.conf, joka sijaitsee juuri luodun Samba:-assignin takana lib/-hakemistossa. Tämä esimerkki on kuitenkin todella pitkä ja sisältää paljon asioita, joita ei tarvita. Nämä saattavat vain sekoittaa niitä, joille kaikki termit eivät ole tuttuja. Niinpä seuraava askel onkin nimetä uudelleen smb.conf-tiedosto vaikkapa conf.org-nimiseksi ja luoda uusi asetustiedosto tyhjästä seuraavan mallin mukaisesti tekstieditorillasi. Mikä tahansa ohjelma, joka tallentaa normaalia ASCII:ta, on ihan riittävä tähän. Ja nyt itse smb.conf-tiedosto, jonka jälkeen käyn sen läpi rivi riviltä: ---- # # Amiga Samba 2.0.7 Configuration File # Last Modification: 18.01.2002 # [global] workgroup = home.org server string = A4000 Samba Server load printers = no guest account = zarah log file = /Samba/log/log.%m max log size = 50 security = user socket options = TCP_NODELAY domain master = yes [Kishumirri] comment = Data:Kishumirri/ on Amiga path = /data/kishumirri writable = yes printable = no only guest = yes public = yes [CD-Drive] comment = Amiga CD-Drive path = /cd0 writable = no printable = no only guest = yes public = yes -----Samban smb.conf-tiedosto voisi olla lyhyempikin, jos haluaa olla minimalisti, mutta tässä versiossa on monta tärkeää asiaa, jotka helpottavat elämää. Kuten nopeimmat jo huomasivat, on smb.conf jaettu useaan osaan. [global] on se osa, jossa ovat kaikki varsinaiset Samban määritykset ja asetukset. [Kishumirri] ja [CD-Drive] ovat tässä tapauksessa Amigalta verkkoon jaettavia "levyasemia", joille molemmille voi asettaa erilaiset asetukset, kuten tässä esimerkissä. "workgroup = home.org" Tämä asetus kertoo nimensä mukaisesti käytettävän workgroupin nimen. Huomaa, että tämän pitää olla täsmälleen sama kuin se, jonka olet laittanut Windows-koneessa workgroupin nimeksi. "server string = A4000 Samba Server" Tämä kertoo palvelimen nimen joka näkyy, kun avaat Windowsissa verkkoympäristön (Network Neighbourhood) ja klikkaat Amigaa kuvaavaa ikonia. "load printers = no" Tässä kielletään Sambaa lataamasta tulostimia, ne eivät toimi Amigan Samba-versiossa. Jos tätä ei ole, niin saadaan virheilmoituksia. "guest account = zarah" Tämä rivi kertoo, mitä käyttäjätunnusta käytetään, mikäli mitään tunnusta ei anneta. Tämä kysyy salasanaa kyseiselle tunnukselle! "log file = /Samba/log/log.%m" Tämä kertoo, minne lokitiedostot sijoitetaan ja millä nimellä ne tallennetaan. Tässä "%m" tarkoittaa "machine name" eli jos kone nimeltään "pokemon" kopioi Samban yli jotain, se tallennetaan "log.pokemon"-nimiseksi tiedostoksi. Tällöin on helppo seurata, mitä on kopioitu miltäkin koneelta, jos tarve vaatii. Huomaa, että Samballe kerrotaan hakupolku kauttaviivojen avulla, kuten Amigassa, eikä kenoviivojen avulla kuten Windows-maailmassa. "max log size = 50" Tässä määritellään lokitiedostojen maksimikoko kilotavuissa, ennen kuin ne kopioidaan toiselle nimelle ja aloitetaan uusi loki. Huomaa, että jos verkkoliikenne on vilkasta, näitä lokitiedostoja saattaa olla hyvin nopeasti megatavuittain. "security = user" Tämä tarkoittaa, että Samba itse tarkistaa käyttäjätunnuksen ja salasanan sen koneen tiedoista, josta sitä ajetaan. Eli tässä tapauksessa kaikki käyttäjätunnukset ja salasanat joita aiot käyttää, pitää olla olemassa Miamissa tai muussa käyttämässäsi TCP/IP-pinossa. "socket options = TCP_NODELAY" Tämä nopeuttaa tiedonsiirtoa. "domain master = yes" Tämä tarkoittaa, että Samba toimii lähiverkon "browse master" -koneena. Tämä liittyy Windows-verkkoihin siinä mielessä, että jokaisessa Windows-verkossa on olemassa ns. Browse Master, joka pitää kirjaa siitä, minkänimisiä tietokoneita verkossa on ja mitä ne jakavat verkkoon. Jos Samba on määritelty kyseiseksi koneeksi, kysyvät muut koneet verkkoon tullessaan siltä nämä tiedot. Tämä voi kuitekin aiheuttaa ongelmia, jos verkon Browse Master -kone joko ei ole verkossa tai sitä käynnistellään uudestaan. Silloin verkon muut koneet eivät näe toisiaan ennen kuin kyllästyvät odottelemaan ja äänestävät keskuudestaan uuden Browse Master -koneen. Tämän siis kannattaa olla kone, jota ei kovin usein sammutella. Sitten muutama hyödyllinen rivi vielä, joita en itse käytä mutta jotka saattavat olla teille hyödyllisiä. "hosts allow = x.y.z.v" Tällä voit rajoittaa pääsyn jakoihin vain tietyille koneille. "interface = x.y.z.v" Tällä voit rajoittaa, mistä Samba ottaa vastaan palvelupyyntöjä. Tämä on käytössä minulla Linux-palvelimessa, jolla on useampi kuin yksi verkkokortti, jolloin Internetistä ei pääse jakoihin käsiksi, vain ainoastaan sisäverkon puolelta. Ja sitten jakokohtaisiin määrityksiin... "[Kishumirri]" Tämä on jaon nimi, eli nimi jolla se näkyy muille koneille. Tämä voi olla ihan mitä mieleen juolahtaa, eikä sen tarvitse liittyä mitenkään itse jakoon. "comment = Data:Kishumirri/ on Amiga" Tämä on nimensä mukaisesti kommenttirivi eli rivi joka näkyy, kun klikkaat Windowsissa verkkoympäristöä ja sieltä koneen nimeä ja sitten jakoa. "path = /data/kishumirri" Tässä itse "levyaseman" jako. Huomaa myös tässä kauttaviivat Windowsin kenoviivojen sijaan! "writable = yes" Tässä annetaan lupa kirjoittaa kyseiseen jakoon. Yleensä tämä on toivottavaa, mutta joissain tapauksissa, kuten CD-aseman jaossa, tämä on asetettu "no"-asentoon harmien välttämiseksi. "printable = no" Tämä kertoo Samballe, ettei tätä hakemistoa voi tulostaa. En tiedä onko tämä tarpeellista, mutta esimerkeissäkin se on, joten se on tässäkin. "only guest = yes" Tämä kertoo, että kaikki luodut tiedostot ovat määritellyn "guest"-tunnuksen omistamia, jolloin kuka tahansa voi tehdä niille mitä haluaa. En ole ihan varma, onko tästä hyötyä Amigan tapaisessa järjestelmässä ,jossa ei ole normaalisti tiedostojen suojausta. "public = yes" Tämä kertoo, että tämä jako on näkyvissä, riippumatta siitä onko kyseisellä käyttäjällä oikeus siihen vai ei. Kas noin, CD-aseman jakoa en käy sen kummemmin läpi, se varmasti selviää edellä mainituista asioista. Muutamia muita, kenties hyviä rivejä voisin tässä vielä mainita, ennen kuin siirrytään eteenpäin. "valid users = x y z" Tällä voit rajoittaa kyseisen jaon vain annettujen käyttäjien käyttöön. Itse en tätä nähnyt tarpeelliseksi. Nämä käyttäjät pitää totta kai löytyä Miamin käyttäjälistalta. Nyt kun Samba on konfiguroitu, on aika katsahtaa vielä itse TCP/IP-pinon konfigurointia, jotta Samba toimisi. Koska itse käytän MiamiDx:ää, ovat seuraavat ohjeet sitä varten. Jotta Samba voisi toimia, pitää sen käyttämät protokollat lisätä. Ensin valitse Miamista "database". Valitse sen jälkeen näkyviin "services" ja lisää sinne seuraavat 4 kohtaa:
ID: 137 Protocol: udp Name: netbios-dgm ID: 138 Protocol: udp Name: netbios-ssn ID: 139 Protocol: tcp Name: swat ID: 901 Protocol: tcp Jätä jokaisen kohdalla "aliases"-kohta tyhjäksi. Viimeinen kohta "swat" ei ole itse asiassa välttämätön. Se on siellä Samban web-konfigurointia varten. Samban voi konfiguroida myös WWW-selaimella asennuksen jälkeen, mutta en tiedä toimiiko tämä Amigassa. Kuitenkin se sinne laitettakoon kaiken varmuuden välttämiseksi. Tämän jälkeen ota näkyviin "InetD" ja kirjoita sinne seuraavat lisäykset:
Socket: stream Protocol: tcp Wait: nowait User: root Server: Samba:bin/smbd Name: smbd Args: Service: netbios-ns Socket: dgram Protocol: udp [Kuva: samba_02.gif] Wait: wait User: root Server: Samba:bin/nmbd Name: nmbd Args: Service: swat Socket: stream Protocol: tcp Wait: nowait User: root Server: Samba:bin/swat Name: swat Args: -a Myös tässä tuo swat on turha, ellei sitä käytä. Kun tekee näin, käynnistyy Samba ainoastaan tarvittaessa eikä siten kuluta turhaan muistia. Huono puoli on tietysti se, että sen käynnistyminen kestää pari sekuntia, joten jos jakoa klikkaa Windows-koneelta, saattaa olla ettei Amigan Samba vastaa ensimmäisellä yrityksellä, vaan voit joutua klikkaamaan uudelleen, ennen kuin Windows saa siihen yhteyden. Tämä kuitenkin harvoin aiheuttaa ongelmia, ja kun Samba on kerran käynnistetty, se jää muistiin ja vastaa sen jälkeen lähes välittömästi - riippuen tietysti Amigan tehosta. Vielä viimeinen lisäys, ja sitten ollaankin valmiita ottamaan testiyhteys Sambaan. Ota esiin "users" ja kirjoita sinne seuraavat tiedot:
User id: 101 Group id: 100 Real name: Zarah Home dir: data: Shell: cli Tämä on sitten se käyttäjätunnus, jota käytetään Samban kanssa, ja tämän pitää olla sama kuin se jolla Windowsiin kirjaudutaan sisään, jotta kaikki menisi kivuttomasti. Huomaa kuitenkin, että Windows NT -pohjaisissa järjestelmissä kuten esim. Windows 2000:ssa yhteyden voi ottaa jakoon millä tahansa tunnuksella. Salasanaksi olen itse laittanut tyhjän. Jos haluat tähän jonkin muun käyttäjätunnuksen, muista muuttaa tiedot myös muihin tarpeellisiin kohtiin smb.conf-tiedostossa! |
|
||||||||||||||||||||||||||||||
Jotta Windows voisi jutella Samban kanssa ja käyttää sen levyjakoja ja itse jakaa niitä, pitää siihen tehdä muutamia asetuksia. Ensinnäkin tarvitaan NetBEUI-protokolla, jotta se puhuisi samaa kieltä Samban kanssa. Tämän voit asentaa ottamalla oikealla hiiren nappulalla "Ominaisuudet" Verkkoympäristö-ikonista. Tämän jälkeen klikkaa "Lisää" ja valitse "Protokolla", sitten "Microsoft" ja sieltä tuo tarvittava NetBEUI.
Nyt kun kaikki asetukset on saatu kuntoon, on aika testata toimivuus. Samban mukana tulee tätä varten muutama kätevä apuohjelma. Ohjelmat löytyvät Samba:bin/-hakemistosta ja näistä kahta käytämme toimivuuden testaamiseen. Ensin ohjelma nimeltä "testparm". Tämä on ohjelma, joka käy läpi luomamme smb.conf-tiedoston ja tarkistaa, että se on jotensakin järkevä. Jos luomasi smb.conf on suunnilleen esimerkin mukainen, ei testparm-ohjelman pitäisi valittaa mistään vaan luetella normaalisti käytössä olevat jaot ja asetukset. Jos ensimmäinen testi meni läpi onnistuneesti, voidaan siirtyä seuraavaan testiin ja yrittää ottaa yhteyttä Sambaan. Jos tuo ensimmäinen testi sen sijaan ei mennyt läpi, vaan sait ruudullisen virheilmoituksia, on syytä tarkistaa luomasi smb.conf-tiedosto ja korjata virheet. Tähän tarkoitukseen Samban mukana tulee ohjelma nimeltään "smbclient". Tällä ohjelmalla teemme kaksi testiä. Ensin listaamme koneen jakamat resurssit ja toiseksi yritämme ottaa niihin yhteyden. Ensin jakojen katseleminen. Siirry samba:bin/-hakemistoon ja anna komento: smbclient -L //<koneesi_nimi> Tässä koneen nimi on se, miksi se on määritelty TCP/IP-pinossa, eli esim. omassa tapauksessani kirjoittaisin tähän "smbclient -L //apoc". Tämä kysyy sitten salasanaa, johon vastataan sillä määritellyllä "guest"-tunnuksen salasanalla. Tämän jälkeen ohjelman pitäisi listata erinäisiä tietoja jaoista, muut palvelimet ja työryhmän tiedot.
smbclient //<koneesi_nimi>/<jako>
Nyt kun on kokeiltu että Samba toimii, voidaankin seuraavaksi kokeilla sen toimivuutta Windowsin puolelta. Avaa Verkkoympäristö. Amigan pitäisi näkyä siellä, sen jälkeen klikkaa Amigaa, ja sen jakamat resurssit pitäisi tulla näkyviin ja olla käytettävissä. On kuitekin helpompaa ja kuvaavampaa, jos jonkin tietyn jaon asettaa Windowsissa verkkolevyasemaksi. Tämä tapahtuu ottamalla Verkkoympäristöstä oikealla hiiren nappulalla valikon ja valitsemalla siitä "Yhdistä verkkoasemaan...". Valitse avautuvasta ikkunasta haluamasi kirjaintunnus ja kirjoita poluksi haluamasi jako koneen nimellä varustettuna, eli "\\<koneesi_nimi>\<jako>" laita vielä ruksi kohtaan "Yhdistä uudelleen kirjautuessa" ja klikkaa OK. Nyt Amigan partitio/hakemisto näkyy tavallisena levyasemana Windowsissa. Huomaa tässä *kenoviivat* kauttaviivojen sijaan! Olisi tietysti kätevää, jos Windows-koneen jakamat tiedostot ja hakemistot saisi jotenkin kätevimmin ulottuville kuin edellä testaamisessa käytetyn smbclient-ohjelman läpi. Onneksi meillä on ahkeria ja osaavia ihmisiä Amiga-yhteisössä, ja siksi meillä on ohjelma nimeltä SMBfs. SMBfs on pieni ohjelma koneiden jakojen "mounttaamiseksi" omalle koneelle. Se on varsin yksinkertainen käyttää eikä tarvitse juuri sen kummempia ohjeita. Seuraavassa esimerkki sen käytöstä Windows-koneen jakaman "download"-nimisen hakemiston näkyviin saamiseksi Amigalla: smbfs workgroup=home.org user=guest service=//neo/download Tässä otetaan yhteys "neo"-nimiseen koneeseen työryhmässä "home.org" ja käyttäjätunnuksella "guest" ja liitetään sen "download"-jako osaksi Amigan tiedostojärjestelmää. Erityinen huomion kohde on se, ettei Amigalle tule suoraan tuon nimistä levyasemaa, vaan Amigalle ilmestyy smbfs: assign, jonka alta löytyy sitten tuo jako. Näin voidaan Windowsin jakamia levyasemia käyttää aivan kuin Amigan omia levyasemia kätevästi verkon yli. Tämä komento pitää kuitenkin antaa aina kun haluaa ottaa tuon käyttöön, joten kätevintä on varmasti sen laittaminen vaikkapa User-Startupiin, jolloin se "mountataan" aina koneen käynnistyessä. Tämä ei vaadi että Amigassa on Samba asennettu, mutta sen sijaan TCP/IP-pino pitää olla käynnissä. |
|
|
Samban nopeuteen tuntuu vaikuttavan moni asia Amigassa. Prosessorin nopeus ja käytetty tiedostojärjestelmä tuntuvat olevan suurimpia. Itselläni on käytössä FFS 512 tavun blockeilla, 060/50 MHz -prosessori ja 17 Gt:n IDE-kovalevy A4000:n omassa IDE-väylässä. Sillä nopeus tuntuu olevan noin 400 kilotavua sekunnissa. Se tuntuu hiukan hitaalta, mutta riittää useimpiin tarkoituksiin varsin mainiosti. Aika harvoin varmasti siirretään suuria määriä tavaraa koneelta toiselle. Sen lisäksi tässä suurin vaikuttava tekijä on tuo FFS-tiedostojärjestelmä ja sen 512 tavun kokoiset blockit. Paremmalla tiedostojärjestelmällä päästään varmasti huomattavasti nopeampiin siirtonopeuksiin.
Smbfs ja spooler ovat varsin pieniä, mutta Samba itsessään on aika muistirohmu. Smbd- ja nmbd-ohjelmat ovat kooltaan yhteensä puolitoista megatavua ja sen lisäksi ne vievät toimiessaan jonkin verran muistia, joten koneessa on hyvä olla riittävästi muistia. Oikeastaan Samba on toiminut minulla varsin ongelmitta jo pari vuotta. Suurimmat murheet ovat olleet aiemmin mainitun Browse Masterin puuttumisen aiheuttama koneiden "sokeus" toisilleen, sekä oikeastaan vain se ärsyttävä pieni seikka, että Windows tuntuu haluavan lukita jokaisen tiedoston, johon se koskee, eikä vapauta lukkoja lopettaessaan. Tämä aiheuttaa välillä ongelmia, eikä Amiga anna poistaa tiedostoja, vaan toteaa niiden olevan käytössä. Linkkejä: Amigan Samba-portin sivu Tiedostot: samba (Aminet, 6,4 Mt) smbfs (Aminet, 121 kt) |
![]() ![]() ![]() |