VIDEO TRANSCRIPTION
Damian Stelmach i Mirosław Zalent prowadzą serię dotyczącą administracji systemem opartym na jądrze Linux. Pierwsza część to historia jądra Linux i zagadnienia związane z tematyką, druga część to wstęp do administracji serwerową wersją dystrybucji Ubuntu. Ubuntu to popularna dystrybucja systemu Linux, gdzie wydania są oznaczone rokiem i miesiącem. Administratorzy preferują stabilne wersje z długim wsparciem. Aktualizacja pakietów w Ubuntu odbywa się za pomocą menadżera pakietów Apt. System został skonfigurowany, rozdzielczość ekranu dostosowana, a praca zakończona poleceniem Shutdown Now. Autor prezentuje kroki konfiguracji kontrolera graficznego w VirtualBoxie, obejmujące zmianę rozdzielczości i edycję pliku grubasa.
Witamy serdecznie, z tej strony Damian Stelmach i Mirosław Zalent. Zgodnie z licznymi zapowiedziami, ruszamy wreszcie z długo oczekiwaną przez Was serią dotyczącą administracji systemem opartym na jądrze Linux. Dzisiejszy, wstępny epizod podzieliliśmy na dwie części. Pierwsza z nich, nazwijmy ją teoretyczna, to krótka podróż przybliżająca Wam historię powstania linuxowego jądra a także traktująca o najważniejszych zagadnieniach związanych z tą tematyką. Tym zajmie się Mirek. Druga natomiast, praktyczna część, poprowadzona już przeze mnie, to wstęp do administracji serwerową wersją dystrybucji Ubuntu. Dowiecie się z niej, jak odczytywać poszczególne numery wydań, przybliżę Wam politykę wypuszczania poszczególnych wersji, a także pokażę, jak system zainstalować, no i dokonać wstępnej konfiguracji. Zanim jednak praktyka, to krótka historia Linuxa w wydaniu Mirka. Witam, dzięki Damian.
Czym jest Linux? Zanim przejdziemy do konkretnej, technicznej odpowiedzi na to pytanie, to zobaczmy materiał reklamowy przygotowany przez firmę IBM, który w 2003 roku został wyemitowany w Stanach podczas tak zwanego Prime Time, czyli w czasie trwających rozgrywek Super Bowl. Ta reklama dobrze przedstawiła szerokiej publiczności filozofię wolnego oprogramowania, która od początku przyświecała Linuxowi. Widzimy małego chłopaka z fryzurką blond i słyszymy głos lektora. Myślę, że powinieneś to zobaczyć. Pada odpowiedź, to zwykły dzieciak. Po czym widzimy, że ktoś uczy tego małego chłopca grać na gitarze. To jest akord G. A lektor mówi, chłopiec uczy się, absorbuje wiedzę, staje się mądrzejszy z każdym dniem. I dalej widzimy ludzi różnych profesji, którzy nadal przekazują wiedzę chłopcu. Antropolog mówi, homo habitus. To był pierwszy gatunek ludzi używający narzędzi.
Trener sportowy dodaje, Zawodnik, który poświęca indywidualne rekordy dla ostatecznego wyniku całej drużyny jest wart więcej niż doskonały gracz. Zgubić siebie dla drużyny i wygrać dzięki temu rywalizację to jest teamwork. Astrofizyk mówi, od zawsze przyglądamy się gwiazdom. Patrząc w niebo można dostrzec w nim początek czasu. Informatyk zaś mówi, zbieranie informacji to tylko pierwszy krok do mądrości. Dopiero dzielenie się danymi zbliża nas do stworzenia społeczności. Do chłopca dalej przemawia też poeta, matematyk, biznesmen, inżynier lotniczy, filozof, a nawet hydraulik. Lektor mówi, to czego on się nauczy, wszyscy możemy wiedzieć. Wszyscy możemy z tego skorzystać. Pada więc pytanie, czy ten chłopiec ma jakieś imię? Lektor odpowiada, tak, jego imię to Linux. Co ma symbolizować ten chłopiec Linux uczący się od ludzi przeróżnych zawodów? Przekaz wydaje się jasny.
Zamiast oddawać losy tworzenia oprogramowania grupie konkretnych, zatrudnionych osób, może lepiej stworzyć społeczność i pozwolić, aby elementy tego systemu były tworzone przez specjalistów w danej dziedzinie, czyli pasjonatów, ludzi, którzy w swojej niszy po prostu wymiatają i wiedzą, czego oczekiwać po danym elemencie OS-a, pisanego programu czy tworzonej apki. Taka jest idea zapoczątkowania prac nad systemem operacyjnym Linux. Bohaterami tej opowieści jest dwóch panów. Linus Torwaldz. oraz Richard Stallman. W 1991 roku Linus Torwards rozpoczął pracę nad jądrem systemu operacyjnego, tym kernelem obsługującym najważniejsze funkcje OS-a. Przy okazji rozpoczęcia prac zapostował informacje o projekcie na forum internetowym. Słynna wiadomość rozpoczynała się od słów Hello everybody out there! A Richard Stallman, haker i gorący zwolennik ruchu wolnego oprogramowania, w wolnych chwilach prowadził pracę nad stworzeniem kompletnego, wolnego systemu operacyjnego.
Panowie znaleźli wspólny język, porwała ich też idea wolnego dostępu do oprogramowania i stąd w roku 1992 kod jądra Linux został wypuszczony przez Linusa na licencji o nazwie Gnugie. pl opracowanej właśnie przez Richarda Stolmena i jego organizację Free Software Foundation. Celem licencji Gnugie. pl jest zagwarantowanie userom tak swobody korzystania, udostępniania, jak i zmieniania wolnego oprogramowania. Czyli nie jest to licencja public domain, gdyż prawa autorskie do poszczególnych części składowych systemu nadal należą do autorów tych źródeł. Jednak wolno nam takiego kodu używać. Wolno nam nawet poprawić ten kod po swojemu i korzystać z poprawki, ale pod warunkiem, że opublikujemy to nasze źródło poprawione wszystkim. Za darmo dostałeś jakiś stan kodu, poprawiłeś na swoje potrzeby i możesz korzystać. Tylko jesteś zobowiązany podzielić się tym, co zrobiłeś z innymi ludźmi. To są właśnie te wszystkie osoby uczące naszego blond dzieciaka.
Naszego Linuxa. Oczywiście stworzenie takiej licencji wymagało teamu prawników. I to jest właśnie zasługa Richarda Stolmana, że jądro Linux zostało na takich fajnych, wolnych zasadach udostępnione. Zaś sam kod, to źródło pierwszego kernela, jest oczywiście zasługą Linusa Torwaldsa. No właśnie, i tutaj pierwsza ważna sprawa. Linux to, tak de facto, nazwa jedynie jądra systemowego, kernela, a nie całego OS-a. Tak kolokwialnie mówimy często, system Linux, mam Linuxa na kompie, ale będąc dokładnym, to Linux to jedynie nazwa jądra systemowego. Do tego kernela natomiast dokładamy później, wybrany z co najmniej kilku, interfejs graficzny, dokładamy też poszczególne wtyczki, dodatki i dopiero cała taka paczka, taki indywidualny remix, To jest dopiero system operacyjny. A w terminologii linuxowej mówimy, że jest to distro. Od słowa distribution, konkretna dystrybucja linuxa. Rozumiemy już teraz czemu jest aż tyle linuxów, tyle różnych dystrybucji.
I ondro jest jedno, wzięte w danej wersji. Ale co my dołożymy później, żeby zbudować całego osa, to już zależy od nas. I możemy też sobie wziąć to co już istnieje, no bo jest na licencji gnugie. pl, przerobić jak nam się podoba, tylko pod warunkiem, że wrzucimy te przeróbki dla wszystkich. I potem znów nasz kod może ktoś inny zmienić, poprawić, zrefaktoryzować, zremiksować. I tak samoczynnie następuje naturalny proces rozwoju dystrybucji linuksowych, dzięki użytkownikom. Jedne rozwiązania się nie podobają, stąd giną, a inne przechodzą do mainstreamu i są zaakceptowane bądź wciąż remiksowane. Można więc powiedzieć, że to taka kreatywna ewolucja pomysłów proponowanych przez nerdów i pasjonatów. Okej, czyli Linux to same jądro, a dopiero to jądro z dołożonym przeróżnym zremiksowanym softwerem systemowym, dopiero to tworzy konkretne distro, konkretny system, np. Ubuntu, Minta, Elementary itd.
Możemy sobie wybrać naszą ulubioną dystrybucję i korzystać za darmo, ale jeśli mamy ochotę to możemy też włączyć się w tworzenie bądź ulepszanie nowych systemów z tej rodziny, albo stworzyć własną dystrybucję, pod warunkiem podzielenia się z wszystkimi naszym kodem. Okej, co jeszcze warto wiedzieć na początek? No, wiemy już, że distros Linuxa jest bardzo wiele. Pytanie, które naturalnie się pojawia w głowie, brzmi zatem, które wybrać? Które polecasz? Odpowiedź na to pytanie nigdy nie jest jednoznaczna, bo każdy ma swoje gusta i preferencje. Na pewno system musi posiadać jądro Linux, którego by the way kod źródłowy także jest jawny i rozwijają go ludzie. Tradycją jest, że wydania jądra z parzystym, drugorzędnym numerem wersji to tak zwane stabilne wydania. Po każdej serii stabilnej, a w zasadzie to już w jej trakcie, rozpoczynana jest kolejna seria rozwojowa, w której mają miejsce eksperymenty przebudowy.
Oczywiście w dzisiejszych czasach jest to już za daleko idące uproszczenie, warto po prostu zawsze sprawdzić konkretne informacje release'owe na temat jądra, które posiada nasze wybrane distro. Druga ważna sprawa, jaki chcemy mieć wygląd okien systemowych, czyli tak zwane X-y, albo mówiąc mniej kolokwialnie, jakiego użyjemy GUI, Graphical User Interface. Przykłady popularnych środowisk graficznych widzimy teraz na slajdzie. A co do dystrybucji, to dość ważnym i popularnym distro jest Debian, rozwijany przez całą rzeszę użytkowników, który zresztą stanowi często źródło innych remiksów. I to są distros, jak to mówimy, bazujące, oparte na Debianie. Następny ważny wybór to powłoka systemowa, czyli w jakim języku będziemy się komunikować z jądrem, pisząc w terminalu. Najpopularniejszy wybór to powłoka Bash. Rozprowadzana zresztą również na licencji gnugie. pl. Nazwa Bash jest akronimem od słów Born Again Shell.
Fonetycznie brzmi to prawie tak samo jak Born Again Shell, czyli ponownie odrodzona powłoka. Chodzi tu o żarcik dotyczący Stevena Burna, który stworzył kiedyś interpreter o nazwie SH. W 1977 roku używano go w systemie Unix. Inne popularne powłoki to na przykład CSH lub KSH, odpowiednio Seashell oraz Cornshell. Warto też zdawać sobie sprawę, że systemy Linux mogą być wydawane zasadniczo w dwóch wersjach. Desktop, czyli system domowy do codziennego użytku oraz w wersji serwer, często wówczas pozbawionej interfejsu graficznego, gdyż ten system ma pracować zgodnie z nazwą jako serwer. I obecność środowiska graficznego nie jest potrzebna ani nawet pożądana na serwerze. Stąd taka decyzja. Okej, tyle wstępnych informacji o Linuxie. Myślę, że co nieco już nam się w głowie rozjaśniło i poukładało. Na koniec anegdota, którą trzeba znać zajmując się Linuxem.
Jak widzieliśmy na slajdach, maskotką Kernela Torwaldsa został pingwin Tux. Zaś maskotką licencji GNU, antylopa GNU, istnieje takie zwierzę. Natomiast skupmy się na Tuxie. Dlaczego Linus wybrał akurat takiego objedzonego, żeby nie powiedzieć tłustego i wiecznie uśmiechniętego pingwina? Podobno imię maskotki pochodzi od słów Torwaldz Unix, czyli w skrócie Tux. Istnieje jednak też konkurencyjna teoria, która głosi, że to skrócona nazwa smokingu, czyli po angielsku tuxedo. No, pingwiny rzeczywiście wyglądają jakby nosiły smokingi. Natomiast anegdota głosi, że Linusa Torwaldsa podczas wizyty w zoo ugryzł pingwin. Jakkolwiek brzmi to niewiarygodnie i to właśnie dlatego to zwierzę wybrał na maskotkę Linus. Tux stał się rzeczywiście symbolem społeczności użytkowników Linuxa, jak i zwolenników wolnego oprogramowania na całym świecie. Tuż obok antylopy GNU. Pingwin i antylopa obok siebie. Tak jak obok siebie, dla idei trwali Linus Torwals i Richard Stallman.
Okej moi drodzy, tyle wstępu na dziś. Damianie, oddaję Ci głos. Teraz, kiedy już wiecie sporo o systemach opartych na jądrze Linuxa, możemy śmiało przejść do części praktycznej dzisiejszego epizodu. Zanim jednak meritum, to może jeszcze kilka słów na temat tego, dlaczego dystrybucja Ubuntu, a nie np. Fedora, Sius czy cokolwiek innego. Odpowiedź jest prosta. Ja po prostu na co dzień używam tej dystrybucji, a że jest to dla mnie system w pełni wyposażony i spełniający moje wymagania oraz potrzeby, taki przedstawię w kursie. Ogromnym plusem tej dystrybucji jest fakt, że to jedna z popularniejszych distro, dzięki czemu ma ogromne wsparcie społeczności. Oczywiście zdaję sobie sprawę z jej niedociągnięć i faktu, że w dużych korporacjach raczej się jej nie stosuje.
Ale my nie tworzymy przecież kursu na potrzeby wielkich korporacji i serwerów produkcyjnych na wielką skalę. Kurs przeznaczony jest dla nowicjuszy, tak więc nie ma co narzekać. Do zastosowań podstawowych, niekomercyjnych, ta dystrybucja sprawdzi się doskonale. Nie bez znaczenia jest również fakt, iż Ubuntu jest dystrybucją wskazaną przez Centralną Komisję Egzaminacyjną na egzaminy zawodowe w zawodzie techniki informatyk. Dobra, dość wstępu, zaczynamy. Znajdujemy się aktualnie na oficjalnej stronie projektu Ubuntu, który rozwijany jest na co dzień przez firmę Canonical. Zanim pobierzemy sobie obraz ze strony, to wyjaśnijmy jak odczytywać oznaczenia systemu, z którymi czasem jest niemały kłopot. Przechodzimy sobie do sekcji O nas, znajdującej się na dole strony i dalej wybieramy zakładkę Release Cycle. Każde wydanie Ubuntu oznaczone jest dwoma numerami oddzielonymi kropką. Pierwszy numer to rok wydania, drugi to jest miesiąc. Tutaj mamy przykład. Ubuntu 17.
10 to wydanie z października 2017 roku. Każde wydanie oznaczone jest również specyficzną, ciekawą nazwą. Dla przykładu, wydanie z którego my będziemy korzystać nosi nazwę Bioniczny Bubr. Dla purystów dodam jeszcze, że można spotkać się również z dodatkowym numerem po kolejnej kropce, który to określa numer wydania danej wersji. Jeśli chodzi o Ubuntu 18. 04, to mamy do dyspozycji trzecie wydanie tej wersji i to jest bardzo świeże wydanie, można powiedzieć jeszcze ciepłe, bo z sierpnia tego roku. Jest to po prostu wersja zawierająca na dany czas wszelkie aktualizacje. Przejdźmy sobie niżej, aby zerknąć w kalendarz wydań. Jak widzicie, firma dość rygorystycznie podchodzi do kwestii publikacji kolejnych wydań, bo mamy tutaj już plany na 2022 rok. Zwróćmy jednak uwagę na to oznaczenie, bo to bardzo ważna sprawa.
LTS jest oznaczeniem systemu z tak zwanym wydłużonym okresem wsparcia, co oznacza, że przez 5 lat od jego wydania będziemy otrzymywać aktualizacje związane z konserwacją i bezpieczeństwem systemu. Dla starszych systemów firma oferuje również dodatkowy okres wsparcia, jest to jednak opcja płatna. Jak przedstawia nam to producent, ponad 90% systemów Ubuntu zainstalowanych na serwerach są to wersje LTS. W sumie to nie dziwi, większość administratorów woli stabilne wersje z długoletnim okresem wsparcia. W wersję bez dopisku LTS okres wsparcia mają dość krótki, zaledwie kilkumiesięczny. Tak więc niewiele osób decyduje się na instalację takich systemów w produkcyjnych środowiskach. Jak widzicie wersja 18. 04 jest to ostatnie wydanie LTS, dlatego kurs niniejszy oprzemy właśnie o tę wersję. No okej, numeracja i oznaczenia wyjaśnione, to lecimy pobrać u bunciaka. Wybieramy oczywiście wersję serwerową oraz odpowiednie oznaczenie. Obraz pobrany.
Jak widzicie jest to trzecie wydanie wersji 18. 04, jak mówiłem bardzo świeże. Odpalamy VirtualBoxa i tworzymy wirtualną maszynę. Jako, że nasze środowisko będzie testowe, nie będę zmieniał domyślnych ustawień maszyny. To znaczy zostawię 1 GB RAM-u, a także pozostawię domyślną wielkość dysku twardego. Maszyna gotowa. Zanim zaczniemy instalację, to jeszcze dodajmy sobie kartę sieciową. Defaultowo jest tylko jedna z trybem NAT. Tę sobie zostawimy, aby nasz serwer miał dostęp do internetu. Dzięki temu będziemy mogli sobie zainstalować aktualizację. Drugą ustawimy sobie w trybie sieci wewnętrznej. Dzięki temu utworzymy sobie wirtualną sieć, której nasz serwer będzie oferował usługi. OK, tyle przygotowań. Odpalamy maszynę i wskazujemy obraz. Nie miejcie mi za złe, że tak szybko przeleciałem przez proces tworzenia nowej maszyny wirtualnej.
Proces dokładniej omówiłem w pierwszym odcinku kursu Windows Server, tak więc jeśli ktoś nie bardzo kuma obsługę z samego VirtualBoxa, odsyłam do tego wideo. Obraz załadowany. Poczekamy aż system dokona sprawdzenia podzespołów. elementów systemu i usług i za chwilę rozpoczniemy instalację. Na początek wybór języka. Jak chcecie, możecie użyć polskiego. Ja wybieram język uniwersalny w IT, czyli angielski. Układ klawiatury również pozostawiam angielski. Teraz czas na sieć. Widzimy, że instalator ładnie wykrył nam karty sieciowe, które ustawiliśmy. To jest nasz NAT, to znaczy karta sieciowa w trybie NAT z automatycznym adresem IP. To jest nasza sieć wewnętrzna bez adresu.
Tutaj możemy w łatwy sposób połączyć sobie karty i utworzyć z kilku interfejsów fizycznych jeden wirtualny, dzięki czemu zwiększamy przepustowość, a także zapewniamy ciągłość działania usług, bo nawet jeśli jedna karta nam padnie, druga nadal będzie działać, dzięki temu sieć nie zostanie od tych usług odcięta. To powiedzmy na chwilę obecną nie jest nam potrzebne, wszak dopiero zaczynamy przygodę z linuchem, a łączenie kart to temat nieco bardziej zaawansowany, tak więc skupmy się po prostu na przypisaniu IP-ka do tej drugiej karty. Wybieramy ręczne wprowadzanie IP i podajemy. Najpierw adres sieci z maską. Potem IP interfejsu. Pozostałe parametry na razie nie są nam potrzebne, także lecimy dalej. Tutaj możemy podać IP dla serwera proxy, czyli serwera pośredniczącego w wymianie danych między naszą maszyną a zewnętrznymi serwerami. My tego używać nie będziemy, także to pole pozostawiamy puste.
Kolejny krok również pomijamy i idziemy dalej. Teraz pora na utworzenie partycji, no i wybór systemu plików. Instalator posiada mechanizmy automatycznego tworzenia partycji, to jest ta zaznaczona opcja. Mamy też do dyspozycji tworzenie automatyczne z wykorzystaniem mechanizmu do zarządzania przestrzenią dyskową LVM. O tym mechanizmie opowiemy sobie przy okazji omawiania serwera plikowego dla Linuxa, a także możemy utworzyć całkowicie ręcznie partycję. Nie będziemy tutaj filozofować, tylko wybierzemy opcję automatycznego tworzenia partycji. Wybieramy dysk i partycje jak widać zostały utworzone. Pierwsza jest dla programu rozruchowego, a druga na dane. Ta sformatowana zostanie do systemu plików EXT4, czyli standardowego systemu plików Linuxa. Potwierdzamy zmiany i lecimy dalej. Podajemy swoje dane, nazwę serwera, a także login i hasło. Co ważne, system instaluje nam się w tle, także nie tracimy niepotrzebnie cennego czasu.
Zaznaczamy spację Instalacje serwera SSH, dzięki czemu będziemy w stanie zdalnie połączyć się po tym protokole z naszą maszyną. W dalszej części możemy wybrać dodatkowe serwisy i usługi, które zostaną zainstalowane na naszej maszynie. Są to usługi, z których my, przynajmniej w początkowych odcinkach kursu, korzystać nie będziemy, dlatego ten element pomijamy i idziemy dalej. A dalej to już nic nie musimy robić, system pięknie nam się instaluje. A kiedy już się zainstaluje, robimy reboot, jeśli potrzeba, tak jak teraz, jeszcze raz reboot i czekamy na załadowanie systemu. Teraz logujemy się na usera, którego utworzyliśmy chwilę wcześniej przy instalacji, no i możemy zacząć zabawę. Już na dzień dobry mamy mały kłopocik, małą niedogodność do ogarnięcia.
Jako, że zainstalowaliśmy serwer na wirtualu, podczas instalacji i rozruchu inicjowany jest pakiet Cloud Init, dostosowujący pracę systemu do maszyny wirtualnej, ale przede wszystkim pozwalający na konfigurację sieci oraz tworzenie użytkowników podczas instalacji. Te komunikaty do życia nam są niepotrzebne, a jedynie przeszkadzają w robocie, bo wypluwają tutaj serię komunikatów, które nie są nam w tym momencie potrzebne, tak więc warto pokusić się tutaj o ogarnięcie tego tematu. Teraz, kiedy maszyna jest już zainstalowana, śmiało inicjowanie pakietu cloud init możemy wyłączyć. Do tego utworzymy sobie odpowiedni plik z parametrem disabled. Wydajemy polecenie sudo touch slash etc slash cloud slash cloud myślnik init kropka disabled. potem hasło usera i po restarcie wszystko powinno już być OK. Maszyna zrestartowana. Wyjaśnijmy sobie składnię polecenia, którego przed chwilą użyliśmy. Sudo pozwala na wykonanie instrukcji, komendy czy też polecenia na prawach administratora.
Jeśli nie jesteśmy zalogowani na koncie root, który jest takim administratorem znanym z systemów Windows, to musimy przed każdym poleceniem zmieniającym konfigurację czegokolwiek w systemie to słowo dopisać. Touch tworzy nam plik. A dalej to już mamy ścieżkę zapisu tego pliku wraz z jego nazwą. W Linuxach większość plików konfiguracyjnych zapisywana jest właśnie w katalogu etc. Pytanie, czy zawsze trzeba to sudo używać przed poleceniem, aby dokonać zmian konfiguracyjnych. No nie zawsze trzeba. Można na przykład korzystać z konta root. Jeśli nadamy dla niego hasło, ale to jest opcja mniej bezpieczna. Raczej nie powinniśmy tego konta w ogóle używać, chociaż nie powiem, mnie też czasem się zdarza. Druga metoda natomiast to wydanie polecenia sudo su.
Po wpisaniu hasła USERa, na którym jesteśmy zalogowani, możemy już wykonywać wszystkie polecenia zmieniające konfigurację bez słowa sudo przed tymi poleceniami, ponieważ teraz nasz user działa na prawach ROOTA. Ta opcja jest możliwa tylko dla użytkowników, którzy znajdują się w tzw. grupie sudersów, czyli po prostu w grupie sudo. Użytkownik stworzony podczas instalacji domyślnie do takiej grupy należy. Zobaczmy jak to będzie wyglądało z użytkownikiem, którego utworzymy sobie teraz. Polecenie add user z nazwą niech będzie bolek, teraz dwa razy hasło. Te opcje dodatkowe tutaj pozostawiamy bez zmian. Poleceniem EXIT wychodzimy teraz z trybu root usera Damian. Teraz polecenie LOGOUT, który wylogowuje użytkownika. Teraz logujemy się na bolka i próba uruchomienia trybu sudo. Jeśli bolek nie będzie w sudersach, no a na razie nie jest, sudo su dla niego nam nie zadziała. Dokładnie tak jak widać.
No a jak dodać do grupy? No zobaczmy. Najpierw wylogujmy bolka. potem login usera z prawami sudo, jeszcze sudo su, i edycja pliku z userami. Nano to jest edytor tekstu, a to jest ścieżka pliku z ustawieniami dotyczącymi przynależności userów do poszczególnych grup. Tutaj mamy grupę z sudo, tych naszych sudersów. I po przecinku dopisujemy bolka. OK, Ctrl-O zapisuje nam plik, a Ctrl-X zamyka go. Teraz exit i ponownie wychodzimy z trybu sudo dla Damiana i jeszcze logout do wylogowania. Teraz ponownie logujemy bolka i jak widać sudo su nam już działa. Oczywiście edycja pliku to nie jedyna metoda pozwalająca dodać użytkownika do danej grupy. Można to zrobić na przykład poleceniem. User mode, minus duże G, nazwa grupy, minus A, no i nazwa użytkownika. Enter.
Ups, miało być mode, a nie mode, więc szybka korekta. I teraz jest OK. To oczywiście nie wszystkie opcje dotyczące użytkowników, dodawania do grup itd. Więcej pokażemy sobie w następnych odcinkach. Z nauczycielskiego obowiązku pokażę Wam jeszcze jak nadać hasło dla ROOTA, jeśli ktoś jednak chciałby korzystać z tego konta. Wystarczy wpisać polecenie PASWD ROOT i dwukrotnie podać hasło dla tego użytkownika. Teraz już konto ROOT działa i można z niego korzystać. Chociaż jak mówiłem, nie jest to całkowicie bezpieczne. Jeśli oglądają nas teraz Linuxowi wyjadacze, to pewnie zastanawiają się dlaczego przelogowywałem userów, a nie używałem terminali wirtualnych. Też się nad tym zastanawiam, więc może warto w tym miejscu o tym wspomnieć. Otóż systemy z jądrem Linux dają możliwość jednoczesnej pracy większej ilości użytkowników niż tylko jeden.
Super fajna sprawa, szczególnie jeśli serwer oferuje wiele usług, a za każdą z nich odpowiada inny admin. Zobaczcie, teraz jestem zalogowany na ruta w pierwszym wirtualnym terminalu. Kiedy użyję kombinacji ALT z klawiszem funkcyjnym, np. F2, zostanę przeniesiony do drugiego terminala, do którego zalogować się może inny user. Dokładnie tak. Mamy teraz sytuację, że na systemie pracuje dwóch użytkowników. Oczywiście w sytuacji, kiedy fizycznie mamy dostęp do sprzętu, tego typu opcja może wydawać się zbędna. Ale kiedy łączymy się przez protokoły zdalnego dostępu do serwera, np. poprzez SSH, to już perspektywa się zmienia i nie wydaje się to takie bezsensowne, a wręcz mega przydatne. Dzięki temu jeden admin z Szanghaju może pracować jednocześnie na systemie, na którym pracuje admin z Madagaskaru.
Temat userów na dzisiaj załatwiony, to może teraz zobaczmy jak aktualizować pakiety na naszym Ubunciaku. Pakiety to nic innego jak programy i aplikacje, z których w systemie korzystamy. W Linuxach do instalacji i aktualizacji pakietów wykorzystuje się specjalne programy zwane menadżerami pakietów. W dystrybucji Ubuntu, podobnie jak we wszystkich distro opartych na dybianie, stosuje się pakiety w formacie DEB. Natomiast w distro takich jak Fedora czy Red Hat są to pakiety RPM. W przypadku Ubuntu bardzo popularny menadżer zarządzania pakietami to Apt i to właśnie z tego softu korzystać będziemy podczas kursu. Zaczniemy od tego, że zaktualizujemy sobie listę pakietów w repozytoriach. Repozytoria, słuchajcie, to miejsca w sieci, gdzie dystrybuowane jest oprogramowanie dla Linuxów. Wydajemy polecenie apt update. i po chwili lista pakietów została zaktualizowana.
Pamiętajcie, że jeśli nie wydaliśmy wcześniej sudo su lub też nie pracujemy na rucie, przed poleceniem aktualizacji należy wpisać polecenie sudo. Lista pakietów zaktualizowana, no to teraz dokonajmy ich właściwego update'u, wydając polecenie apt upgrade. Teraz potwierdzamy operację i po krótszej lub dłuższej chwili, zależy od tego jak dużo pakietów będzie nam się aktualizować, sprawę mamy załatwioną. Od razu dodam, że oba polecenia można połączyć i wykonać jednocześnie za pomocą operatora AND? Dokładnie tak. Dla zainteresowanych podpowiem jeszcze, że listę zainstalowanych pakietów wyświetlimy sobie wydając polecenie apt list 2 myślniki installed. OK, lecimy dalej. Teraz pokażemy sobie, jak zmienić ustawienia IP. Zanim to jednak zrobimy, to zainstalujmy sobie mały i lekki menadżer plików, dzięki czemu będzie nam łatwiej poruszać się w gąszczu plików konfiguracyjnych. Programem tym jest Midnight Commander, w skrócie MC.
Wydajemy polecenie apt install mc, potwierdzamy chęć instalacji, no i lecimy. Softchick zainstalowany, odpalamy go wydając po prostu polecenie mc. Widzimy tutaj całą strukturę katalogów i możemy w łatwy sposób wyszukiwać interesujące nas pozycje. Aby zmodyfikować IP na Ubuntu przechodzimy do katalogu etc. Przypominam, że tutaj znajduje się większość plików konfiguracyjnych systemu. Potem przechodzimy do katalogu Netplan i edytujemy ten plik wybierając F4 na klawiaturze. Zanim plik nam się wyświetli do edycji musimy wybrać sobie domyślny edytor plików tekstowych. Wcześniej kiedy edytowaliśmy sobie plik z grupami użytkowników na sztywno wpisałem nano jako edytor. Tutaj kiedy chcemy po raz pierwszy edytować plik za pośrednictwem MC system pyta jaki ma być domyślny edytor dla użytkownika. Każdy użytkownik może mieć wszak inny edytor plików w zależności od upodobań. Tę opcję tutaj wybiera się tylko raz.
Ale oczywiście, jakby co, da się to potem zmodyfikować. Ja wybieram sobie trójkę, bo to domyślny edytor MC. Dla mnie wygodny, więc z niego korzystam. To jest zawartość pliku, gdzie zapisuje się na sztywno ustawienia IP na nowych wersjach Ubuntu. Zamknijmy jeszcze na chwilę ten plik, wybierając na klawiaturze F10, bo chcę Wam pokazać, gdzie ustawiało się IP w starszych wersjach Ubuntu. Zanim wprowadzono wersję bodajże 17. 10, ustawienia IP były w katalogu Network i dalej w pliku Interfaces. Dla osób, które z tych starszych wersji korzystają, udostępnię na stronie pasji Manual, jak konfigurować ten plik. Systemy oparte na jądrze Linux są bardzo elastyczne, więc jeśli ktoś bardzo chce, to po zainstalowaniu kilku dodatkowych pakietów można wrócić do ustawień w tym pliku, ale ja już tego robił nie będę, pozostaniemy przy tych nowych ustawieniach.
Wyłączmy sobie teraz system, aby dodać kolejną, trzecią kartę sieciową, tak aby pokazać Wam jak ustawić dla niej IP w pliku konfiguracyjnym. Karta dodana, także odpalamy z powrotem maszynę. Teraz logowanie. Aby ustawić IP na Linuxie musimy poznać nazwę karty sieciowej. A nazwy możemy sprawdzić wydając na przykład polecenie ifconfig z parametrem a. Widzimy tutaj wszystkie nasze karty sieciowe i tutaj uwaga, na niektórych nowych wydaniach różnych dystrybucji ifconfig może nie działać. Może się okazać, że zwyczajnie pakiet obsługujący te polecenia nie jest zainstalowany. Tutaj jest i działa, bo użytkownicy Ubuntu lubią z tego polecenia korzystać. Ale jeśli okazałoby się, że u Was to nie działa, to możecie skorzystać z nowego polecenia do zarządzania opcjami IP, jakim jest po prostu IP.
Tutaj macie manual dotyczący opcji tego polecenia, a wydając IP z parametrem A wyświetlimy sobie IP naszych kart. Dawniej interfejsy sieciowe nazywały się np. ETH0, ETH1 czy też np. WLAN0 i WLAN1 dla sieci bezprzewodowych. W związku z tym, że takie nazywnictwo powodowało czasem problemy, np. po restartach systemu karty zmieniały swoje nazwy i usługi nie działały, zaczęto stosować nazywnictwo interfejsów oparte np. o położenie kart sieciowych na płycie głównej. Stąd takie mogłoby się wydawać dziwne nazwy, do których trzeba się przyzwyczaić. Szczególną trudność sprawia to osobom, które pracowały na starszych systemach i teraz muszą się przestawić. I tutaj ponownie dodam, że da się ustawić stare nazwy zmieniając ustawienia w programie rozruchowym, ja jednak ponownie pozostanę przy tym co mamy.
Jeśli ktoś zapyta mnie dlaczego VirtualBox nadaje najpierw numer 3 dla interfejsu pierwszego, a potem 8 i 9 dla kolejnych, to szczerze nie wiem. I nigdy się nad tym nie zastanawiałem, ani też nie szukałem info na ten temat. Więc nie będę się wypowiadał. Te numery wraz z pełnymi nazwami trzeba po prostu zapamiętać. ENP0-S9 to nasza trzecia karta, którą dodaliśmy i teraz ustawimy sobie dla niej IP. Zanim dopiszemy sobie odpowiednie ustawienia w pliku konfiguracyjnym sieci, pokażemy jak można ustawić IP za pomocą polecenia. Najpierw jednak sudo su i dalej ip a add z adresem IP i prefiksem, a potem jeszcze nazwa karty poprzedzona poleceniem dev. IPA i widzimy, że adres jest. Interfejs musimy jeszcze uruchomić, wydając polecenie IP, L, Set, nazwa interfejsu, App.
Ponownie IP A i widzimy, że adres IP jest ustawiony, a interfejs jest uruchomiony. Ta opcja dotycząca ustawień IP w Ubuntu posiada niestety jedną zasadniczą wadę. Po restarcie maszyny niestety ustawienia nam znikają. Oczywiście da się napisać skrypt, który będzie odpalał się przy starcie systemu i ustawiał IP za pomocą polecenia, ale to jeszcze nie czas na pisanie skryptów. Na szczęście można też wrócić do klasyki i ustawić IP na sztywno, dodając po prostu odpowiednie wpisy w pliku konfiguracyjnym sieci, który przed chwilą sobie pokazaliśmy. Wróćmy do niego. Odpalamy MC i przechodzimy do odpowiedniego katalogu i pliku. Pamiętajcie, że MC odpaliłem w trybie sudo. Jeśli odpalicie MC bez tego trybu, nie uda Wam się zapisać zmian w plikach konfiguracyjnych. Zwracajcie na to uwagę, bo potem są problemy i zdziwienie. Ponownie F4 i edytujemy plik.
I tutaj ważna uwaga. Modyfikując plik sieci zwróćcie baczną uwagę na to, żeby każdy wpis był dokładnie pod poprzednim i aby nie stosować tabulatorów, niepotrzebnych przerw i znaków. Netplan, który obsługuje ustawienia sieci w nowym Ubuntu jest bardzo na to wrażliwy i każdy niepotrzebny znak spowoduje, że plik nie zostanie wczytany. Na razie dodam tylko tutaj nazwę interfejsu oraz adres IP z prefiksem bez dodatkowych opcji, żeby zobaczyć czy będzie to nam działać. OK. Zapisujemy zmiany klawiszem F2, F10 opuszczamy MC i poleceniem Netplan Apply zapisujemy ustawienia. Nie wywaliło błędów, więc jest OK. Edytujmy plik jeszcze raz. Tym razem dopiszemy sobie adres bramy oraz DNS-y do tego interfejsu. Brama w NetPlanie to jest Gateway 4, jeśli stosujemy IPv4, a jej adres podajemy sobie po dwukropku. Teraz DNS. Name Servers, dwukropek, nowa linia.
Przechodzimy dalej spacją, nie tabulatorem. Adreses. dwukropek i w kwadratowym nawiasie dwa adresy rozdzielone przecinkami. Jest. Zapisujemy zmiany i trzymajcie mocno kciuki, bo teraz będzie sieczka. Uff, jednak się udało. Wszystko OK. IP A i widzimy, że ustawienia zostały wczytane i co więcej będą wczytane również po restarcie systemu. Jako, że dodaliśmy adres bramy, która nie istnieje, to od teraz nasza maszyna straci dostęp do neta. Jak widzicie pingi nie działają. Gdyby pod tym adresem, który wpisaliśmy był jakiś na przykład router, no to wówczas wszystko by grało. W mojej sieci routera pod tym adresem nie ma, no i pewnie u Was też nie, tak więc jeśli chcemy przywrócić dostęp do neta, musimy usunąć wpis o bramie. Dokładnie tak. Teraz powinno być wszystko ok. Pingi lecą, więc jest ok.
Nieco długi nam się robi ten odcinek, więc może warto by powolutku kończyć. Zanim jednak to zrobimy, to jeszcze jedna kwestia techniczna do ogarnięcia. Zastanawiacie się pewnie, dlaczego nie używam pełnej rozdzielczości na wirtualu, tylko bawię się w małym okienku. Zmiana rozdzielczości serwera na wirtualnej maszynie to nie wybór z dostępnych opcji w interfejsie graficznym, tak jak ma to miejsce na systemach desktopowych, tylko nieco więcej zabawy. Wiem z doświadczenia, że nie wszystkie pomoce naukowe dostępne w necie dotyczące tego tematu są jasne i czytelne i co ważne działają, tak więc postanowiłem i tę modyfikację Wam na początku kursu zaprezentować. Zaczniemy od tego, aby sprawdzić jaki kontroler graficzny mamy ustawiony dla naszej maszyny. Jest VM-SVGA, także taki jak ma być. Jeśli macie inny, to zmieńcie na taki. Jeśli nie macie dostępnej tej opcji, zaktualizujcie VirtualBoxa.
Ja pracuję na najnowszej wersji. Teraz restart serwera. Kiedy wyłączy nam się okienko powitalne VirtualBoxa, wciskamy Shift. Nie ma znaczenia który. Teraz literą C na klawiaturze uruchamiamy sobie konfigurator programu rozruchowego Grab, zwanego przeze mnie pieszczotliwie gruby. Tutaj wydajemy sobie dwa polecenia. Pierwsze to SetPager, równe 1. Drugie to VBE, Info. Wyświetlone zostają nam dostępne rozdzielczości i niestety tutaj muszę niektórych zmartwić. 4K ani Full HD możecie nie znaleźć. W moim przypadku sensowna wydaje się rozdzielczość 1280x1024 i taką zaraz zastosuję. Restartujemy sprzęt i po zalogowaniu edytujemy plik grubasa. Zmieniamy tę wartość tutaj na no mode set, a na dole pliku dodajemy wpis. Grup podkreśnik GFX payload. podkreślnik Linux z odpowiednią rozdzielczością. Zapisujemy zmiany i aktualizujemy ustawienia grubasa. Teraz restart systemu i po ponownym załadowaniu mamy już oczekiwaną rozdziałkę.
No i takim oto sposobem dotarliśmy do końca dzisiejszego epizodu. System w pełni sprawny i gotowy do pracy. Zamykamy go na dzisiaj wydając polecenie Shutdown Now. Wszystkie polecenia, których dzisiaj używaliśmy znajdziecie na stronie pasji w uzupełnieniu do tego odcinka. Na chwilę obecną to tyle z naszej strony. Dziękujemy za uwagę i zapraszamy do oglądania kolejnych produkcji. Pozdrawiamy!.
By visiting or using our website, you agree that our website or the websites of our partners may use cookies to store information for the purpose of delivering better, faster, and more secure services, as well as for marketing purposes.