Wstęp do systemu GNU/Linux

Transkrypt

Wstęp do systemu GNU/Linux
Koło Naukowe PJ Linux User Group
serdecznie wita
wszystkich przybyłych
na spotkanie
Wstęp do systemu
GNU/Linux
Gdzie to się zaczęło, dlaczego warto i jak z tego skorzystać
WARSZAWA, 10 MARCA 2009
Czym się dziś będziemy zajmować
 Ewolucja systemów uniksopodobnych
 Właściwości Linuksa i różnice względem Windowsa
 Instalacja Linuksa na wirtualnej maszynie
 Pierwsze kroki w Linuksie
Ale najpierw…
Poznajmy się ;-)
Drzewo genealogiczne
Bell Labs – tutaj wszystko się zaczęło
Oddział AT&T, od 1996 znany jako Lucent Technologies
 1947: Bardeen, Shockley i Brattain -
pierwszy tranzystor, Nagroda Nobla (1956)
 1969: narodziny Uniksa (Ken Thompson i
Dennis Ritchie)
 1972: Język C (Dennis Ritchie)
 1983: Język C++ (Bjarne Stroustrup)
Mało? laser, fotokomórka, elektroniczna centrala
telefoniczna, telekomunikacja satelitarna, procesor optyczny,
stereofoniczny zapis dźwięku
…czyli wszystko, co dobre ;-)
Rozwój Uniksa
 1969 – system dla komputerów PDP firmy DEC
 1973 – przepisanie z assemblera na język C
Unix poszedł pod prąd. Mówiono wtedy:
"that something as complex as an operating system,
which must deal with time-critical events, had to be
written exclusively in assembly language”
 znaczny wzrost przenośności
PDP – pierwszy komputer z Uniksem
Rozwój Uniksa c.d.
 1976: Biblia Uniksowców: Lion’s Book
John Lions - Uniwersytet Nowej Południowej Walii
Część pierwsza zawierała pełny listing kodu 6 edycji
Uniksa
Część druga była komentarzem wiersz po wierszu do
zamieszczonego kodu. (!!!)
 furora wśród hackerów, nielegalnie kopiowana
(bardzo restrykcyjna licencja)
Rozwój Uniksa c.d.
 1982: komercyjna wersja Unix System III (bazująca
na 7-mej edycji Uniksa) powoduje powstanie
alternatywnego nurtu – BSD.
 Lata 80-te i 90-te: Unix Wars
 BSD (Net-, Open-, Free-), SunOS, Solaris, Xenix,
NextStep, HPUX, AIX, UnixWare, IRIX… AAAaaa!
Wojny Uniksowe
Tak naprawdę, to było tak:
Uniksem być – filozofia
 Small is beautiful.
 Make each program do one thing well.
 Build a prototype as soon as possible.
 Choose portability over efficiency.
 Store data in flat text files.
 Use software leverage to your advantage. (reuse)
 Use shell scripts to increase leverage and
portability.
 Avoid captive user interfaces.
 Make every program a filter. (input-output)
Art Of Unix Programming

















Rule of Modularity: Write simple parts connected by clean interfaces.
Rule of Clarity: Clarity is better than cleverness.
Rule of Composition: Design programs to be connected to other programs.
Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
Rule of Simplicity: Design for simplicity; add complexity only where you must.
Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing
else will do.
Rule of Transparency: Design for visibility to make inspection and debugging easier.
Rule of Robustness: Robustness is the child of transparency and simplicity.
Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
Rule of Least Surprise: In interface design, always do the least surprising thing.
Rule of Silence: When a program has nothing surprising to say, it should say nothing.
Rule of Repair: When you must fail, fail noisily and as soon as possible.
Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
Rule of Diversity: Distrust all claims for "one true way".
Rule of Extensibility: Design for the future, because it will be here sooner than you think.
O Uniksie powiedziano
 "Unix is simple. It just takes a genius to understand




its simplicity." – Dennis Ritchie
"UNIX was not designed to stop its users from
doing stupid things, as that would also stop them
from doing clever things." – Doug Gwyn
"Unix never says 'please'." – Rob Pike
"Unix is user-friendly. It just isn't promiscuous
about which users it's friendly with." – Steven
King
"Those who don't understand UNIX are condemned
to reinvent it, poorly." – Henry Spencer
Projekt GNU
 GNU’s Not UNIX
 27 września 1983: ogłoszenie prac nad systemem GNU
(1986 – Manifest GNU) – Richard Stallman
 m.in: GNU C Compiler, GNU Binary Utilities, GNU C
Library
 „Free software is a matter of liberty, not price. To
understand the concept, you should think of free as in free
speech, not as in free beer.”
Wolne Oprogramowanie – m.in. GPL
 The freedom to run the program, for any purpose
(freedom 0).
 The freedom to study how the program works, and
adapt it to your needs (freedom 1). Access to the source
code is a precondition for this.
 The freedom to redistribute copies so you can help
your neighbor (freedom 2).
 The freedom to improve the program, and release
your improvements (and modified versions in
general) to the public, so that the whole community
benefits (freedom 3). Access to the source code is a
precondition for this.
Wolne Oprogramowanie a Open Source
 Każde Wolne Oprogramowanie jest Open Source, ale nie
każde Open Source jest Wolnym Oprogramowaniem
 Open Source DRM? Tak, ale to nie WO!
 Open source is a development methodology; free
software is a social movement
 Neutralnie: FLOSS (Free Libre/Open Source Software)
Wszystko super, ale nie mamy jajka!
 Hurra, GNU Hurd jądrem systemu!
 … tylko, że ma mnóstwo bugów, długą listę braków i
stosunkowo niewielką liczbę developerów…
 … którzy dołączyli do pewnego pana rozwijającego
jądro podobne do Miniksa.
Jądro Linux
 17 września 1991: Linus Torvalds publikuje
pierwszą wersję Linuksa dla PC
 Wykorzystanie narzędzi GNU, aby wydać pełny
system i tak powstaje GNU/Linux
System GNU/Linux
Cechy systemu GNU/Linux
Opis
GNU/Linux
Windows
GUI
Serwer X + Window Managery
Aero
Konsola
Shell (bash, csh, sh, zsh)
SSH, IPSec
cmd, porty linuksowe,
Telnet + IPSec
Źródła
Wolne Oprogramowanie
Zamknięte
Systemy plików
Ext2, Ext3, Reiser4 i inne
FAT, NTFS
Zarządzanie
apt, emerge, yum, rpm, źródła,
oprogramowaniem repozytoria
Binarki, czasem źródła,
Citrix,
Wirusy
Znikome zagrożenie
10 sek survival na Neo
Elastyczność
Wszystko można wymienić,
dostosować
ograniczona do API
Przenośność
Systemy wbudowane, klastry,
smartphone’y
smartphone’y, PDA
Wsparcie
Komercyjne, wiele inicjatyw
oddolnych (jak np. ten LUG)
Komercyjne, programy
partnerskie (SP), ELMS
Zobaczmy to na własne oczy
Źródła i polecane linki
 Obrazki pochodzą z Wikipedii, niektóre zostały nieco uproszczone 






(http://pl.wikipedia.org)
Eseje Erica S Raymonda: http://www.catb.org/~esr/writings/
Publikacje Free Software Foundation
(http://www.gnu.org/philosophy/philosophy.pl.html)
Lion’s Book: http://www.amazon.com/Lions-Commentary-UnixJohn/dp/1573980137
Linux vs Windows – porównanie (2004):
http://www.michaelhorowitz.com/Linux.vs.Windows.html
GNU/Linux Debian – strona domowa: http://www.debian.org/
Jądro Linux: http://www.kernel.org/

Podobne dokumenty