menelka wykłady o UNIX-ie
#1
Napisano 03 grudnia 2005 - 11:44
#2
Napisano 03 grudnia 2005 - 11:54
Zapraszam do lektury i zadawania pytań. Może jeszcze dzisiaj umieszczę lekcję pierwszą, bo to był oczywiście tylko mały wstępik
Wrzucaj, chętnie poczytam, wiedzy nigdy za wiele
A propos Solarisa, czy mi się wydaje, czy nie ma wersji na PPC?
Chciałem sobie sciągnąć 10 i znalazłem tylko wersje na Sparc`i i x86 :?:
#3
Napisano 03 grudnia 2005 - 11:58
#4
Napisano 03 grudnia 2005 - 12:57
#5
Napisano 03 grudnia 2005 - 14:02
#6
Napisano 03 grudnia 2005 - 14:27
#7
Napisano 03 grudnia 2005 - 14:33
#8
Napisano 03 grudnia 2005 - 17:25
Ja bym powiedział, że "większość z nich można znaleźć na wysokiej klasy komputerach, zwanych serwerami UNIXowymi".Natomiast czysty UNIX może być systemem desktopowym, lecz ,,is most commonly found on high-end computers known as UNIX workstations? (nie mam pojęcia jak to przełożyć na polski).
Komputerowe wspomaganie projektowania- CAD (computer-aided design)
Bardzo ciekawie (i obszernie ) napisane. Żądni wiedzy czekają na więcej
#9
Napisano 03 grudnia 2005 - 17:52
Zamiast "serwerami UNIXowymi", bardziej pasowałoby "stacjami roboczymi pod kontrolą UNIXa".Ja bym powiedział, że "większość z nich można znaleźć na wysokiej klasy komputerach, zwanych serwerami UNIXowymi".Natomiast czysty UNIX może być systemem desktopowym, lecz ,,is most commonly found on high-end computers known as UNIX workstations? (nie mam pojęcia jak to przełożyć na polski).
#10
Napisano 03 grudnia 2005 - 22:40
Solaris (...) nie jest żadnym linuxem, lecz jeżeli ktoś opanuje pracę na solaris to z linuxem sobie też spokojnie poradzi.
Bym się przyczepił do tego zdania. Niedawno wespół z bratem stawialiśmy Solarisa x86 w celach edukacyjnych... Jak na razie jedyny wniosek jaki mi się nasuwa, to "Jak ktoś opanuje Solarisa, to na linuksa już się nie przesiądzie bo to dla niego będzie system zbyt prymitywny - to tak jakby z linuksa przesiąść się na W98"
#11
Napisano 05 grudnia 2005 - 09:44
A oto mały ciąg dalszy:
Linux został wymyślony w 1991 r. przez Linusa Torvaldsa na uniwersytecie w Helsinkach, Finlandia. Zawiera cechy zarówno systemu V, jak i BSD. Na stronie www.linux.org można odnaleźć m.in. tutorial dla zupełnie nowych użytkowników.
W pierwszej wersji Linux został wymyślony na platformę Intel x86 jako ,,workstation” (stacja robocza?) lub serwer. Obecnie wiadomo, że Linuxy chodzą na czym tylko się da.
Jeżeli chodzi o GNU, to nie jest on UNIX-em, lecz jednocześnie używa kernela czyli jądra Linuxa. Wyjaśnijmy tu wstępnie, że kernel jest sercem systemu, które kontroluje interakcje między ,,hardware” i aplikacjami. Projekt GNU uznaje Linuxa jako GNU/Linux z tego względu, że wiele komponentów Linuxa to po prostu aplikacje GNU.
Linux jest dostępny za darmo w ramach GNU General Public License (GPL). Podobnie z innymi wersjami UNIX-a takimi jak FreeBSD i NetBSD. Linux jest ,,open source”, co znaczy że kod źródłowy jest publicznie dostępny i każdy może go dla siebie modyfikować. Może być także przekazywany za darmo między użytkownikami.
Dystrybucje Linuxa: najważniejszym komponentem każdej dystrybucji jest oczywiście Linuxowy kernel. Do kernela i aplikacji dystrybucje dołączają narzędzia instalacyjne, ,,the boot loader” (program butujący?) oraz programy z zakresu ,,utilities”. Niektóre dystrybucje mają wypasioną grafikę i są zorientowane na początkujących użytkowników. Oto niektóre z nich:
Caldera OpenLinux http://www.caldera.com
Corel Linux http://linux.corel.com
Debian GNU/Linux http://www.debian.org
Linux Mandrake http://linux-mandrake.com/en
Red Hat Linux http://www.redhat.com
Slackware Linux http://www.slackware.com
SuSE Linux http://www.suse.com
Turbo Linux http://www.turbolinux.com
Środowisko Linuxa jest podobne do Solaris, przy czym komponenty mogą się różnić w zależności od dystrybucji. Niemniej jednak, dystrybucje Linuxa zawierają przynajmniej kernel Linuxowy, standardowe protokoły sieciowe TCP/IP, pakiet instalacyjny (,,instalation package”), desktop graficzny GNOME lub KDE, oraz ,,utilities”.
Wracając do UNIX, większość jego wersji jest komercjalnych, np. IBM AIX czy Sun Solaris. No i trzeba zapłacić. Jest to jednym z powodów wzrastającej popularności Linuxa.
UNIX jest ściśle związany z Transmission Control Protocol/Internet Protocol (TCP/IP). Ten protokół pochodzi wlaśnie od UNIX-a. Wszystkie ,,workstations” i serwery używające TCP/IP są określane jako hosty i mają posiadać adres IP i nazwę hosta (,,host name”). Adres IP jest unikalny. Jeżeli ,,local translation file” lub nazwa serwera są dostępne, komputer można określić przez jego nazwę, która następnie jest przekładana na jego adres IP. W przyszłości do tego wrócimy.
W skład środowiska operacyjnego UNIX-a wchodzą:
1. kernel - określany też jako jądro. Zarządza pracą komputera
2. shell - czyli powłoka. Przez nią użytkownik się komunikuje z kernelem.
3. system plików (,,file system”). Dostarcza sposobu na zorganizowanie i zarządzanie informacją na twardym dysku.
4. Polecenia, w tym ,,utilities”. Używane by poinstruować komputer aby wykonywał zadania.
[ Dodano: 2005-12-05, 10:19 ]
Kernel UNIX-a jest rdzeniem systemu, z niezbędnymi funkcjami. Jego miejsce jest najbliżej procesora i ,,hardwar’u”. Jest to w gruncie rzeczy plik z kategorii ,,executable” (po polsku chyba: wykonawczy), który ładuje się podczas bootowania komputera. Kernel określany jest po prostu jako unix w systemach bazujących na V lub jako vmunix w systemach bazujących na BSD. Solaris zawiera 2 pliki kernela: ,,platform-independent generic kernel file”, ktory jest związany z drugim: ,,platform-specific kernel file”. Te dwa połączone pliki tworzą statyczny rdzenny kernel, ktory inicjalizuje i kontroluje system.
Najnowsza wersja kernela Linuxa to 2.4.7. 2 określa główny numer wersji. 4 określa pośredni numer wersji. 7 to numer kolejnego ,,patch’a” [chyba podobnie jest w OSX]. Jeżeli posredni numer wersji (środkowa liczba) jest liczbą parzystą, oznacza to że to stabilna wersja, którą można spoko rozpowszechniać społeczności linuxowców. Liczba natomiast nieparzysta wskazuje, że jest to wersja developerska.
Kiedy już się kernel załaduje, spełnia następujące funkcje:
- zarządza urządzeniami peryferyjnymi (ang. devices), pamięcią oraz procesami
- kontroluje funkcje i transmisje informacji między programami a komponentami sprzętowymi (ang. hardware)
- zarządza takimi funkcjami jak przestrzeń swap, demony oraz systemy plików
Wyjaśnijmy pokrótce. Przestrzeń swap to rezerwowana część twardego dysku, którą kernel używa podczas działania. Części pracujących (running) programów mogą być ,,swapped out” z RAM-u na twardy dysk, a następnie jeżeli to niezbędne - znów przeniesione zostają one do RAM-u. Ta część twardziela to właśnie ,,swap space”, wygląda ona jak dodatkowa pamięć dla pracujących programów. RAM jest pamięcią fizyczną, a przestrzeń swap reprezentuje pamięć wirtualną, która jest używana do zwiększenia rozmiaru i liczby programów, które można odpalić. Najczęściej w systemach UNIX ustala się przestrzeń swap 2 razy większą od RAM, a przynajmniej minimum 32 MB. Swap nie jest RAM-em, lecz system traktuje ją jak RAM.
Demony (ang. daemons) to programy wykonujące konkretne zadania lub monitorujące dysk (-ski) czy wykonywanie programów. Demony to specjalne procesy zaczynające się podczas ładowania systemu. Następnie czekają one na coś do zrobienia dla systemu (niezgrabne zdanie, lecz zaraz wyjaśnię). Przykładem jest ,,printer daemon”, który startuje wraz z systemem, a następnie czeka w tle aż ktoś będzie chciał coś wydrukować.
Systemy plików (ang. file systems) są hierarchią folderów (ang. directories), podfolderów oraz plików które organizują i zarządzają informacją na twardym dysku. Natomiast ,,remote file systems” są ulokowane na innym komputerze, który zazwyczaj jest serwerem.
[ Dodano: 2005-12-05, 11:37 ]
Shell czyli powłoka jest interfejsem między użytkownikiem a kernelem. Użytkownik nie ma innego sposobu komunikowania się z kernelem jak tylko poprzez shella. Shell działa jako interpretor lub tłumacz poleceń. Akceptuje on polecenia od użytkownika, interpretuje je i egzekuje odpowiednie programy. Shell może być jako ,,command-line” lub graficzny. W systemie Solaris dostępne są 3 powłoki command-line i można je zmieniać. Jak sprawdzić, którą powłokę obecnie używa komputer? W OSX wejść do aplikacji, następnie Utilities, a tam czeka Terminal. Proszę go otworzyć i wpisać:
ps
U mnie się okazało, że używam powłoki bash, mimo iż domyślnie podobno jest ustawiona w OSX powłoka tcsh. A jakie w ogóle znane są powłoki command-line w UNIX:
/bin/sh - to była oryginalna powłoka UNIX-a. Dla Solaris jest ona domyślna. Najczęściej używają jej administratorzy systemu. Znak tej powłoki to $
/bin/ksh - zrobiona na podstawie tej pierwszej, lecz ma dodatkowe cechy takie jak ,,aliasing” i historię [w przyszłości może się dowiemy co to znaczy]. Ta powłoka jest najczęściej używana w standardach przemysłowych przez użytkowników. Znak powłoki to też $
/bin/csh - bazuje na języku programowania C. Podobna do /bin/ksh. Znak powłoki to %
bash - najpopularniejsza w Linuxie. Łączy w sobie cechy ksh i csh
tcsh - popularny wariant powłoki csh
zsh - rozbudowana powłoka ksh
Powłoki sh, ksh i csh są powszechnie używane w komercjalnych wersjach UNIX. Z kolei bash i tcsh uzyskały popularność gdzie indziej (np. Linux, OSX), chciaż jest możliwość zmiany. Np. w OSX Jaguar są standardowo dostępne wszystkie powłoki poza ksh.
Natomiast CDE, GNOME i KDE są czasami uważane za powłoki graficzne.
#12
Napisano 05 grudnia 2005 - 12:20
#13
Napisano 05 grudnia 2005 - 13:04
Najnowsza stabila wersja linux kernel to 2.6.14.3.
Jest to dosyć prawdopodobne. Jako uczestnik kursu mam dostęp do specjalnej strony internetowej, która może być już trochę nieaktualna. Niedługo mały quiz
#14
Napisano 05 grudnia 2005 - 19:26
#15
Napisano 05 grudnia 2005 - 19:31
Slackware Linux http://www.slackware.com
Slackintosh http://workaround.ch/index.html ( Slackware na PPC )
#16
Napisano 05 grudnia 2005 - 19:39
i podzielić na części wygodniej się czyta,a tutaj jest artek potem dyskusje innych i znowu wklejony następny artek...troche robi się bałagan.
#17
Napisano 06 grudnia 2005 - 13:04
#18
Napisano 07 grudnia 2005 - 09:23
#19
Napisano 07 grudnia 2005 - 09:40
Odpowiedzi fafałka są poprawne.
Jeszcze się obracamy cały czas w pierwszej lekcji, ktora jest niejako wstępem do już porządnej pracy. Myślę, aby całość lekcji (z częściowym uwzględnieniem komentarzy) wrzucić do działu artykuły. W każdym razie jeszcze zobaczymy, pomyślimy :roll: Sugeruję, aby w przyszłym tygodniu postawić sobie jakiegoś Linuxa lub najlepiej Solarisa na kompie. Ta wiedza może się kiedyś bardzo przydać :mrgreen:
Oki, kontynuujmy.
System plików (file system) dostarcza sposobu na separowanie i utrzymanie ścieżki informacji na twardym dysku. System plików determinuje typ, cechy charakterystyczne oraz zorganizowanie plików, które mogą pozostawać na dysku. System plików jest tworzony na partycji dysku z użyciem procesu formatowania (using the formatting process). Partycja może zajmować cały dysk twardy lub być jakąś częścią dysku. O partycjach jeszcze będzie później:)
Formatowanie jest procesem podobnym do stawiania znaków i numerów na nowym osiedlu mieszkaniowym. Jeszcze nikt na nim nie mieszka, lecz już stawia się numery domów (no w sumie całkiem niezłe to porównanie).
Jest wiele różnych typów systemów plików tworzonych w różnych systemach operacyjnych. Np. wspólne dla Windows to File Allocation Table 32-bit (FAT32) oraz New Technology File System (NTFS). Sun Solaris używa UNIX File System (UFS). Linux używa głównie Second Extended File System (ext2) lub Third Extended File System (ext3). Twardy dysk może mieć jedną lub więcej partycji czy systemów plików na nim zdefiniowanych.
Swoją drogą, ciekawe, jakiego systemu plików używa OSX?
System plików troszczy się o definicję struktury plików. Struktura plików jest hierarchią folderów, podfolderów i plików. System plików jest niejako zintegrowany z kernelem, co jest dosyć logiczne zważywszy, że nasz ,,software” skądś musi wiedzieć o strukturze zorganizowania wszystkiego na kompie:) System plików organizuje informację na dysku twardym, aby mogła ona być dobrze zarządzana. Pozwala on użytkownikowi lokalizować pliki. Twardy dysk może być podzielony na partycje składające się z systemów plików, w których są foldery, w nich podfoldery, i tak dalej aż do plików. System plików organizuje dane w podobny sposób jak powiedzmy szafka z teczkami. System plików jest jak ta szafka, foldery są jak szuflady, podfoldery są jak teczki, pliki są jak kartki w teczce.
Chierarchia folderów wygląda jak odwrócone drzewo (tzn. pień jest na górze, gałęzie idą w dół).
Teraz może być lekko trudniej, bo wymienimy po kolei:
* system plików jest formatowaną strukturą na jednej lub więcej partycjach aby umieszczać pliki i foldery. Partycje i związane z nimi systemy plików są podobne do dysku C: czy D: na Windows/DOS. Systemy plików mogą być lokalne (na kompie użytkownika) lub zdalne ( na innym kompie lecz z takim dostępem, jakby były lokalne)
* folder jest miejscem dla plików lub podfolderów. System plików umożliwia użytkownikowi tworzenie plików i folderów dostępnych na drodze otwierania kolejnych folderow (jakby kierując się po coraz cienszych gałęziach drzewa). Najwyższym folderem w strukturze folderów systemu plików jest folder root. Oznacza się go jako slash (/).
* podfolder wiadomo co to jest. Np. niektóre z podfolderów pod folderem roota (/) to /usr, /etc czy /home.
* pliki są zawarte w folderach i podfolderach. Są one najniższym poziomem systemu plików. Zazwyczaj jest ich tysiące na twardym dysku. Ważne, że są ich różne typy:
+ foldery są traktowane jak pliki w UNIX-ie
+ pliki Plain ASCII (American Standard Code for Information Interchange) są plikami tekstowymi, które w środku nie zawierają żadnych ,,special formatting characters” [czyli chyba bez żadnych znaków specjalnych, tylko podstawowy alfabet?]
+ pliki aplikacji (application files) są tworzone przez aplikacje takie jak np. procesor tekstu, excel, czy baza danych
+ programy wykonawcze są komendami UNIX-a z zakresu ,,utility” oraz aplikacjami.
Jednym słowem: w UNIX-ie (więc także w Linuxie i OSX-ie) wszystko jest plikiem:)
[ Dodano: 2005-12-07, 09:44 ]
no i zapraszam do komentowania. Komentarze są czasami bardzo przydatne, zwlaszcza dla mnie :mrgreen: . Jeżeli będą nie na temat to najwyżej je Sys (MF) usunie za jakiś czas
#21
Napisano 07 grudnia 2005 - 14:42
Jak już wspominałem, na samej górze znajduje się folder root i jest on punktem startowym w całej chierarchii. Folder root (/) jest niezbędny dla systemu operacyjnego do działania i zawiera krytyczne (czyli bardzo ważne) pliki systemu jak np. plik(-i) kernela. Poniżej podam listę ważniejszych folderów i do czego służą. Slash (/) umieszczony przed nimi wskazuje, że są one podfolderami dla folderu roota. Struktura folderów w UNIX-ie zawierająca np. nazwy folderów, lokacje i zawartość wewnątrz folderów może się czasem trochę różnić pomiędzy poszczególnymi wersjami UNIX-a. W Linuxie struktura plików jest w przybliżeniu zgodna w większości dystrybucji, jako że bazuje na Linux System Standard (FSSTND) lub Filesystem Hierarchy Standard (FHS).
Poniżej podaję listę folderów najczęściej występujących w systemach UNIX. Umówmy się, że znaczkiem #oznaczę foldery specyficzne dla Solaris, a znaczkiem ## specyficzne dla Linuxa. Reszta występuje w obu:
* /bin (binary) zawiera sporo poleceń UNIX-a
* /boot ## zawiera większość plików niezbędnych do startowania Linuxa (czyli bootowania)
* /dev (devices) zawiera pliki będące odnośnikami do urządzeń. Wszystkie urządzenia w UNIX mają standardowe nazwy plików (standard filenames)
* /etc (etcetera) zawiera pliki administracji systemu, takie jak plik hasła (password file). ten folder jest często określany jako et-cee
* /export/home # zawiera foldery domowe użytkownika. W zależności od tego, jak system został ustawiony przez admina, swoje foldery domowe można też znaleźć w /home
* /home (patrz punkt wyżej)
* /kernel # zawiera podstawowe pliki systemowe, takie jak główny UNIX-owy kernel ,,genunix”
* /lib (library) zawiera wspólne pliki biblioteki używane przez programy w folderach /bin i /sbin
* /mnt (mount) ## tu montowane są pliki stacji dyskietek czy CD-ROM-u
* /opt (optional) zawiera niespakowane aplikacje Sun’a oraz aplikacje należące do ,,third-party” [a co to jest?]. Ten folder nie zawsze występuje w Linuxie
* /proc (process) ## zawiera pliki odnoszące się do informacji o systemie, które są używane przez kernel
* /root ## to super folder użytkowników
* /sbin (single user binaries) zawiera istotne pliki wykonawcze używane podczas startu systemu oraz podczas odzyskiwania danych po nagłym upadku systemu. Ten plik też zawiera niektóre ,,utilities” administrujące systemem
* /tmp (temp) zawiera pliki tymczasowe tworzone przez użytkowników. Czasami pliki z tego folderu są automatycznie usuwane przez admina lub automatycznie usuwane przy starcie systemu
* /usr zawiera pliki i programy używane przez wszystkich użytkowników
* /usr/bin zawiera wykonalne polecenia, ,,system administration utilities” oraz ,,library routines”
* /usr/src ## zawiera kod źródłowy Linuxa
* usr/ucb zawiera polecenia oryginalnie rozwinięte dla BSD UNIX. Są one w Solaris ponieważ niektórzy użytkownicy wolą używać wersję poleceń BSD niż systemu V
* /var (variable) zawiera dynamiczne i zmienne dane takie jak ,,print spooling” i ,,mail system error messages”
Postaram się zamieścić parę zdjęć za chwilę, lecz najpierw się zarejestruję we flickr.com. Zapomniałem swojego hasła do Yahoo i muszę od początku coś wymyślać :evil:
[ Dodano: 2005-12-07, 14:52 ]
aha, być może w przyszłym tygodniu Beru zbierze zespół i opisze jak zainstalować Solaris na pececie. Bo ja umiem póki co tylko Ubuntu zainstalować 8)
#22
Napisano 07 grudnia 2005 - 19:06
Są to aplikacje "z trzeciej ręki", czyli nie dostarcze wraz z Linuksem.* /opt (optional) zawiera niespakowane aplikacje Sun’a oraz aplikacje należące do ,,third-party” [a co to jest?].
Raczej folder super użytkownik, czyli właśnie roota* /root ## to super folder użytkowników
utilities to narzędzia.Ten plik też zawiera niektóre ,,utilities” administrujące systemem
HFS+ jeśli używasz także Classica. Ale np. na serwerach może być to już XSanSwoją drogą, ciekawe, jakiego systemu plików używa OSX?
ASCII+ pliki Plain ASCII (American Standard Code for Information Interchange) są plikami tekstowymi, które w środku nie zawierają żadnych ,,special formatting characters” [czyli chyba bez żadnych znaków specjalnych, tylko podstawowy alfabet?]
Pozdr.
#23
Napisano 08 grudnia 2005 - 08:25
/root ## to super folder użytkowników
jest :
/root ## to super folder użytkowników
nie miało być czasem :
/root ## to folder super użytkownika
/bin Pliki binarne; narzędzia systemowe
/dev Pliki obsługujące urządzenia: cdrom, modem
/boot Informacje odnośnie butowania systemu
/etc Globalne pliki konfiguracyjne
/home Katalogi użytkowników (oprócz katalogu roota)
/lib Skompilowane biblioteki potrzebne do obsługi systemu
/proc Informacje o procesach
/root Katalog superużytownika (czytaj kolejne podrozdziały)
/sbin Pliki binarne; narzędzia do użytku
/tmp Pliki tymczasowe, w tym pliki internetowe
/usr Narzędzia i aplikacje
/var Pliki pocztowe, kolejki drukarki i logi systemowe
Menelek może sobie poczytaj to:
Linux dla początkujących
bo "troche" mijasz się z prawdą
#24
Napisano 08 grudnia 2005 - 09:16
#25
Napisano 08 grudnia 2005 - 09:19
The /root directory** is the super users home directory.
katalog /root jest katalogiem domowym super użytkowników
Użytkownicy przeglądający ten temat: 2
0 użytkowników, 2 gości, 0 anonimowych