- Emulirajte V1–V7, 32/V, klasični BSD i Research V8 sa SIMH/TME ili Dockerom, sa telnet-om i Blit-om gdje je to prikladno.
- Riješi terminal i vratite se sa TERM=vt100 i stty; koristite xclip/ed, tar na "trakama" ili bundle za prijenos.
- Naučite dozvole, uređaje, regex i alate (ed, sed, awk, vim) za lakši rad.
- Primjene u stvarnom svijetu: obuka, očuvanje, IoT i analiza naslijeđenih sistema sa verzijama 2.11BSD i BSD 4.2/4.3.
Ponovo pokrenite sisteme UNIX Pokretanje igre od prije nekoliko decenija na modernom računaru nije magija; stvar je u tome da znate koje alate koristiti i kakva očekivanja imati. U ovom članku ćete pronaći kompletan vodič s praktičnim primjerima kako to učiniti. pokretanje starijih verzija UNIX-a (V1, V5, V6, V7, 32/V, klasični BSD i Research V8) koristeći emulatore poput SIMH, TME ili čak Docker, plus dobar dio nekoliko trikovi da preživi svoje posebnosti.
Osim nostalgije, ove restauracije služe kao alat za učenje o arhitekturi sistema. programiranje i minimalističku filozofiju dizajna. Ako vodite tehnički tim, osnivate edukativnu laboratoriju ili istražujete svoj startup za očuvanje i sigurnost, evo plana: Kako započeti, kako se povezati, kako prenijeti datoteke, kako uređivati tekst i kako ne očajavati prilikom vraćanja na prethodno stanje..
Šta podrazumijevamo pod "legacy UNIX" i koja izdanja možete emulirati?
Kada govorimo o "klasičnom" UNIX-u, mislimo na izdanja iz 70-ih i 80-ih godina kompanija Bell Labs, AT&T i Berkeley, kao i na njihove istraživačke programe. To su minimalistički sistemi, neki s vrlo primitivnim ljuskama i bez modernih pogodnosti. Mnogi su radili na PDP-11 ili VAX sistemima. U modernoj emulaciji, možemo ih pokrenuti koristeći unaprijed instalirane slike i Poveži se putem telneta na port 8888 kao da smo ispred fizičkog terminala.
Među izdanjima Bell Labsa, istakla su se sljedeća: V1, V5, V6, V7 i 32/V (Potonji je bio port V7 za VAX.) V7 je bio skok ka "modernom" UNIX-u: C kao dominantni jezik, Bourneova ljuska i ključni uslužni programi poput sed, awk i tar. V6/V5 su grubi po današnjim standardima: polovina sistema u asemblerskom jeziku i značajni nedostaci u skriptiranju.
U Berkeleyu (BSD) saga je donijela poboljšanja upotrebljivosti i mreže: 3BSD, 4BSD, 4.1BSD, 4.2BSD (TCP/IP i FFS)4.3BSD i 4.3BSD-Reno (prethodnik 4.4BSD-a). Ventilatori održavaju 2.11BSD za PDP-11, pa čak i danas 4.3BSD-Quasijarus Ostaje omiljen zbog svojih mrežnih mogućnosti i klasičnog softvera poput Perla ili Emacsa.
Istraživačka linija Bell Labsa nastavila se i nakon V7 sa Istražite UNIX V8, V9 i V10sazrijevanje ideja koje bi dovele do Plana 9. V8 je posebno ugodan za korištenje, sa BSD softverom (vi, more, rogue) i podrškom za Blit grafički terminal.
| Sistem | Mašina | Godina |
|---|---|---|
| V1 | PDP-11 | 1971 |
| V5 | PDP-11 | 1974 |
| V6 | PDP-11 | 1975 |
| V7 | PDP-11 | 1979 |
| 32 / V | VAX-780 | 1979 |

Alati za emulaciju: SIMH, TME, Blit i Docker
Švicarski nožić za ove sisteme je SIMHSa svojim binarnim datotekama za VAX i PDP-11, možete učitati unaprijed instalirane slike, pokrenuti gostujući operativni sistem i pristupiti mu putem Telneta iz drugog prozora. Također možete koristiti TME za specifične slučajeve (na primjer, V9 na Sun-3 nakon instaliranja SunOS 4). Za V8 postoji Blit emulator terminala koji otključava njegovo grafičko iskustvo (multipleksere, editore poput Jim i igre poput Pac-Man demo verzije).
Ako više volite nulti stepen trenja, postoji odlična prečica: Docker kontejner sa prvo izdanje UnixaSa instaliranim Dockerom, jednostavno pokrenite javnu sliku koja pokreće simulirani PDP-11, nudeći vam Ulogovati se A unutra se krećete koristeći osnovne alate tog vremena (zaboravite Bash: nije postojao). Izlaz je samo stvar pritiskanja tipke. Ctrl+E, a zatim q na monitoru mašine.
SIMH također omogućava iskustvo za više korisnika: na mnogim slikama možete unijeti kao korijen ili gost, nema lozinkei povezati do osam istovremenih telnet klijenata. Kada je vrijeme za zaustavljanje, isključite se iz konzole na kojoj se pokreće virtuelna mašina; udaljene "bezdiskovne" sesije mogu se zatvoriti bez ceremonije.
U slučaju Research V8, nakon pokretanja sa SIMH-ovim VAX-780 emulatorom, možete pokrenuti Blit klijent komandom koja definira brzinu, boje i TCP odredište V8 servera. Promijenite postavku TERM u svom profilu ako ga koristite putem Telneta umjesto virtualnog Blita kako biste osigurali ispravan rad aplikacija na ekranu. ponašaju se kao u VT100.

Brzi početak: 4.2BSD, 4.3BSD-Quasijarus, V7 i V8
"Klasični" BSD-ovi su za početak najprilagođeniji korisnicima jer uključuju poznate uslužne programe (vi, more, apropos, head...). Da vam dam ideju: 4.2BSD Uveo je TCP/IP i Fast Filesystem, a 4.3BSD ga je dodatno usavršio. Quasijarus je fork 4.3BSD-Tahoe verzije koju entuzijasti veoma vole.
# 4.2BSD (VAX-780)
$ tar xzf 42bsd.tar.gz
$ cd 42bsd
$ less README
$ vax780 42bsd.ini
# en otra ventana
$ telnet localhost 8888
Za Quasijarus, zapamtite jedan detalj: započnite ga s binarnom datotekom. vax od SIMH-a (ne VAX780) kako bi se izbjegla iznenađenja. Sa V7 na PDP-11 Tok je sličan, mijenjaju se izvršna datoteka i INI datoteka.
# V7 (PDP-11)
$ tar xzf v7.tar.gz
$ cd v7
$ less README
$ pdp11 v7.ini
# en otra ventana
$ telnet localhost 8888
S istraživanjem V8 Možete ga koristiti kao tekstualni BSD ili ga oživjeti pomoću Blit terminala. Ako koristite Telnet, uredite ~/.profile i postavite TERM=vt100; ako koristite Blit, povežite klijenta na port servera i uživajte u njegovoj funkcionalnosti više ekrana.
Terminali, varijabilni TERM i drama povlačenja
Većina problema sa "čudnim ekranom" nastaje zbog dvije stvari: Neslaganje termina i razlike u tipki Backspace. Prvi problem se rješava izvozom TERM=vt100 u gostu (ili u ~/.profile za sh ili sa setenv u ~/.login ako koristite csh). U V8, profil je podrazumevano konfigurisan za Blit i preporučljivo je da ga promenite ako koristite telnet.
Što se tiče vraćanja na prethodnu verziju, očekuju se stariji UNIX sistemi. ^H (BS) kao izbrisano i oni koriste DELI (^?) Za prekid; od verzije 4.1BSD nadalje konvencija se mijenja (Backspace šalje DEL, a prekid je Ctrl-C). Ovo možete zaobići pomoću Ctrl+Backspace ili Ctrl+H, ili podešavanjem emulatora terminala: u xtermu, pomoću Ctrl+lijevi klik i "Backstrel tipke (BS/DEL)"; u Xfce terminalu, Kompatibilnost → Control-H za Backspace; GNOME/MATE/KDE imaju slične panele.
Čuvajte se modernih "vintage" terminala (kao što su 9. termin o cool-retro-terminU novijim BSD sistemima, moguće je da slučajno ukucate ^H. Komanda "stty erase '^H'" u gostu obično rješava ovaj problem. U Planu 9, situacija je suprotna: ^H je standard za brisanje, a ^? za prekidanje, što savršeno funkcioniše za starije UNIX sisteme, ali zahtijeva prilagođavanje komande za brisanje u novijim BSD sistemima.
Praktični načini za premještanje datoteka između hosta i gosta
Postoje tri univerzalne strategije: kopiraj/zalijepi tekst, koristite "trake" sa tar (ili dd) i metodom bundle (upakirano u ljusci/ed). Svaki se ističe u drugačijem kontekstu i izbjegava upadanje u komplicirane mrežne mostove koji Ukupno Gotovo nikad ne trebaš.
Kopiraj i zalijepi sa ed: najbrže
Da biste proslijedili tekst sa svog hosta, koristite međuspremnik (na primjer, xclip) i u gostujućem programu otvorite ed: “ed file; a; Paste; .; w; q”. Obratite pažnju na Razlike između UTF-8 i ANSI Prilikom lijepljenja teksta, izbjegavajte korištenje specijalnih znakova. Da biste ga vratili, označite ga u telnet sesiji i zalijepite ga. Nespretno je, ali za skripte, kod ili kratku dokumentaciju, trenutno je.
Tar na "trakama" sa SIMH-om: blokiranje/deblokiranje
Na sistemima koji koriste tar (V7 i novije, te odgovarajuće BSD verzije), najpouzdanija metoda je priprema trake na hostu u V7 formatu i "zaključavanje" streama. enblock.c y deblock.cI u SIMH INI datoteci, prikačite traku na ispravan uređaj (ts0 na BSD-u, tm0 na AT&T UNIX-u). Unutar gosta, koristite "tar tv0" za listanje, "tar xv0" za raspakiranje i "tar cv0" za pisanje na traku. Po povratku na host, koristite "deblock <.enb>.tar" za raspakiranje. U V6 i ranijim verzijamaNema tar-a: morate koristiti dd sa /dev/rmt0 ili stari tp sa V7 kao posrednika.
# Host
$ tar --format=v7 -cf files.tar *
$ enblock < files.tar > files.enb
# INI de SIMH (ejemplos)
# BSD:
att ts0 files.enb
# AT&T UNIX:
att tm0 files.enb
# Invitado
$ tar tv0
$ tar xv0
$ tar cv0 *
# Host
$ deblock < files.enb > files.tar
$ tar --format=v7 -tf files.tar
Upozorenja: Ne očekujte da će ovo funkcionirati za sve (npr. BSD < 4.2(V8 ili 32/V ne odgovaraju dobro). Za V6/V5/V1, dd i kopiranje/lijepljenje će biti lakše. "Prevlačenje preko mreže" je primamljivo, ali FTP ima smisla samo na 4.2BSD, 4.3BSD i sličnim sistemima.
Metoda paketa: pakovanje datoteka kao skripte
Klasična knjiga „UNIX programsko okruženje“: bundle spaja datoteke sa zaglavljima/repovima tako da kada skripta Oni se ponovo grade. Kopirate jedan blok, zalijepite ga u gosta i koristite "sh". Da biste preuzeli sadržaj iz gosta, otvorite sesiju sa skriptaIspisuje paket, zatvara i izdvaja TypeScript blok (koristeći `ed` ili `sed`). Brz je, robustan i Ne zavisi od katrana ili traka.
Ako vaš sistem nema Bourneovu školjku (ili je želite u V6/V5), konvertujte paket u ed scenarij Pomoću alata poput "edbundle", i to je to: zalijepite, pokrenete ed na paketu i datoteke se pojavljuju tačno onakve kakve jesu. Za V1, kojoj čak nedostaje cijevi ili grep, morate prekinuti automatizaciju, ali možete napredovati generiranjem "files.ed" datoteke koja akumulira blokove pomoću echo >>.
Umrežavanje u naslijeđenim sistemima: da li vam je zaista potrebno?
SIMH može otkriti portove, omogućavajući vam povezivanje putem Telneta s bilo kojeg uređaja koji dozvoljava zaštitni zid hosta. Osim toga, obično je potrebno postaviti mrežne mostove kako bi se gostu omogućio pristup internetu. doprinose malojedini koji imaju aplikacije Najkorisnije mrežne verzije su novije BSD serije (4.2/4.3), a obično je dovoljan i FTP (ako baš insistirate).
Također imajte na umu da ne dozvoljavaju sve slike pristup eksternim telnet klijentima: 4.3BSD‑Reno, 4BSD, SysIII, SysVR1 i V5 Obično odbijaju. U suprotnom, sa dvije ili tri povezane sesije, možete koristiti poštu i pisati za "ćaskanje" kao u stara vremena.
Udobno čitajte historijski izvorni kod
Mnoge slike uključuju izvorno stablo. Uprkos tome, čitanje s hosta pomoću rekurzivnog grep-a i dobrog editora je... ljepšeA za binarne datoteke koristite stringovi za izdvajanje teksta Prije nego što pokušate da ih debugujete, postoji Git repozitorij koji organizuje decenije UNIX-a: možete klonirati, promijeniti u "Research-V5", pretraživati cat.cy, pa čak i pokrenuti cloc za mjerenje veličina. Idealno za proučavanje stila, sistemskih poziva i evolucije kernela.
SIMH u Planu 9 (9front): V8 i Blit u dva klika
Ako koristite 9front, SIMH binarne datoteke i Blit emulator su već zapakirani. Tipičan tijek rada je: montiranje datotečnog servera, izdvajanje simh.tgz, kompajliranje sa plan9/build_all, kopiranje u vaš $home/bin direktorij i pokretanje VAX-780 sa V8 iz terminala. vtPostavite terminal na "raw" dok gostujući UNIX radi kako se Ctrl-D i Delete ne bi presreli u Planu 9, i vratite se na "cooked" prilikom zaustavljanja VM-a.
Za povezivanje Blit-a: “games/blit -b 19200 -C 000000,00ff00 -t tcp!mymachine!8888”. Imajte na umu da Plan 9 koristi ^H za brisanje i ^? za prekid po defaultu; u novijim BSD-ovima, podesite “stty erase '^H'”. I, u vt terminalu, export TERM=vt100.
Kratak pregled ed-a (vaš jedini urednik u mnogim slučajevima)
U gotovo svim UNIX sistemima prije BSD-a, dostupni editor je edNije ugodno ako dolazite iz GUI-a, ali radi. Otvorite datoteku, "a" za dodavanje, "." za kraj unosa, "1,$p" za ispis, "s///" za zamjenu, "t." za dupliciranje, "m" za pomicanje redova, "w" za spremanje, "q" za izlaz. Mnogo je više kao sed nego vizualni editor.
Ključni savjet: Napišite jednu rečenicu po redu i prepustite formatiranje alatima poput fmt o troffPremještanje riječi u ručno formatiranom paragrafu je besmisleno. Organizirajte svoje bilješke u direktorije s kratkim datotekama (ch01, ch02, ...) kako biste ih povezali s naredbom `cat` kada je to potrebno.
AT&T System III/V, licence i kontekst
Nakon V7, AT&T je plasirao na tržište UNIX sa Sistem III a zatim Sistem V (SVR1…SVR4). To je konzervativno stablo koje je na kraju apsorbiralo BSD poboljšanja u SVR4. Nažalost, pokretanje "modernih" AT&T izdanja danas se sukobljava sa ograničenja licenceiako su dva najstarija već dostupna javnosti.
U ranom SysV-u, izgled podsjeća na V7 (brz i fluidan, ali s ed-om kao editorom koji podržava svakodnevnu upotrebu - u nekim slučajevima sam ga vidio, ali ne radi). Što se tiče licenci, ono što ćete vidjeti u ovom ekosistemu koegzistira... GPLv3, BSD‑3‑klauzula i Caldera prema projektima, sa uslovima za otvaranje derivata.
Zašto je to zanimljivo osnivačima i tehničkim timovima
Emulacija klasičnog UNIX-a u 2025. godini pomaže nam da iz prve ruke shvatimo, prenosivost, minimalistički dizajn i procesiTo je zlatni rudnik za edtech proizvode, konsultacije o naslijeđenim sistemima, digitalno očuvanje ili cybersecurity edukativno. Također vraća ultralake sisteme poput 2.11BSD na mapu, korisne za hardver vrlo ograničeno i stoga zanimljivo za IoT.
Jedna stvar koja uvijek iznenađuje: PDP-11 će ostati operativan u nekim industrijskim okruženjima godinama, a 2.11BSD se održava upravo zato što je jedan od rijetkih praktičnih i "umreženih" operativnih sistema koje tamo možete instalirati. Istražite ove dijelove Nudi perspektivu i stvarne mogućnosti.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.
