AnIntroductiontotheBerkeleyNetwork EricSchmidt ComputerScienceDivision DepartmentofElectricalEngineeringandComputerScience UniversityofCalifornia,Berkeley Berkeley,California94720 May1979 (revisedMarch1980) ABSTRACT ThisdocumentdescribestheuseofanetworkbetweenanumberofUNIX◯r machinesontheBerkeleycampus.Thisnetworkcanexecutecommandsonother machines,includingfiletransfers,sendingandreceivingmail,remoteprinting, andshell-scripts. Thenetworkoperatesinabatch-requestmode.Networkrequestsare queuedupatthesourceandsentinshortest-firstordertothedestination machine.Todothis,therequestsareforwardedthroughanetworkofinterconnectedmachinesuntiltheyarriveattheirdestinationwheretheyareexecuted. Thetimethisrequiresdependsonsystemload,inter-machinetransferspeed,and quantityofdatabeingsent. ThenetworkenforcesnormalUNIXsecurityanddemandsaremoteaccount withapasswordformostcommands.Informationcanbereturnedtotheuserin files,forlaterprocessing,orontheterminalforimmediateviewing. Introduction AnetworkbetweenanumberofUNIXmachinesontheBerkeleycampushasbeenimplemented.Thisdocumentisabriefintroductiontotheuseofthisnetwork.Informationwhichis specifictothelocalnetworkhasbeengatheredintoAppendixA.Thenewusershouldreadboth thisintroductionandAppendixAinordertolearntousethenetworkeffectively. Thisdocumentissubdividedintothefollowingsections: UseoftheNetwork 1)CopyingFilesovertheNetwork 2)ListingRequestsintheNetworkQueue 3)RemovingRequestsfromtheNetworkQueue 4)SendingMailovertheNetwork 5)ReadingMailovertheNetwork 6)UsingtheLineprinterovertheNetwork 7)NetPrototypeCommand SettingDefaults HowtoSpecifyRemotePasswords AppendixA:TheNetworkatBerkeley AppendixB:GettingStarted—AnExample -2-Thismanualiswrittenintermsofthreemythicalmachines,namedX,Y,andZ.Specific namesatBerkeleyareinAppendixA,alongwithmorelocalinformation. UseoftheNetwork Thenetworkprovidesfacilitiesforissuingacommandononemachine(thelocalmachine) whichistobeexecutedonanother(theremotemachine).Networkcommandsareavailableto transferfilesfromonemachinetoanother,tosendmailtoauseronaremotemachine,toretrieve one’smailfromaremoteaccount,ortoprintafileonaremotelineprinter.Thesecommandsare describedbelow,asisthemoregeneralnetcommandwhichallowsuserstospecifythenameof somecommandorshellscripttobeexecutedonaremotemachine.Networkrequestsarequeued onthelocalmachineandsenttotheremotemachine,forwardedthroughintermediatemachinesif necessary. Mostofthenetworkcommandsrequirethatyouhaveanaccountontheremotemachine.If aremoteaccountisnotneededforaparticularcommand,itwillbenotedinthefollowingdiscussion.Thefirstexampleintroducesproceduresandresponseswhichareapplicabletoallnetwork commands. 1.CopyingFilesovertheNetwork SupposethatyouhaveaccountsonboththeXandYmachinesandthatyouarepresently loggedintotheXmachine.Ifyouwanttocopyafilenamed‘file1’fromyourcurrentdirectoryon machineXtomachineY(theremotemachine),usethecommand: %netcpfile1Y:file1 Thenetwillmakeacopyof‘file1’inyourlogindirectoryontheYmachine.(The‘Y:’willnotbe partofthefilenameontheYmachine.)InordertoverifyyourpermissiontowriteintotheY account,thenetcpcommandwillpromptyouwith: Name(Y:your-name): YoushouldrespondwithyourloginnameontheYmachine,followedbyacarriage-return.Ifyou havethesameloginnameonbothmachines,justtypeacarriage-return.Nextapasswordwillbe requested: Password(Y:remote-name): Nowtypeinyourpasswordfollowedbyacarriage-return(youmusttypeitevenifyourpasswords arethesameonbothmachines).Thenetcpcommandwillmakeacopyofyour‘file1’inaqueue destinedfortheYmachine,andwillthenreturnyoutotheshell. Likewiseifyouwantedtotransferafilenamed‘scan.p’fromYtoX, %netcpY:scan.pscan.p wouldplacethatfileinyourcurrentdirectoryonX. Thenetworkwill‘‘write’’youwhenithasexecutedyourrequest(ifyouarestillloggedin), orwill‘‘mail’’youamessage(ifyouarenot).Youmayusethe−noption(describedlater)to disallowtheinterruptionandthusforcemailtobesent.Atypicalmessagemightlooklikethis: MessagefromY:your-nameattime... (command:netcpfile1Y:file1,R:0,sentApril118:03,took10min3sec) ------- Themessageincludesthecurrenttime,thetimeyousentthecommandonmachineX,andthe exitcodeofthecommand(zeronormallymeanssuccess). Thenetworkresponsewilltellyouifitwasunabletoexecutetheremotecommandsuccessfullybyreturninganerrormessagesometimelater.If,forexample,youtypethewrong -3-password,youwillgettheresponse MessagefromY:your-nameattime... (command:netcpfile1Y:file1,sentApril118:03,took10min3sec) Error:badlogin/passwordyour-name ------ ThenetcpcommandisactuallyageneralizationoftheUNIXcpcommand,similartouucp†. Itssyntaxis: netcp[−llogin][−ppassword][−n][−q][−f]fromfiletofile wherefromfileandtofilecanbelocalorremotefiles.Afilenamewhichisnotafullpathnameis eitherfromthecurrentdirectoryonthelocalmachineoryourlogindirectoryontheremote machine.The−land−poptionsmaybeusedtospecifyyourremoteloginnameandpassword onthecommandline.Ifthepasswordcontainsshellmeta-characters,itmustbeinquotes. (Theseoptionsareusefulinshellscripts,butbesuretomaketheshellscriptreadableonlyby yourselfifyou’vegotpasswordsinit!)The−noptionforcesanyresponsesfromtheremote machinetobemailedratherthanwrittentoyou.The−foptionforcespromptingforaremote usernameandpassword,eveniftheyaresetbyotheroptionsorareinthe‘‘.netrc’’file(see‘‘SettingDefaults’’below).Finally,the−qoptionpreventsanyconfirmationmessagesfrombeingsent backtoyou,iftherewerenoerrors,theexitcodeofthecommandiszero,andthecommandhad nooutput. Transferredfilesmayormaynothavethecorrectfileprotectionmode;usethechmod(I) commandtoresetit.Whenfilesaretobebroughtfromaremotemachine,theyarecreatedzerolengthatthetimethecommandisissued;whentheyarrive,theyassumetheirtruelength. Unlikecp,netcpdoesnotallowthetofiletobesimplifiedtoadirectory,ifthefileshavethesame name. Examples: %netcpfile1Y:file1copy‘file1’fromthecurrentdirectorytoY %netcpY:file1file1copy‘file1’fromYtothecurrentdirectory %netcpZ:file1Z:file2cpcommandonremotemachine %netcpX:lex.cY:lex.ccopyfromXtoY %netcpY:subdir/file1file1copyfromasub-directory %netcpfile1file2anerror—usethecpcommand 2.ListingRequestsintheNetworkQueue Toseewhereyourcommandisinthequeue,type %netq Atypicaloutputofwhichlookslike: FromToLenCodeTimeCommand X:your-nameY:remote-name100b99999Mar2318:05netcpfile1Y:file1 Theformatissimilartothatofthelpqcommand.Thefilesaresentoneatatime,intheorder listed.Ifnetqtellsyouthequeueisempty,yourrequesthasbeensentalready.Thequeuesfor differentdestinationsaretotallyseparate. %netqY willlistjustthequeuedestinedfortheYmachine.Netqsummarizesrequestsfromotherusers. Thecommand †SeetheUNIXProgrammersManual(Version7only).

-4- %netq−a willprinttherequestsfromallusers. 3.RemovingRequestsfromtheNetworkQueue Ifyouwanttocancelyournetrequest,and‘‘b99999’’(seethenetqexampleabove)isyour ‘‘Code,’’usethecommand %netrmb99999 whichwillremovetherequest(ifithasn’talreadybeensent).Furthermore, %netrm− willremoveallyournetrequestsinthequeuesonthelocalmachine(youmusthavemadethe requestinordertoremoveit). 4.SendingMailovertheNetwork Tosendmailtoremotemachines,usethemailcommandwiththeremoteaccountprefixed bythedestinationmachine’snameanda‘:’.‘‘Y:schmidt’’,forexample,referstoanaccount ‘‘schmidt’’ontheYmachine.Thefullsequenceisillustratedbelow: %mailY:schmidt {yourmessagetouser‘‘schmidt’’} {control-d} Thiswillsendtouser‘‘schmidt’’ontheYmachinethetextyoutypein.Aswithintra-machine mail,themessageisterminatedbyacontrol-d. Youdonotneedanaccountonaremotemachinetosendmailtoauserthere. 5.ReadingMailovertheNetwork Itisalsopossibletoreadyourmailonremotemachines.FromtheXmachine,thecommand %netmailY sendsacommandtotheYmachinetotakeanymailyoumayhaveandmailitbacktoyou.Asa precaution,themailontheremotemachine(Yinthisexample)isappendedtothefile‘‘mbox’’. Netmailhas−l,−p,−nand−foptionsjustlikenetcp.Ifamachineisnotspecified,thedefault machine†isused.Ifthe−qoptionisspecified(likenetcp)nomessageissentbackifthereisno mail. Netmailalsotakesa−coption: %netmail−cY:username whichturnsthecommandintoa‘‘mailcheck’’command.Amessageissentbacktellingtheuser whetherthespecifiedusernamehasmail.Nopasswordisrequired.Asabove,the−qoptionsuppressesthemessageifthereisnomail.ThiscommandwasdesignedtobeputinCshell‘‘.login’’ files. †(see‘‘SettingDefaults’’below)

-5-6.UsingtheLineprinterovertheNetwork Remotelineprinterscanbeusedwiththenetlprcommand: netlpr[−mmachine][−ccommand]file1file2...filen whichsendsthefilesitsargumentsrepresenttothelineprinteronmachine.Itwillpromptyoufor anaccountandpassword.The−l,−p,−nand−foptionsmaybesupplied,asinthenetcpcommand.Ifthe−coptionisspecified,adifferentprintingcommand(defaultis‘‘lpr’’)canbespecified;seeAppendixAforthelistofprintersallowed.Copiesofthefilesarenotmadeinthe remoteaccount. 7.NetPrototypeCommand Theabovecommandsalluseinternallyonemoregeneralcommand—thenetcommand whichhasthefollowingform: net[−mmachine][−llogin][−ppassword][−rfile][−][−n][−q][−f]command Netsendsthegivencommandtoaremotemachine.Themachinemaybespecifiedeitherwith the−moptionorinthe‘‘.netrc’’file(forthespecificnames,seeAppendixA).Ifnotspecified,a defaultisused.−l,−p,−n,−qand−fareasexplainedaboveforthenetcpcommand.The−r optionindicatesthelocalfilewhichwillreceivetheoutput(thestandardoutputandstandard errorfiles)ofcommandwhenitisexecutedontheremotemachine.Bydefaultthisoutputis writtenormailedtoyou.Thus,forexample,tofindoutwhoisontheYmachinewhenyouare loggedinontheXmachine,executethefollowingcommand: %net−mY"who" whichwillrunthewhocommandontheYmachine;theresponsewillbewrittenormailedtoyou. Similarly, %net−mY−rresp"who" willtaketheoutput(result)andreturnittoyouinfile‘resp’onthelocalmachine.Ifinsteadyou wanttheresultofthewhocommandtoremainontheYmachinethecommand %net−mY"who>resp" willcreateafile‘resp’inyourlogindirectoryontheYmachine.Itisagoodideatoputthecommandinquotes,anditmustbeinquotesifI/Oredirection(<,>,orothersyntaxspecialtothe shell)isused. Ifyoudonotspecifytheremotemachineexplicitly(orinthe‘‘.netrc’’file,explainedbelow), thedefaultmachinewillbeused(seeAppendixA). The−optionindicatesthatstandardinputfromthelocalmachineistobesuppliedtothe commandexecutingremotelyasstandardinput,thusifdefaultsfortheloginnameandpassword aresetupcorrectlyasdescribedbelow, %net−mY−"mailripper" {messagetoripper} {control-d} isequivalentto %mailY:ripper {messagetoripper} {control-d} Thenetcommandalsohasotheroptionsnotdocumentedhere.SeetheUNIXProgrammer’s Manualsectionsformoredetails.

-6-SettingDefaults Insteadofrepeatedlytypingfrequently-neededoptionsforeveryinvocationofthevarious networkcommands,theusermaysupplyinhislogindirectoryafile‘‘.netrc’’,whichcontainsthe repeatedinformation.The‘‘.netrc’’fileistypicallyusedtospecifyloginnamesonremote machines,aswellasotheroptions.Anexampleofsuchafileisgivenbelow: defaultY machineY,logindracula machineZlogindracula,quietyes ThisexamplesetsthedefaultmachinetoYsothatfornetcommandswherearemotemachineis notexplicitlyspecified,thecommandwillthenbeexecutedontheYmachine.Thesecondand thirdlinesindicatefortheYandZmachinesaloginnameof‘‘dracula’’shouldbeusedtonetwork commands,andtoassumethe‘‘quiet’’optiononallcommandsdestinedfortheZmachine.The completelistofoptionsthatmayfollowthemachineindicationis: .netrcoptionsforeachmachine OptionParameterDefaultComment loginnamelocalnameloginnameforremotemachine passwordpassword(none)passwordforremoteloginname commandcommand(none)defaultcommandtobeexecuted writeyes/noyesifpossible,writetouser forceyes/nonoalwayspromptfornameandpassword quietyes/nonolikethe−qoption Insettingupthe‘‘.netrc’’file,ifthe‘‘default’’optionispresent,itmustbethefirstlineof thefile.Theinformationforeachmachinestartswiththeword‘‘machine’’andthemachinename andcontinuesoneormorelinesuptoanothermachineindication(ortheendofthefile).Inputis free-format.Multiplespaces,tabs,newlines,andcommasserveasseparatorsbetweenwords. Doublequotes(")mustsurroundpasswordswithblanksorspecialcharactersinthem. HowtoSpecifyRemotePasswords Forthecommandswhichrequirethepasswordfortheaccountontheremotemachine,there areanumberofwaystospecifythepassword: 1)lettingthecommandaskyou,asinthenetcpexampleinSection1, 2)specifyingitwithanalias(ifusingtheCshell), 3)puttingitintothecurrentenvironmentifthelocalmachineisrunningUNIXVersion7, 4)specifyingitonthecommandlinewiththe−poption, 5)storingitinthe‘‘.netrc’’file,describedintheprevioussection. Thesecanberankedinorderofsecurity,from1=greatestsecurityto5=lowestsecurity, fromthepointofviewofsecurityofpasswordsfromunauthorizedusebyotherusersandpossibly anillicitsuper-user.Eachisdescribedinturn: 1)Ifyoumakenoefforttospecifytheremotepasswordelsewhere,thenetworkcommandswill promptyouwith: Password(mach:username): Typeyourpassword,followedbyacarriagereturn.Thisisthemostsecuremodeofspecifyingpasswords.Ifthenetcommandisexecutedinthebackground(i.e.with‘‘&’’)thenthe commandcan’treadthepasswordfromyourterminalandoneofoptions2-5belowmustbe used.

-7-2)ThealiasfeatureoftheCshellcanbeusedtospecifytheremotepassword.Thecommand %aliasnetcpnetcp−lgodzilla−p$pass inthe‘‘.cshrc’’file,followedby %setpath=your-passwd rightbeforeusingthenetworkwillsetforsubsequentnetcpcommandstheloginname ‘‘godzilla’’andpassword‘‘passwd’’.Thisaliascommandmustbegiveneverytimeyoulogin (seetheUNIXProgrammersManualsectionfortheCshell(csh(1))formoreinformation aboutalias.Donotputthisaliascommandinyour‘‘.login’’file. 3)IfrunningonaVersion7UNIXsystem,thepasswordcanbeputinthecurrentenvironment. Thecommand(totheCshell) %setenvMACHmch` netlogin−mmch` or(tothedefaultVersion7‘‘Bourne’’shell) %MACHmch=` netlogin−mmch` %exportMACHmch willpromptyouforaloginnameandpasswordfortheremotemachinemchandputan encryptedcopyofthepasswordinyourenvironment.(Notetheback-quotestotheshell.) Subsequentnetworkcommandswillfinditinyourenvironmentandnotpromptyouforit. Theseencryptedpasswordsareinvalidatedaftertheuserlogsout.Type‘‘mannetlogin’’for moreinformationonthenetlogincommand. 4)Eachnetcommandtakesa−poptiononthecommandlinetospecifythepassword.These areusuallyputinshellcommandscripts.Theseshellscriptfilesshouldhavefilemode0600 −usethechmod(I)commandtosetthemode. 5)Theremotepasswordcanbespecifiedintheuser’s‘‘.netrc’’file.Ifpasswordsarepresent, the‘‘.netrc’’filemusthavemode0600(asin#4above). Thesystemmanagersrecommendoptions1-3andwarnagainst4and5.Shouldsomeonebreak intoyouraccountononemachine,andyouuseoption4or5,youwillhavetochangeyourpasswordsonallnetmachinesforwhichyourpasswordshavebeenstoredinshellscriptfilesorinthe ‘‘.netrc’’file. LogFile Thefile‘‘/usr/spool/berknet/logfile’’hasarecordofthemostrecentrequestsandresponses, eachlineofwhichisdated.Linesindicating‘‘sent’’showthefilenamesent;linesindicating‘‘rcv’’ showcommandsexecutedonthelocalmachine(C:),theirreturncode(R:),andtheiroriginator. Forexample,ontheYmachine,thelogfile: Feb2810:29:rcvX:neil(neil)R:0C:netcpdesignY:design Feb2810:43:senttucktoZ(z00466,136bytes,wait2min3sec) Feb2811:05:rcvX:bill(bill)R:0C:netcpstructuresY:structures showsthreeentries.Inthisexample,therearetwonetcpcommandssendingfilesfromtheX machinetoY,eachfromadifferentuser.Thesecondcommandsentwasoriginatedhereby ‘‘tuck’’andis136byteslong;thecommandthatwassentisnotshown.Thecommand %netlog willprintthelastfewlinesofthisfile.Itsprototypeis netlog−num wherenumisanintegerwillprintthelastnumlinesfromthefile.

-8-Acknowledgements SpecialthanksgotoBobFabry,BillJoy,VanceVaughan,EdGould,RobynAllsman,Bob Kridle,JeffSchriebman,KirkThegeandRickiBlauofBerkeley,andDaveBoggsofXEROXPARC fortheirhelpinmakingthisnetworkpossible.

-9-AppendixA TheNetworkatBerkeley 1.TheConfiguration(March1,1980) TheCurrentStateoftheBerkeleyUNIXNetwork MachineInternalRunDefaultOther NameNameByMachineName(s) AAComputerCenterC BBComputerCenterD CCComputerCenterA DDComputerCenterC EEComputerCenterC Ing70IINGRESGroupIngVAXIngres IngVAXJINGRESGroupIng70 ImageMSakrisonESVAX ESVAXOEE-CEResearchCSVAX SRCSSurveyRes.Cent.D CSVAXVCSResearchCory CoryYEECSDept.CSVAX EECS40ZEECSDept.ESVAX Ifapathexistsfromthelocalmachinetotherequestedremotemachine,thenetworkwillforward therequesttothecorrectmachine.ThusCoryusersmaycommunicatewithalltheother machinesonthenetworkaswellasCandCSVAX(withadegradationinspeedbecauseofthe intermediatemachine(s)).ThelinksbetweenIng70−IngVAX,Ing70−CSVAX,A−C,C−D,C−E, andB−Drunat9600Baud,theotherlinksrunat1200Baud. 2.Documentation Thenetworkcommands(net,netq,netrm,netlog,netcp,netmail,netlpr,netlogin)areall documentedintheUNIXProgrammersManual.Forexample, -10- %mannetq willprintthenetqmanualsection. Therearetwomoredocumentsavailable: NetworkSystemManual BerkeleyNetworkRetrospective TheManualisintendedforthesystemsstaffwhowillmaintainthenetwork.TheRetrospectiveis myMaster’sreportanddetailsthehistoryoftheproject,discussesthedesign,andlistsfuture plans. Thereisanup-to-datenewsfile: %newsnet or %helpnet or %cat/usr/net/news{ifthosefail} whichprintsnewsaboutthenetwork,datedandwiththemostrecentnewsfirst. TheUNIXProgrammer’sManual,sectionI,hasinformationonthechmod,cp,mail,who, andwritecommandsmentionedinthetext.Also,thehelpcommandhasinformationaboutfile protections: %newsaccess{ontheCorymachine} or %helppermissions{ontheCCmachines} 3.FeaturesatBerkeley a)Thereisabuilt-incharacterlimitof100,000characterspersingletransmission,whichcan-notbeoverridden.Thelimitis500,000charactersbetweentheINGRESmachines.Longer filesmustbesplitintosmalleronesinordertobesent. b)The1200Baudlinksbetweenmachinesseldomtransmitanyfasterthan50charactersper second(for9600Baudlinks,350charactersasecond),andcanslowtoafractionofthatin peaksystemloadingperiods.Thisisduetoanexpansionofthedatapacketstoaccomodate aseven-bitdatapath,wakeuptimeonthemachines,andthepacketsentinacknowledge-ment.Heavyfiletransferisfasterbymagnetictape. c)OntheCSVAX,IngVAX,andESVAXthenetcommandsareallin‘/usr/ucb’.Yoursearch pathontheseVAX’sshouldbesettoincludethedirectory‘/usr/ucb’;otherwiseyouwill havetoprefixallnetcommandsby‘/usr/ucb’,asin‘/usr/ucb/netcp’. d)LimitedFreeCommands Userswhodonothaveaccountsonremotemachinesmaystillexecutecertaincommandsbygivingaremoteloginnameof‘‘network’’,andnoremotepassword.Thecommandscurrentlyallowedare: bpq netlogrcs vpq whom epq netqrcslogw write finger psrcsqwhere yank lpq pstattrq who The lpr commandisallowedontheINGRESmachine. Also, -11-mail toremotemachinesand netlpr betweenComputerCentermachinesdonotrequirearemoteaccount. TheEECS40machineallowsnofreecommands(butallowsthesendingofmail). Forexample,toexecutean lpq commandontheAmachine,theuserwouldtype: e) Ifnomachinenamespecificationisinthefrontofafullpathname, thefirstfourcharactersarecheckedandthemachine isinferredfromthatifpossible. Inthecommand thesecondfilenameisequivalentto‘‘C:file1’’,ifyouare‘‘schmidt’’ ontheCmachine. f)Thenetworkcanonlysendfilesinonedirectionatatime.

Thusconfirmationscanslowdownheavyfiletransfer. Ifyouregularlyuseashellscripttotransferasetoffiles,the −q optionto netcp willimprovetransfertime. g)Thenetworkcreatesaheavyloadonthesystemandthusisexpensiveto run.Ifgeneraluserthroughputisadverselyaffected,achargewillbe implementedontheComputerCentermachines. h)Whentransferringfiles,quotaoverflowwillresultinapartialcopy, soyoushouldcheckthespacerequirementsofthefilebeingsent. i)TheComputerCenter‘‘A’’machine’sphototypesetterisusablefromother networkmachines. IfononeoftheB-Emachines,youdonotneedanaccountontheAmachine. Yousimplytype insteadofthenormal Thetroffcommandisexecutedonthelocalmachineandthephototypesetter instructionsaresenttotheAmachine. Youwillbesentmailbothwhenthefileisqueuedandwhenitisfinally typeset. Toseeyourplaceinthe troff queue,type: onanyComputerCentermachine.

Thereisacommand (where code isthecodefromthe trq command) toremovequeuefilesbeforetheyhavebeentypeset. Trrm mustbeexecutedonthesamemachinefromwhichthejobwassubmitted. Ifyouareonanon-ComputerCentermachine,youmayusethe nettroff command: whichissimilartothe‘‘troff−Q’’commandearlier.

YouwillneedanaccountontheAmachineandthe trrm commanddoesn’tworkfromanon-ComputerCentermachine. Ifusing nettroff, nomorethan15pagesmaybesenttothetypesetter. Ifusing troff morethan15pagesmaybesentonlyifthe −s optionisspecified(seetroff(1)formoreinformation). Thenetworkwillnottransferanyfilelongerthan -12-100,000characterstotheAmachine. (Itisbesttoaimforfilesof25,000charactersorless)†. troff’s output,nottheuser’ssourcefiles. Itisourgeneralexperiencethat troff outputsroughlytwiceasmanycharactersasareinthesourcefile (beforeany eqn or tbl preprocessing.) Formoreinformation,type or mannettroff{ontheothermachines} The nettroff commandisnotsupportedbytheComputerCenter. j)The netlpr commandallows‘‘epr’’,‘‘bpr’’,and‘‘vpr’’asalternatelineprinters (usingthe−coption). 4.BugsinsystemsatBerkeley(AsofMarch1,1980) a)IfyouareontheComputerCentermachines usingobsoleteshells(/usr/pascal/sh,/usr/pascal/nsh) andhavea‘‘.profile’’or‘‘.shrc’’filetochangeyour shellprompt,youmustmakesurethatyoudon’tturnon‘‘prompting’’ fornon-interactiveshells. Thiswillinterferewiththenetcommands. Youshouldusethisshellcommandtochangeyourprompt: where‘‘P’’isthepromptdesired.

Thiswillavoidtheproblem. Ifyousetthevariable time intheCshell,extraneoustimestampsmayappearinresponsemessages. Thecorrectwaytosetthevariable time intheCshellis settime=num endif where num isthetimeintervalinseconds. b)Thefilemodeshouldbepreservedby netcp anditshouldbepossibletodefaultthesecondfilenametoadirectory asincp(I). c)Variousresponsemessagesarelost.

Thisincludes‘‘fetching’’fileswhenthefilebeingretrievedneverarrives. Isuspectthishassomethingtodowithunreliabledeliveryoferrormessages, butthisisnotreliablyreproducible. d)Thenetworkmakesnoprovisionforerrorsintransitonintermediate machines,suchas‘‘Nomoreprocesses’’or‘‘FileSystemOverflow’’. Whiletheseoccuronlyrarely,whentheydo,nomessageor notificationissenttoanyone. e)Thenetworkcommandsaretooslowonheavily-loadedinstructionalmachines.

The net commandhastoreadthepasswordfile,‘‘.netrc’’fileandthe ‘‘/etc/utmp’’file. f)Thequeuefilesarenormallysentshortest-jobfirst.

Unfortunately,underheavyloadingthequeue-searchbecomes tooexpensiveandthenetworkwillchoosethenextfile tosendfromthefirst35queueentriesitfindsinthequeuedirectory, sotheusershouldnotdependontherequestsbeingsentshortest-first.

-13-g)Commentsandbugdiscoveriesareencouragedandcanbesentby localorremotemailto‘‘csvax:schmidt’’. AppendixB GettingStarted—AnExample Thebestwaytostartoutistofollowthisexample.

Supposeyou’reaCoryuser,andyouhaveaccountsontheAandCSVAXmachines. 1)Addafile‘‘.netrc’’(mode600)toyourlogindirectory,asin thefollowingexample: machineAloginyourNameOnA machineCSVAXloginyourNameOnCSVax (If‘‘default’’occurs,itmustbethefirstlineofthefile.) 2)Makesurethat a)ifyouareononeoftheVAX’s,youhaveinyoursearchpath thedirectory‘/usr/ucb’. Otherwise,onthosemachinesyouwillhavetoprefixallcommandsby‘/usr/ucb/’ (e.g.‘/usr/ucb/netcp’). b)ontheComputerCentermachines,ifyouchoosetosetyourshellprompt, youhavedonesocorrectly(detailsinAppendixA). 3)Thentype %netq whichwillsenda w commandtotheCSVAX;someundeterminedtimelateryouwill havewritten(ormailed)toyoutheoutputfromthecommand executedontheCSVAXmachine. Theadventuresomemaytry: withtheeffectofbeingroutedmoreslowlythroughanintermediatelinkinthe net.