<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php?feed=atom&amp;target=Lgraczyk&amp;title=Special%3AContributions%2FLgraczyk</id>
		<title>Łukasz Graczykowski - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php?feed=atom&amp;target=Lgraczyk&amp;title=Special%3AContributions%2FLgraczyk"/>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Special:Contributions/Lgraczyk"/>
		<updated>2026-06-05T15:22:09Z</updated>
		<subtitle>From Łukasz Graczykowski</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_lato</id>
		<title>Sieci komputerowe 2025/2026 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_lato"/>
				<updated>2026-02-24T10:43:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczykowski, prof. uczelni&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski, prof. uczelni&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2025/2026</id>
		<title>KADD 2025/2026</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2025/2026"/>
				<updated>2026-02-24T10:42:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}  == Informacje - wykład == Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt; Prowadzący:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski, prof. ucz.&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się tutaj.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2026-02-24T09:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni2025/2026 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2025/2026 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2025/2026 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_12</id>
		<title>KADD 2019 Laboratorium 12</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_12"/>
				<updated>2025-11-27T13:25:14Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Zadanie ==&lt;br /&gt;
'''Dopasowywanie danych przy użyciu ROOT'a''' (5 pkt.)&lt;br /&gt;
&lt;br /&gt;
Wczytujemy plik z danymi (histogram rozkładu masy inwariantnej): [http://www.if.pw.edu.pl/~lgraczyk/KADD2017/lab12/ExperimentalData.root plik]&lt;br /&gt;
&lt;br /&gt;
Chcemy otrzymać wynik dopasowania tła i sygnału:&lt;br /&gt;
&lt;br /&gt;
[[File:Lab12_result.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Całość dopasowujemy: tło - funkcja kwadratowa, sygnał - funkcja Lorentza&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019</id>
		<title>KADD 2018/2019</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019"/>
				<updated>2025-11-27T13:24:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadania */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: wt. 14-16, 117D GF&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się mailowo (możliwe również w innych terminach)&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się [http://www.if.pw.edu.pl/~lgraczyk/KADD2018/Regulamin-KADD-2018.pdf tutaj].&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Wykłady z roku 2019:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad1-2019.pdf Wykład 1] (22.02.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad2-2019.pdf Wykład 2] (1.03.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad3-2019.pdf Wykład 3] (8.03.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad4-2019.pdf Wykład 4] (15.03.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad5-2019.pdf Wykład 5] (22.03.2019 r.) - poprawiona macierz T na slajdzie 6&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad6-2019.pdf Wykład 6] (29.03.2019 r.) - zastępstwo dr inż. Grzegorz Siudem&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad7-2019.pdf Wykład 7] (5.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad8-2019.pdf Wykład 8] (12.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad9-2019.pdf Wykład 9] (19.04.2019 r.) - zastępstwo&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad10-2019.pdf Wykład 10] (26.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad11-2019.pdf Wykład 11] (30.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2019/Wyklad12-2019.pdf Wykład 12] (10.05.2019 r.)&lt;br /&gt;
&lt;br /&gt;
Wykłady z roku 2018:&lt;br /&gt;
[http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 link]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''UWAGA! W tabelce znajdują się już wyniki poprawy kolokwiów.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Wyniki znajdują się [https://docs.google.com/spreadsheets/d/1aCcxT9T85bpHjmNKhWeuiQIdyBBfn-JcMZv0idHkzrA/edit?usp=sharing tutaj]'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''UWAGA! Kolejny termin poprawy zrobimy w piątek 14.06 w godzinie wykładu (12-13) w sali 114 (nie 116 z uwagi na egzamin MiNI w tej sali). Dla osób, dla których byłoby to trzecie podejście - będzie to odpowiedź ustna, z możliwością zaliczenia przedmiotu na max 3.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wykłady z lat poprzednich (dr inż. H. Zbroszczyk): [http://www.if.pw.edu.pl/~gos/students/kadd/ link]&lt;br /&gt;
&lt;br /&gt;
== Laboratorium (moja grupa) ==&lt;br /&gt;
&lt;br /&gt;
== Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki z laboratorium (moje grupy) znajdują się na [https://docs.google.com/spreadsheets/d/1IstcFQmYjpgG59_LGqq9uMrahJm8ieFMXR1HPsCR7Lg/edit#gid=0 tej] stronie.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''Uwaga! Wyniki kolokwium 2 są już dostępne.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_1 Zadanie 1] (18.02.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_2 Zadanie 2] (25.02.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_3 Zadanie 3] (4.03.2019 r.) - zastępstwo z mgr inż. Andrzejem Lipcem&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_4 Zadanie 4] (111.03.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_5 Zadanie 5] (18.03.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_6 Zadanie 6] (25.03.2019 r.) - zastępstwo z mgr inż. Dominikiem Aromińskim&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_7 Zadanie 7] (9.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_8 Zadanie 8] (8.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_9 Zadanie 9] (29.04.2019 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_10 Zadanie 10] (6.05.2019 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_11 Zadanie 11] (13.05.2018 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019_Laboratorium_12 Zadanie 12] (27.05.2018 r.) &lt;br /&gt;
* Kolokwium 2 poprawa (10.06.2019) - plik [http://if.pw.edu.pl/~lgraczyk/KADD2019/kol2/dane_bw.txt dane_bw.txt]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018_Laboratorium_11 Zadanie 11] (21.05.2018 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018_Laboratorium_12 Zadanie 12] (28.05.2018 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_7 Zadanie 7] (3.04.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_8 Zadanie 8] (10.04.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_9 Zadanie 9] (8.05.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_10 Zadanie 10] (15.05.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_11 Zadanie 11] (22.05.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017_Zadanie_12 Zadanie 12] (29.05.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2017/kol2/KADD2017_kol2.pdf Kolokwium 2] (5.06.2017 r.)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/KADD2017/kol2/KADD2017_kol2_popr.pdf Kolokwium 2 (poprawa)] (12.06.2017 r.) - jako zadanie 3 piszemy program z [http://if.pw.edu.pl/~lipiec/KADD2017/Lab12/Lab12.pdf linku], plik z [http://if.pw.edu.pl/~lipiec/KADD2017/Lab12/drzewo.root danymi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
* Dokumentacja środowiska [http://root.cern.ch ROOT].&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_zima</id>
		<title>Sieci komputerowe 2025/2026 zima</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_zima"/>
				<updated>2025-10-13T10:06:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczykowski, prof. uczelni&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski, prof. uczelni&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2025-10-13T10:06:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2025/2026 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2025/2026_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025</id>
		<title>KADD 2024/2025</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025"/>
				<updated>2025-02-25T12:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Informacje - wykład */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski, prof. ucz.&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się tutaj.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025</id>
		<title>KADD 2024/2025</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025"/>
				<updated>2025-02-25T12:53:17Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}  == Informacje - wykład == Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt; Prowadzący:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się tutaj.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2025-02-25T12:52:23Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr letni 2024/2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2024/2025 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2025-02-21T07:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadanie 1: tworzenie maszyny wirtualnej */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 22.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/jammy/ Ubuntu MATE 22.04]. Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/jammy/ Linux Ubuntu 22.04 LTS] w wersji o 64-bitowej architekturze procesora ze środowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik iso uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/jammy/ Linux Ubuntu 22.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO ze starym Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2025-02-21T07:52:15Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadanie 1: tworzenie maszyny wirtualnej */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 22.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/jammy/ Ubuntu MATE 22.04]. Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/jammy/ Linux Ubuntu 22.04 LTS] w wersji o 64-bitowej architekturze procesora ze środowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO ze starym Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2025-02-21T07:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Skrót zadań z Laboratorium 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 22.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/jammy/ Ubuntu MATE 22.04]. Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://cdimage.ubuntu.com/ubuntu-mate/releases/focal/release/ubuntu-mate-20.04.6-desktop-amd64.iso Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO ze starym Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2025-02-20T14:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Plik ISO z Ubuntu MATE 20.04 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 24.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/noble/ Ubuntu MATE 24.04]. Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://cdimage.ubuntu.com/ubuntu-mate/releases/focal/release/ubuntu-mate-20.04.6-desktop-amd64.iso Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO ze starym Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2025-02-20T12:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Skrót zadań z Laboratorium 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 24.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/noble/ Ubuntu MATE 24.04]. Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://cdimage.ubuntu.com/ubuntu-mate/releases/focal/release/ubuntu-mate-20.04.6-desktop-amd64.iso Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato</id>
		<title>Sieci komputerowe 2024/2025 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato"/>
				<updated>2025-02-19T15:10:46Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Informacje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski, prof. uczelni&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato</id>
		<title>Sieci komputerowe 2024/2025 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato"/>
				<updated>2025-02-19T15:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt; konsultacj...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2025-02-19T15:02:50Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2024-10-04T07:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadanie 1: tworzenie maszyny wirtualnej */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 20.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/focal/ Ubuntu MATE 20.04] lub z serwera Wydziału Fizyki [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]). Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://cdimage.ubuntu.com/ubuntu-mate/releases/focal/release/ubuntu-mate-20.04.6-desktop-amd64.iso Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima</id>
		<title>Sieci komputerowe 2024/2025 zima</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima"/>
				<updated>2024-10-04T06:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt; konsultacj...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2024-10-04T06:27:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2024/2025 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2024/2025_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2024-03-07T08:55:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Przeszukiwanie pakietów */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 20.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/focal/ Ubuntu MATE 20.04] lub z serwera Wydziału Fizyki [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]). Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji repozytoriów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2024-03-07T08:55:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Przeszukiwanie pakietów */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 20.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/focal/ Ubuntu MATE 20.04] lub z serwera Wydziału Fizyki [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]). Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Do takiej aktualizacji pakietów komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji już zainstalowanych pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2024-03-07T08:51:02Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadanie 3: powtórzenie podstawowych komend systemu Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 20.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/focal/ Ubuntu MATE 20.04] lub z serwera Wydziału Fizyki [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]). Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Służy do tego komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024</id>
		<title>KADD 2023/2024</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024"/>
				<updated>2024-02-20T11:04:54Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}  == Informacje - wykład == Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt; Prowadzący:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się tutaj.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato</id>
		<title>Sieci komputerowe 2023/2024 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato"/>
				<updated>2024-02-20T11:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt; konsultacj...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2024-02-20T11:03:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2023/2024 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2</id>
		<title>SK Zadanie 2</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2"/>
				<updated>2023-11-03T09:10:06Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Projekt 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 1 ===&lt;br /&gt;
&lt;br /&gt;
Za pomocą polecenia  &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; wyświetlić wszystkie pliki kończące się na &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; z katalogu &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 2 ===&lt;br /&gt;
&lt;br /&gt;
Proszę pobrać tekst Romeo i Julii po angielsku ze strony:  http://www.gutenberg.org/cache/epub/1112/pg1112.txt&lt;br /&gt;
&lt;br /&gt;
Po kolei należy:&lt;br /&gt;
# Wypisać linie zawierające słowo Juliet.&lt;br /&gt;
# Wypisać linie zawierające słowo Juliet z numerami linii.&lt;br /&gt;
# Wypisać linie zawierające na raz słowa Juliet i Romeo oraz zapisać do pliku.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3===&lt;br /&gt;
Proszę uruchomić edytor tekstu pluma, wstrzymać go, a następnie wznowić jego proces.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Proszę ustawić zmienną &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; na pusty ciąg znaków i sprawdzić jakie polecenia działają z następującej listy: &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5 ===&lt;br /&gt;
Napisać skrypt, który wypisze 3 linijki:&lt;br /&gt;
&lt;br /&gt;
* Ścieżka do Twojego katalogu domowego (np. &amp;lt;code&amp;gt;/home/foo&amp;lt;/code&amp;gt;) (skorzystać z odpowiedniej zmiennej środowiskowej)&lt;br /&gt;
* &amp;lt;code&amp;gt;${HOME}&amp;lt;/code&amp;gt; (w konsoli ma się pojawić dokładnie taki napis)&lt;br /&gt;
* aktualna data to: pon, 9 mar 2015, 17:47:38 CET (skorzystać z polecenia &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Napisać skrypt (i uruchomić z 3. dowolnymi argumentami), który:&lt;br /&gt;
&lt;br /&gt;
# wypisze liczbę argumentów skryptu&lt;br /&gt;
# wypisze drugi argument&lt;br /&gt;
# wypisze wszystkie dostępne zmienne środowiskowe, które w swojej wartości zawierają Państwa nazwę użytkownika (użyć zmiennej $USER)&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Napisać skrypt, który:&lt;br /&gt;
&lt;br /&gt;
# sprawdzi czy istnieje plik &amp;lt;code&amp;gt;~/.xsession-errors&amp;lt;/code&amp;gt; i wypisze odpowiednią informację&lt;br /&gt;
# porówna liczbę plików w katalogu głównym oraz domowym i wypisze odpowiednią informację&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 8 ===&lt;br /&gt;
Napisz funkcję, która liczy silnię jej argumentu, wykonaj ją dla liczb od 1 do 15.&lt;br /&gt;
&lt;br /&gt;
=== Projekt 1 ===&lt;br /&gt;
Dostępne tematy można znaleźć [http://db.fizyka.pw.edu.pl/sk-2015/zaj2/prace.html tutaj].&lt;br /&gt;
&lt;br /&gt;
== Powłoka Bash ==&lt;br /&gt;
&lt;br /&gt;
Bash jest jedną z powłok systemowych, czyli programów, które pośredniczą między systemem operacyjnym a użytkownikiem. Użytkownik za pomocą powłoki uruchamia programy, jak i programy zwracają do powłoki wynik swojego działania, który następnie jest przekazywany użytkownikowi. Programy mogą komunikować sie z użytkownikiem również niezależnie (np. programy okienkowe).&lt;br /&gt;
&lt;br /&gt;
Każda powłoka zawiera polecenia, które wykonują podstawowe operacje w systemie operacyjnym (np. tworzenie folderów). Paletę domyślnych poleceń wzbogacają zewnętrzne programy, które wykonują operacje nie będące zawartymi poleceniami.&lt;br /&gt;
&lt;br /&gt;
Praktycznie każda dystrybucja Linuxa (z Androidem włącznie) zawiera powłokę Bash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Powłoka Bash: Podstawy ==&lt;br /&gt;
&lt;br /&gt;
Jednym z podstawowych poleceń jest &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt;, służące do wyświetlania tekstu podanego mu jako argument:&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 foo&lt;br /&gt;
W poleceniu echo możemy również stosować tzw. metaznaki. Przykładem takiego znaku jest &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 echo *&lt;br /&gt;
 bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 lost+found media mnt opt optl proc root run sbin selinux srv sys tmp usr var vmlinuz vmlinuz.old&lt;br /&gt;
 echo b*&lt;br /&gt;
 bin boot&lt;br /&gt;
W powyższym przykładzie widzimy, że Bash rozwija znak &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; zastępując go dowolnym ciągiem znaków.&lt;br /&gt;
&lt;br /&gt;
Innym przykładem metaznaku jest &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt;, który zastępuje katalog domowy.&lt;br /&gt;
&lt;br /&gt;
 echo ~&lt;br /&gt;
 /home/jb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1 ==&lt;br /&gt;
&lt;br /&gt;
Za pomocą polecenia  &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; wyświetlić wszystkie pliki kończące się na &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; z katalogu &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Powłoka Bash: Przekierowania i Potoki ==&lt;br /&gt;
&lt;br /&gt;
* '''cat'''&lt;br /&gt;
Program &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; odczytuje zawartość plików i przekierowuje ją na standardowe wyjście:&lt;br /&gt;
&lt;br /&gt;
 cat nazwa_pliku&lt;br /&gt;
&lt;br /&gt;
* '''grep'''&lt;br /&gt;
Służy do wyszukiwania w tekście i wyodrębniania linii zawierających ciąg znaków pasujący do podanego wyrażenia. &lt;br /&gt;
 grep opcje wzorzec plik&lt;br /&gt;
&lt;br /&gt;
* '''Przekierownia &amp;gt; i &amp;gt;&amp;gt;'''&lt;br /&gt;
By przekierować standardowe wyjście programu do pliku należy użyć operatora &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; lub &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 cat plik1 plik2 &amp;gt;&amp;gt; polaczonepliki&lt;br /&gt;
W wariancie z &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; polecenie to spowoduje nadpisanie pliku zawartością standardowego wyjścia, w wariancie &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; spowoduje dopisanie treści na końcu pliku.&lt;br /&gt;
&lt;br /&gt;
* '''Mechanizm potoku (ang. pipe)'''&lt;br /&gt;
Załóżmy, że mamy dwa polecenia: &amp;lt;code&amp;gt;polecenieB&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;polecenieB&amp;lt;/code&amp;gt; i chcemy, aby &amp;lt;code&amp;gt;polecenieB&amp;lt;/code&amp;gt; na swoje standardowe wejście przyjęło wynik działania &amp;lt;code&amp;gt;polecenieA&amp;lt;/code&amp;gt;. W takim przypadku należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 polecenieA | polecenieB&lt;br /&gt;
&lt;br /&gt;
*'''tail'''&lt;br /&gt;
&lt;br /&gt;
Program &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt; okazuje koncówkę pliku&lt;br /&gt;
 cat /usr/share/romeo | tail -n 100&lt;br /&gt;
&lt;br /&gt;
*'''head'''&lt;br /&gt;
&lt;br /&gt;
Program &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; pokazuje początek pliku&lt;br /&gt;
&lt;br /&gt;
* '''Strumienie wyjściowe.''' Każdy program ma podłączone dwa standardowe strumienie wyjściowe:&lt;br /&gt;
** Standardowe wyjście&lt;br /&gt;
** Standardowy strumień błędów&lt;br /&gt;
&lt;br /&gt;
Rozróżnienie wynika z tego, aby wynik działania programu mógł być zwracany przez jeden strumień (np. polecenie tar zwróci spakowany folder), a informacje o ewentualnych błędach przez inny strumień.&lt;br /&gt;
&lt;br /&gt;
By przekierować standardowy strumień błędów należy użyć &amp;lt;code&amp;gt;2&amp;gt;&amp;lt;/code&amp;gt; lub &amp;lt;code&amp;gt;2&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Podsumowanie'''&lt;br /&gt;
# Zapisuje wynik działania do pliku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt; &amp;gt; &amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Dodaje wynik działania do pliku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt; &amp;gt;&amp;gt; &amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Przekierowuje strumień błędów: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt; 2&amp;gt; &amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Przesyła wynik działania (ang. output) programu na wejście (ang. input) drugiego programu: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt; | &amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Więcej informacji: [http://ryanstutorials.net/linuxtutorial/piping.php http://ryanstutorials.net/].&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2 ==&lt;br /&gt;
&lt;br /&gt;
Proszę pobrać tekst Romeo i Julii po angielsku pg1112.txt&lt;br /&gt;
 wget http://www.gutenberg.org/cache/epub/1112/pg1112.txt&lt;br /&gt;
Po kolei należy:&lt;br /&gt;
&lt;br /&gt;
# Wypisać linie zawierające słowo Juliet.&lt;br /&gt;
# Wypisać linie zawierające słowo Juliet z numerami linii.&lt;br /&gt;
# Wypisać linie zawierające na raz słowa Juliet i Romeo oraz zapisać do pliku.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pliki specjalne == &lt;br /&gt;
Plik &amp;lt;code&amp;gt;/dev/null&amp;lt;/code&amp;gt; to plik, który przyjmuje dowolne dane, które potem znikają.&lt;br /&gt;
&lt;br /&gt;
Jest on przydatny kiedy chcemy się pozbyć jakiegoś strumienia danych (np. komunikatów o błędach).&lt;br /&gt;
&lt;br /&gt;
 polecenie 2&amp;gt; /dev/null&lt;br /&gt;
Plik &amp;lt;code&amp;gt;/dev/random&amp;lt;/code&amp;gt; oraz &amp;lt;code&amp;gt;/dev/urandom&amp;lt;/code&amp;gt; zawierają nieskończone ciągi losowych liczb.&lt;br /&gt;
&lt;br /&gt;
Taka komenda pozwala na wpipsanie kilku losowych znaków:&lt;br /&gt;
&lt;br /&gt;
 cat /dev/urandom | head -c 66 | base64&lt;br /&gt;
&lt;br /&gt;
== Sygnały == &lt;br /&gt;
Sygnały są metodą na komunikację między procesami w systemach Linux’owych. Pozwalają, na przykład, na:&lt;br /&gt;
&lt;br /&gt;
* Poproszenie procesu o wyłączenie się&lt;br /&gt;
* Wymuszenie wyłączenia procesu&lt;br /&gt;
* Zatrzymanie wykonania procesu&lt;br /&gt;
* Do wysyłania sygnałów służą polecenia oraz &amp;lt;code&amp;gt;pkill&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kill&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Polecenie '''kill''' przyjmuje id procesu, polecenie '''pkill''' wysyła sygnał do procesów, których nazwa zawiera ciąg znaków podanych w tym poleceniu.&lt;br /&gt;
&lt;br /&gt;
 jb /tmp/bar $ ps -e | grep iceweasel&lt;br /&gt;
 5020 ?        00:13:16 iceweasel&lt;br /&gt;
 kill 5020&lt;br /&gt;
To samo zadanie wykona:&lt;br /&gt;
&lt;br /&gt;
 pkill iceweasel&lt;br /&gt;
Domyślnie '''pkill''' i '''kill''' wysyłają sygnał '''TERM''', który prosi proces by ten się wyłączył (proces może się na to nie zgodzić).&lt;br /&gt;
&lt;br /&gt;
Polecenia '''pkill -9''' oraz '''kill -9''' pozwalają na zabicie procesu (proces zawsze się wyłączy).&lt;br /&gt;
&lt;br /&gt;
Polecenie ''''pkill --signal SIGSTOP''' spowoduje wstrzymanie wykonania procesu, a ''''pkill --signal SIGCONT'''' włączy go ponownie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3== &lt;br /&gt;
Proszę uruchomić edytor tekstu pluma, wstrzymać go, a następnie wznowić jego proces.&lt;br /&gt;
&lt;br /&gt;
== Zmienne w Bash == &lt;br /&gt;
W Bash’u można również tworzyć zmienne.&lt;br /&gt;
&lt;br /&gt;
 jb@gautama:/$ foo=&amp;quot;bar&amp;quot;;&lt;br /&gt;
 jb@gautama:/$ echo $foo;&lt;br /&gt;
 bar&lt;br /&gt;
 jb@gautama:/$ echo ${foo}; #Równoważne do $foo&lt;br /&gt;
 bar&lt;br /&gt;
&lt;br /&gt;
Czyli by ustawić zmienną, podajemy jej nazwę po której następuje znak &amp;quot;=&amp;quot; a następnie wartość. By odczytać zmienną, musimy użyć jej nazwy poprzedzonej znakiem '''$'''.&lt;br /&gt;
&lt;br /&gt;
Uwaga: Białe znaki mają znaczenie: tj. poniższy kod jest niepoprawny: &amp;lt;code&amp;gt;foo = &amp;quot;bar&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Export powoduje, że zmienne są dostępne również dla podprocesów (czyli np. drugi terminal uruchomiony poleceniem z pierwszego terminala).&lt;br /&gt;
&lt;br /&gt;
 export foo=&amp;quot;bar&amp;quot;;&lt;br /&gt;
Nie ma możliwości udostępnienia zmiennych dla nadprocesów.&lt;br /&gt;
&lt;br /&gt;
By ustawić zmienne środowiskowe ‘na stałe’ należy umieścić odpowiednie polecenia '''export''' w plikach:&lt;br /&gt;
* '''/etc/bash.bashrc''' wtedy zmienne będą widoczne dla wszystkich użytkowników&lt;br /&gt;
* '''~/.bashrc''' wtedy będą widoczne dla danego użytkownika.&lt;br /&gt;
&lt;br /&gt;
== Zmienna path ==&lt;br /&gt;
Zmienna '''$PATH''' jest magiczną zmienną powłoki BASH, pozwala ona na zdefiniowanie w jakich katalogach bash szuka plików wykonywalnych.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;codE&amp;gt;'''Note:''' Zmienna '''$PATH''' określa listę katalogów, które będą przeszukiwane podczas uruchamiania programu.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli '''$PATH''' to '''/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games''' oznacza to, że po wykonaniu polecenia np. nano zostaną przeszukane takie położenia: '''/usr/local/bin/nano''', '''/usr/bin/nano'''. itp.&lt;br /&gt;
&lt;br /&gt;
Wszystkie zmienne środowiskowe można wyświetlić za pomocą polecenia '''printenv'''.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4 ==&lt;br /&gt;
Proszę ustawić zmienną &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; na pusty ciąg znaków i sprawdzić jakie polecenia działają.&lt;br /&gt;
&lt;br /&gt;
Czy działa:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;&lt;br /&gt;
Polecenia, które działają są wbudowanymi poleceniami powłoki bash, pozstałe są programami.&lt;br /&gt;
&lt;br /&gt;
== Cytowanie ==&lt;br /&gt;
Powiedzmy, że mamy katalog o nazwie &amp;lt;code&amp;gt;Moje Dokumenty&amp;lt;/code&amp;gt;, który znajduje się w bieżącym katalogu. Chcemy go usunąć, jednak nie udaje się to:&lt;br /&gt;
&lt;br /&gt;
 rm Moje Dokumenty&lt;br /&gt;
 rm: cannot remove ‘Moje’: No such file or directory&lt;br /&gt;
 rm: cannot remove ‘Dokumenty’: No such file or directory&lt;br /&gt;
Okazuje się, że bash potraktował &amp;lt;code&amp;gt;Moje Dokumenty&amp;lt;/code&amp;gt; jako dwa katalogi, jeden o nazwie Moje, drugi o nazwie Dokumenty.&lt;br /&gt;
&lt;br /&gt;
By usunąć ten folder należy użyć cytowania, czyli powiedzieć bashowi: ten ciąg znaków ze spacją jest jednym słowem, służą do tego podwójne cudzysłowy.&lt;br /&gt;
&lt;br /&gt;
Taka komenda zadziała:&lt;br /&gt;
&lt;br /&gt;
 rm &amp;quot;Moje Dokumenty&amp;quot;&lt;br /&gt;
Powiedzmy, że nasz skrypt chce wyświetlić użytkownikowi napis: &amp;lt;code&amp;gt;Dodaj katalog foo do zmiennej ${PATH}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Polecenie:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Dodaj katalog foo do zmiennej ${PATH}&amp;quot;&lt;br /&gt;
wyświetli:&lt;br /&gt;
&lt;br /&gt;
 Dodaj katalog foo do zmiennej /usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
Znów musimy zacytować nasz ciąg znaków, ale tym razem trzeba użyć pojedyńczego apostrofu:&lt;br /&gt;
&lt;br /&gt;
 echo 'Dodaj katalog foo do zmiennej ${PATH}'&lt;br /&gt;
Wyświetla:&lt;br /&gt;
&lt;br /&gt;
 Dodaj katalog foo do zmiennej ${PATH}&lt;br /&gt;
&lt;br /&gt;
== Linia hashbang &amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Skrypty bash mogą być uruchamiane tak samo jak zwykłe programy, o ile:&lt;br /&gt;
&lt;br /&gt;
* nadano im uprawnienia do wykonywania '''chmod +x nazwa.sh'''&lt;br /&gt;
* rozpoczynają się od linii hashbang, czyli od: '''#!/bin/bash''', w linii tej po znakach #! znajduje się pełna ścieżka do interpretera, który wykona ów program.&lt;br /&gt;
&lt;br /&gt;
Przykład najprostszego skryptu:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo hello ze skryptu&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5 ==&lt;br /&gt;
Napisać skrypt, który wypisze 3 linijki:&lt;br /&gt;
&lt;br /&gt;
* Ścieżka do Twojego katalogu domowego (np. &amp;lt;code&amp;gt;/home/foo&amp;lt;/code&amp;gt;) (skorzystać z odpowiedniej zmiennej środowiskowej)&lt;br /&gt;
* &amp;lt;code&amp;gt;${HOME}&amp;lt;/code&amp;gt; (w konsoli ma się pojawić dokładnie taki napis)&lt;br /&gt;
* Następujący tekst (skorzystać z polecenia &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;):&lt;br /&gt;
   aktualna data to: &lt;br /&gt;
   pon, 9 mar 2015, 17:47:38 CET &lt;br /&gt;
== Zapisywanie wyniku polecenia w zmiennej ==&lt;br /&gt;
Czasem chcemy zapisać wynik polecenia do zmiennej, np. polecenie date wyświetla do wyświetlania daty służy polecenie date:&lt;br /&gt;
&lt;br /&gt;
 date +%Y-%m-%d&lt;br /&gt;
wyświetla:&lt;br /&gt;
&lt;br /&gt;
 2015-10-05&lt;br /&gt;
Chcemy stworzyć plik o nazwie kopia-zapasowa-data:&lt;br /&gt;
&lt;br /&gt;
 curr_date=$(date +%Y-%m-%d)&lt;br /&gt;
 file_name=&amp;quot;kopia-zapasowa-${curr_date}&amp;quot;&lt;br /&gt;
 echo &amp;gt; $file_name&lt;br /&gt;
można to zrobić prościej:&lt;br /&gt;
&lt;br /&gt;
 touch &amp;quot;kopia-zapasowa-$(date +%Y-%m-%d)&amp;quot;&lt;br /&gt;
'''Note:''' Uwaga! Działanie '''$()''' można osiągnść również poprzez zastosowanie odwróconych cudzysłowów (`), tj:&lt;br /&gt;
 touch &amp;quot;kopia-zapasowa-`date +%Y-%m-%d`&amp;quot;&lt;br /&gt;
Jednak by oszczędzić Wam problemów z , ‘ oraz ”, na zajęciach będzie wykorzystywane zawsze ``$()`.&lt;br /&gt;
&lt;br /&gt;
==Specjalne zmienne==&lt;br /&gt;
Skrypt basha zawiera specjalne zmienne:&lt;br /&gt;
&lt;br /&gt;
* $0 nazwa skryptu&lt;br /&gt;
* $1-$9 argumenty skryptu&lt;br /&gt;
* $# liczba argumentów&lt;br /&gt;
* $@ wszystkie argumenty na raz&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6 ==&lt;br /&gt;
Napisać skrypt (i uruchomić z 3. dowolnymi argumentami), który:&lt;br /&gt;
&lt;br /&gt;
# wypisze liczbę argumentów skryptu&lt;br /&gt;
# wypisze drugi argument&lt;br /&gt;
# wypisze wszystkie dostępne zmienne środowiskowe, które w swojej wartości zawierają Państwa nazwę użytkownika (użyć zmiennej &amp;lt;code&amp;gt;$USER&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Instrukcje warunkowe ==&lt;br /&gt;
Wykonanie każdego programu może skończyć się albo sukcesem, albo porażką, do syngalizowania sukcesu lub porażki służy tzw. kod wyjścia.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' W C kod wyjścia programu jest sygnalizowani (między innymi) wartością zwracaną przez funkcję main.&lt;br /&gt;
Jeśli program wykonmał się poprawnie funkcja zwraca 0, jeśli nie poprawnie inną wartość.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Jest to notacja odwrotna od tej stosowanej w C, tam 0 oznacza fałsz, a 1 prawdę.&lt;br /&gt;
Powód takiej notacji w jest prosty: Program może poprawnie się wykoanć tylko w jeden sposób, może natomiast napotkać na wiele problemów, które spowodują błędne wykonanie.&lt;br /&gt;
&lt;br /&gt;
Do sprawdzenia kodu wyjścia ostatniego polecenia można użyć magicznej zmiennej $?.&lt;br /&gt;
&lt;br /&gt;
Instrukcja if w Bash ma następującą składnię:&lt;br /&gt;
 if warunek&lt;br /&gt;
 then&lt;br /&gt;
 fi&lt;br /&gt;
Gdzie warunek jest dowolnym programem. Jeśli program ten zwróci kod wyjścia 0 warunek się wykona, nie wykona się natomiast jeśli zwróci inny kod wyjścia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Przykładowo by sprawdzić czy foo jest nazwą użytkownika można użyć:&lt;br /&gt;
&lt;br /&gt;
 if grep foo /etc/ passwd &amp;gt; /dev/null&lt;br /&gt;
 then&lt;br /&gt;
  echo &amp;quot;Jest&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Uwaga została zastosowana tu nowa składnia polecenia grep jest to składnia '''grep wzorzec nazwa pliku''' oraz wyjście z grep zostało przekierowane do pliku &amp;lt;code&amp;gt;/dev/null&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pełna składnia if jest taka:&lt;br /&gt;
&lt;br /&gt;
 if warunek1&lt;br /&gt;
 then&lt;br /&gt;
     polecenie1 &lt;br /&gt;
 elif warunek2&lt;br /&gt;
 then&lt;br /&gt;
     polecenie2 &lt;br /&gt;
 else&lt;br /&gt;
     polecenie3&lt;br /&gt;
 fi&lt;br /&gt;
W warunku if często korzysta się z polecenia test, na przykład &amp;lt;code&amp;gt;test -e&amp;lt;/code&amp;gt; plik sprawdza czy plik istnieje:&lt;br /&gt;
&lt;br /&gt;
 if test -e /tmp/foo&lt;br /&gt;
 then&lt;br /&gt;
     echo istnieje&lt;br /&gt;
 else&lt;br /&gt;
     echo nie istnieje&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Polecam sprawdzenie jak działa polecenie test za pomocą man test.&lt;br /&gt;
&lt;br /&gt;
Polecenie test można wykorzystać również za pomocą krótszej postaci, tj. nawiasów kwadratowych:&lt;br /&gt;
&lt;br /&gt;
 if [ -e /tmp/foo ]&lt;br /&gt;
 then&lt;br /&gt;
     echo istnieje&lt;br /&gt;
 else&lt;br /&gt;
     echo nie istnieje&lt;br /&gt;
 fi&lt;br /&gt;
Uwaga: między [ oraz ], a warunkiem musi znajdować się przynajmniej jedna spacja.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7 ==&lt;br /&gt;
Napisać skrypt, który:&lt;br /&gt;
&lt;br /&gt;
# sprawdzi czy istnieje plik &amp;lt;code&amp;gt;~/.xsession-errors&amp;lt;/code&amp;gt; i wypisze odpowiednią informację&lt;br /&gt;
# porówna liczbę plików w katalogu głównym oraz domowym i wypisze odpowiednią informację&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Polecam program '''wc''' (proszę przeczytać &amp;lt;code&amp;gt;man wc&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Obliczenia arytmetyczne ==&lt;br /&gt;
Do obliczeń arytmetycznych służy funkcja '''let''':&lt;br /&gt;
&lt;br /&gt;
 let x=10 &lt;br /&gt;
 echo $x # wypisze 10&lt;br /&gt;
 let &amp;quot;x /= 3&amp;quot; &lt;br /&gt;
 echo $x # wypisze 3&lt;br /&gt;
 let &amp;quot;x *= x&amp;quot;&lt;br /&gt;
 echo $x # wypisze 9&lt;br /&gt;
'''Warning''' Bash może wspierać tylko arytmetykę stałoprzecinkową, dla której 10/3 wynosi dokładnie 3.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' Przy wykonywaniu operacji należy umieszczać spacje wokół operatora =.&lt;br /&gt;
&lt;br /&gt;
==Funkcje==&lt;br /&gt;
&lt;br /&gt;
Niektóre fragmenty skryptu można zamknąć w funkcję, składnia funkcji jest następująca:&lt;br /&gt;
&lt;br /&gt;
 function func {&lt;br /&gt;
   # Treść&lt;br /&gt;
 }&lt;br /&gt;
By wykonać funkcję należy napisać jej nazwę.&lt;br /&gt;
&lt;br /&gt;
Do funkcji można przekazywać parametry. Parametry funkcji są dostępne za pomocą tych samych zmiennych co argumenty skyptu, tj:&lt;br /&gt;
&lt;br /&gt;
* $1-$9 argumenty funkcji&lt;br /&gt;
* $# liczba argumentów&lt;br /&gt;
* $@ wszystkie argumenty na raz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pętle ==&lt;br /&gt;
'''Pętla for''' pozwala na iterowanie po zbiorze elementów separowanych spacją:&lt;br /&gt;
&lt;br /&gt;
 for i in a b c d&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;wartość iteratora to $i&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 for i in /etc/*conf&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;$i&amp;quot;&lt;br /&gt;
 done&lt;br /&gt;
'''Note:''' Można skonfigurować basha tak, by separatorem był inny znak, ale poprzestańmy na spacji.&lt;br /&gt;
&lt;br /&gt;
'''while''' - sprawdza, czy warunek jest prawdziwy, jeśli tak, pętla wykonuje się, aż warunek stanie się fałszywy:&lt;br /&gt;
&lt;br /&gt;
 a=0&lt;br /&gt;
 while [ $a -lt 5 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;pętla wykonuje się po raz: $a&amp;quot;&lt;br /&gt;
     a=$[a + 1] # lub a=$(( $a + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
'''until''' - sprawdza, czy warunek jest fałszywy, jeśli tak, pętla wykonuje się aż warunek stanie się prawdziwy:&lt;br /&gt;
&lt;br /&gt;
 a=0&lt;br /&gt;
 until [ $a -gt 5 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;pętla wykonuje się po raz: $a&amp;quot;&lt;br /&gt;
     a=$[a + 1]&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Zadanie 8 ==&lt;br /&gt;
Napisz funkcję, która liczy silnię jej argumentu, wykonaj ją dla liczb od 1 do 15.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Polecenia, które trzeba znać ==&lt;br /&gt;
Wszystkie, które pojawiły się podczas tego laboratorium, oraz:&lt;br /&gt;
* &amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;touch&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;more&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls -a&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls -h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls -t&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;&lt;br /&gt;
Więcej informacji można znaleźć [http://www.if.pw.edu.pl/~lgraczyk/sk/html/zaj2.html tutaj], na dole strony.&lt;br /&gt;
&lt;br /&gt;
== Projekt 1 ==&lt;br /&gt;
Projekty realizowane są pojedynczo. Z projektu można uzyskać maksymalnie 15 punktów. Dostępne tematy można znaleźć [https://www.if.pw.edu.pl/~lgraczyk/sk/html/zaj2/prace.html tutaj].&lt;br /&gt;
&lt;br /&gt;
== Zadania i informacje dodatkowe ==&lt;br /&gt;
&lt;br /&gt;
Proszę wylistować użytkowników z pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt; za pomocą polecenia &amp;lt;code&amp;gt;cut&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Note''' Polecenie  &amp;lt;code&amp;gt;cut&amp;lt;/code&amp;gt; służy do wypisywania wybranych części (elementów) linii z pliku tekstowego. W naszym przypadku używamy to polecenie z opcją &amp;lt;code&amp;gt;-d :&amp;lt;/code&amp;gt;, która powoduje, że linie dzielone są na części odseparowane od siebie znakiem :. Użycie opcji &amp;lt;code&amp;gt;-f 1&amp;lt;/code&amp;gt; wybiera 1 część (z 2 drugą część, itd.)&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima</id>
		<title>Sieci komputerowe 2023/2024 zima</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima"/>
				<updated>2023-10-06T06:15:13Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Wykłady */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima</id>
		<title>Sieci komputerowe 2023/2024 zima</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima"/>
				<updated>2023-10-06T06:14:41Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Informacje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr hab. inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima</id>
		<title>Sieci komputerowe 2023/2024 zima</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima"/>
				<updated>2023-10-06T06:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt; konsultacje: um...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2023-10-06T06:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2023/2024 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2023/2024_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2023-02-17T10:12:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr letni 2021/2022 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023</id>
		<title>KADD 2022/2023</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023"/>
				<updated>2023-02-17T10:10:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}  == Informacje - wykład == Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt; Prowadzący:&amp;lt;br&amp;gt; dr inż. Łukasz Graczykowsk...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się tutaj.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2023-02-17T10:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Laboratorium - Bieżące wyniki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2023-02-17T10:08:02Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr letni 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2023-02-17T10:07:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr letni 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022/2023 Komputerowa analiza danych doświadczalnych &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6</id>
		<title>SK Zadanie 6</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6"/>
				<updated>2022-12-15T09:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadanie 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Zadania==&lt;br /&gt;
=== Zadanie 1 ===&lt;br /&gt;
Wyłączyć logowanie &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt; dla użytkownika &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Zadanie 2===&lt;br /&gt;
Zalogować się z maszyny matki na maszynę wirtualną za pomocą '''klucza ssh'''.&lt;br /&gt;
&lt;br /&gt;
===Zadanie 3.A===&lt;br /&gt;
Proszę zainstalować firewall '''ufw''', a następnie korzystając z informacji z &amp;lt;code&amp;gt;man ufw&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Wyłączyć możliwość wykonywania połączeń przychodzących&lt;br /&gt;
* Zweryfikować brak możliwości podłączania się z serwerem ssh&lt;br /&gt;
* Umożliwić łączenie się na port 22 (port SSH)&lt;br /&gt;
* Zweryfikować że ssh działa&lt;br /&gt;
* Wyłączyć firewall ufw&lt;br /&gt;
&lt;br /&gt;
===Zadanie 3.B===&lt;br /&gt;
* Wykonać zadanie 3.A przy użyciu graficznej wersji '''gufw'''&lt;br /&gt;
* Użyć programu '''netstat''' do monitorowania obecnych połączeń. Następnie włączyć nasłuch na porcie 4444 (przy użyciu &amp;lt;code&amp;gt;ncat&amp;lt;/code&amp;gt;) i połączyć się przy użyciu programu &amp;lt;code&amp;gt;telnet&amp;lt;/code&amp;gt;. Przy użyciu ponownie wywołanego programu &amp;lt;code&amp;gt;netstat&amp;lt;/code&amp;gt; należy zaobserwować nowe połączenie.&lt;br /&gt;
* Użyć komendy '''last''' by zaobserwować ostatnie logowania.&lt;br /&gt;
* Włączyć logowanie w ufw, wykonać nieudaną próbę połączenia, obejrzeć plik z logami.&lt;br /&gt;
&lt;br /&gt;
===Zadanie 4===&lt;br /&gt;
Proszę:&lt;br /&gt;
&lt;br /&gt;
* Zainstalować serwer '''NFS''' (Network File System)&lt;br /&gt;
* Korzystając z &amp;lt;code&amp;gt;man exports&amp;lt;/code&amp;gt; udostępnić katalog &amp;lt;code&amp;gt;/home/&amp;lt;&amp;lt;waszlogin&amp;gt;&amp;gt;/foo&amp;lt;/code&amp;gt; dla całego laboratorium (tj. dla sieci 192.168.1.0/24), zarówno do odczytu jak i zapisu. &lt;br /&gt;
* Zamontować katalog, który został udostępniony przez jedną z koleżanek/kolegów i następnie zapisać coś w tym katalogu (sprawdzić, czy obie osoby widzą tą rzecz).&lt;br /&gt;
&lt;br /&gt;
==Zmiana interfejsu sieciowego==&lt;br /&gt;
Włączamy maszynę wirtualną w trybie '''bridged adapter'''. Przypomnienie:&lt;br /&gt;
&lt;br /&gt;
Settings -&amp;gt; Network Adapters -&amp;gt; Attached to: Bridged Adapter, eth0&lt;br /&gt;
&lt;br /&gt;
==Serwer ssh==&lt;br /&gt;
Protokół SSH poznaliśmy po krótce już na poprzednich zajęciach. Jest to szyfrowany protokół komunikacyjny w architekturze klient-serwer, działający w niezabezpieczonej sieci, który umożliwia:&lt;br /&gt;
&lt;br /&gt;
* bezpieczną zdalną pracę na komputerze podłączonym do Internetu,&lt;br /&gt;
* bezpieczne logowanie za pomocą pary kryptograficznych kluczy,&lt;br /&gt;
* tworzenie bezpiecznych tuneli pozwalających np. na omijanie niektórych firewalli.&lt;br /&gt;
&lt;br /&gt;
===Konfiguracja serwera ssh===&lt;br /&gt;
Konfiguracja serwera ssh mieści się w katalogu &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; ('''Uwaga!''' Proszę nie pomylić z &amp;lt;code&amp;gt;ssh_config&amp;lt;/code&amp;gt; — bez &amp;quot;d&amp;quot; w środku).&lt;br /&gt;
&lt;br /&gt;
Aby zapoznać się z możliwościami konfiguracyjnymi ssh za pomocą tego pliku, proszę przejrzeć stronę manuala: &amp;lt;code&amp;gt;man sshd_config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 1 ===&lt;br /&gt;
Proszę wyłączyć możliwość logowania ssh dla użytkownika &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Po wykonaniu zmian należy zrestartować serwer wykonując polecenie:&lt;br /&gt;
&lt;br /&gt;
 sudo service ssh restart&lt;br /&gt;
&lt;br /&gt;
==Logowanie za pomocą klucza==&lt;br /&gt;
&lt;br /&gt;
===Logowanie na zdalną maszynę===&lt;br /&gt;
Logowanie na zdalną maszynę:&lt;br /&gt;
&lt;br /&gt;
 ssh username@numer_ip&lt;br /&gt;
Przy pierwszym logowaniu pojawi się ostrzeżenie:&lt;br /&gt;
&lt;br /&gt;
 The server's host key is not cached in the registry. You&lt;br /&gt;
 have no guarantee that the server is the computer you&lt;br /&gt;
 think it is.&lt;br /&gt;
 The server's rsa2 key fingerprint is:&lt;br /&gt;
 ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:&lt;br /&gt;
Mówi ono że:&lt;br /&gt;
&lt;br /&gt;
Nie łączyliście się z tym serwerem do tej pory i sygnatura tego serwera nie znajduje się w rejestrze.&lt;br /&gt;
&lt;br /&gt;
System SSH nie ma pewności, że połączyliście się z właściwym serwerem - w pliku &amp;lt;code&amp;gt;~/.ssh/known_hosts&amp;lt;/code&amp;gt; zabrakło sygnatury serwera. W takim wypadku komputer zwykle pyta (1) czy na pewno chcemy się połączyć z nieznanym serwerem, oraz (2) czy od razu dodać jego sygnaturę do rejestru. Oczywiście, gdybyśmy ręcznie dodali sygnaturę serwera do tego pliku, ssh nie wyświetliłby tego komentarza nawet za pierwszym połączeniem.&lt;br /&gt;
&lt;br /&gt;
===Działanie logowania za pomocą klucza===&lt;br /&gt;
'''Kryptografia klucza publicznego''' (nazywana również '''kryptografią asymetryczną''') to rodzaj kryptografii, w którym używa się zestawów dwu lub więcej powiązanych ze sobą kluczy, umożliwiających wykonywanie różnych czynności kryptograficznych. Jeden z kluczy może być udostępniony publicznie bez utraty bezpieczeństwa danych zabezpieczanych tym kryptosystemem ([https://pl.wikipedia.org/wiki/Kryptografia_klucza_publicznego więcej]).&lt;br /&gt;
&lt;br /&gt;
Klient generuje parę kluczy, zwanych publicznym i prywatnym, klucze te (bez wchodzenia w szczegóły) pozwalają na wykonanie kryptograficznego podpisu wiadomości. Klucz prywatny pozwala na podpisanie wiadomości, a publiczny na weryfikację poprawności podpisu i jej otwarcie. Mając klucz publiczny nie da się ani podpisać wiadomości, ani uzyskać klucza prywatnego.&lt;br /&gt;
&lt;br /&gt;
Procedura logowania za pomocą klucza wygląda następująco:&lt;br /&gt;
* Klient i serwer negocjują połączenie 1-do-1, którego nikt nie może podsłuchać.&lt;br /&gt;
* Serwer udowadnia klientowi, że jest tym serwerem do którego klient chciał się połączyć (patrz wyżej).&lt;br /&gt;
* Klient wysyłą prośbę: chcę zalogować się jako użytkownik &amp;lt;code&amp;gt;xyz&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Serwer odpowiada: w takim razie podpisz mi ten losowy ciąg znaków.&lt;br /&gt;
* Klient swoim kluczem prywatnym podpisuje ów losowy ciąg znaków.&lt;br /&gt;
* Serwer znajduje odpowiedni klucz publiczny i sprawdza poprawność podpisu.&lt;br /&gt;
&lt;br /&gt;
Klucze mają następujące przewagi nad hasłami:&lt;br /&gt;
&lt;br /&gt;
* Bezpieczne hasła są bardzo trudne do zapamiętania (długi ciąg losowych znaków). Klucze są zapamiętywane przez komputer, więc mogą zawierać więcej “losowości”.&lt;br /&gt;
* Hasło jest wysyłane w tekście jawnym na serwer, w autoryzacji kluczem publicznym w komunikacji nie pojawiają się dane, które pozwalają na autoryzację.&lt;br /&gt;
* Hasło trzeba podawać przy każdym kolejnym logowaniu. Istnieją natomiast dość standardowe metody bezpiecznego przechowywania kluczy ssh w pamięci RAM komputera (hasło do klucza podaje się tylko raz przy logowaniu na komputer; my na zajęciach będziemy używali kluczy bez hasła)&lt;br /&gt;
&lt;br /&gt;
===Instalacja swojego klucza na serwerze===&lt;br /&gt;
By wygenerować klucz należy wykonać polecenie &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt;, można podać hasło do klucza, ale na dziś sobie to darujemy. Polecenie to wykonujemy na komputerze, z którego chcemy się zalogować.&lt;br /&gt;
&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt; tworzy dwa pliki:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;~/.ssh/id_rsa.pub&amp;lt;/code&amp;gt; — zawiera klucz publiczny&lt;br /&gt;
* &amp;lt;code&amp;gt;~/.ssh/id_rsa &amp;lt;/code&amp;gt;— zawiera klucz prywatny&lt;br /&gt;
Plik &amp;lt;code&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/code&amp;gt; zawiera listę kluczy publicznych, po jednym w każdej linii. Klucz prywatny powiązany z dowolnym z tych kluczy publicznych może posłużyć do logowania się do serwera.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''Uwaga!''' Zarówno folder &amp;lt;code&amp;gt;$HOME/.ssh/&amp;lt;/code&amp;gt; oraz pliki w środku muszą mieć uprawnienia do czytania '''tylko''' przez użytnownika (np. &amp;lt;code&amp;gt;chmod 600&amp;lt;/code&amp;gt;).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Uwaga 2!''' Postępowanie:&lt;br /&gt;
* Generujemy na komputerze, z którego się logujemy, klucz prywatny i publiczny. &lt;br /&gt;
* Klucz publiczny wysyłamy na komputer, na który chcemy się zalogować (do folderu &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt;). &lt;br /&gt;
* Na komputerze, na który chcemy sie zalogować kopiujemy zawartość klucza publicznego do pliku &amp;lt;code&amp;gt;~/.ssh/authorized_keys&amp;lt;/code&amp;gt;. &lt;br /&gt;
* Przed pierwszym logowaniem, w nowszych wersjach Ubuntu, musimy również na maszynie, z której się będziemy logować, wykonać polecenie &amp;lt;code&amp;gt;ssh-add&amp;lt;/code&amp;gt; (komenda dodaje dane klucza prywatnego do specjalnego agenta ssh, &amp;lt;code&amp;gt;ssh-agent&amp;lt;/code&amp;gt;, który zarządza kluczami prywatnymi na danej maszynie).&lt;br /&gt;
&lt;br /&gt;
===Zadanie 2===&lt;br /&gt;
Zalogować się z maszyny wirtualnej na maszynę-matkę za pomocą klucza ssh.&lt;br /&gt;
&lt;br /&gt;
==Instalacja firewalla==&lt;br /&gt;
Firewall to oprogramowanie pozwalające na kontrolę pakietów IP przetwarzanych przez maszynę.&lt;br /&gt;
&lt;br /&gt;
W systemach GNU/Linux firewall jest częścią jądra systemu i można go kontrolować za pomocą polecenia &amp;lt;code&amp;gt;iptables&amp;lt;/code&amp;gt;. Polecenie to jednak nie jest bardzo przyjazne, więc poznamy bardzo prostą nakładkę na &amp;lt;code&amp;gt;iptables&amp;lt;/code&amp;gt;, którą jes program &amp;lt;code&amp;gt;ufw&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Zadanie 3.A===&lt;br /&gt;
Proszę zainstalować program &amp;lt;code&amp;gt;ufw&amp;lt;/code&amp;gt;, a następnie korzystając z informacji z &amp;lt;code&amp;gt;man ufw&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Wyłączyć możliwość wykonywania połączeń przychodzących&lt;br /&gt;
* Zweryfikować brak możliwości podłączania się z serwerem ssh&lt;br /&gt;
* Umożliwić łączenie się na port 22 (port SSH)&lt;br /&gt;
* Zweryfikować że ssh działa&lt;br /&gt;
* Wyłączyć firewall.&lt;br /&gt;
&lt;br /&gt;
==Firewall i bezpieczeństwo - ciąg dalszy==&lt;br /&gt;
* &amp;lt;code&amp;gt;gufw&amp;lt;/code&amp;gt; - graficzna nakładna na ufw&lt;br /&gt;
* &amp;lt;code&amp;gt;ufw logging on&amp;lt;/code&amp;gt; - zablokowane próby nawiązania połączenia będą zapisywane w katalogu &amp;lt;code&amp;gt;/var/log/&amp;lt;/code&amp;gt; w plikach o nazwach zaczynających się od &amp;lt;code&amp;gt;ufw&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;netstat&amp;lt;/code&amp;gt; - rozbudowany program wyświetlajacy informacje o połączeniach sieciowych&lt;br /&gt;
** Należy wypróbować: &amp;lt;code&amp;gt;netstat -atunp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Active Internet connections (servers and established)&lt;br /&gt;
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name&lt;br /&gt;
'''Port 53''': DNS&lt;br /&gt;
 tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      -               &lt;br /&gt;
'''Port 22''': SSH&lt;br /&gt;
 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               &lt;br /&gt;
'''Port 631''': IPP (Internet Printing Protocol)&lt;br /&gt;
 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               &lt;br /&gt;
 tcp6       0      0 :::22                   :::*                    LISTEN      -               &lt;br /&gt;
 tcp6       0      0 ::1:631                 :::*                    LISTEN      -               &lt;br /&gt;
 udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 0.0.0.0:59398           0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 127.0.1.1:53            0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 194.29.175.249:123      0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 127.0.0.1:123           0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 0.0.0.0:123             0.0.0.0:*                           -               &lt;br /&gt;
 udp        0      0 0.0.0.0:631             0.0.0.0:*                           -               &lt;br /&gt;
 udp6       0      0 :::5353                 :::*                                -               &lt;br /&gt;
 udp6       0      0 :::51224                :::*                                -               &lt;br /&gt;
 udp6       0      0 fe80::15a4:1221:4cd:123 :::*                                -               &lt;br /&gt;
 udp6       0      0 ::1:123                 :::*                                -               &lt;br /&gt;
 udp6       0      0 :::123                  :::*                                -    &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;last&amp;lt;/code&amp;gt; - komenda wyświetlająca informacje o ostatnich logowaniach na komputer/serwer&lt;br /&gt;
&lt;br /&gt;
===Zadanie 3.B===&lt;br /&gt;
* Wykonać zadanie 3.A przy użyciu &amp;lt;code&amp;gt;gufw&amp;lt;/code&amp;gt;&lt;br /&gt;
* Użyć &amp;lt;code&amp;gt;netstat&amp;lt;/code&amp;gt; do monitorowania obecnych połączeń. Następnie włączyć nasłuch na porcie 4444 (przy użyciu &amp;lt;code&amp;gt;ncat&amp;lt;/code&amp;gt;) i połączyć się przy użyciu programu &amp;lt;code&amp;gt;telnet&amp;lt;/code&amp;gt;. Przy użyciu ponownie wywołanego programu &amp;lt;code&amp;gt;netstat&amp;lt;/code&amp;gt; należy zaobserwować nowe połączenie.&lt;br /&gt;
* Użyć komendy &amp;lt;code&amp;gt;last&amp;lt;/code&amp;gt; by zaobserwować ostatnie logowania.&lt;br /&gt;
* Włączyć logowanie w &amp;lt;code&amp;gt;ufw&amp;lt;/code&amp;gt;, wykonać nieudaną próbę połączenia, obejrzeć plik z logami.&lt;br /&gt;
&lt;br /&gt;
==Instalacja serwera i klienta NFS==&lt;br /&gt;
NFS (Network File System) to sieciowy system plików, który pozwala na dostęp do wybranych plików wielu komputerom w danej sieci komputerowej. Oprócz NFS istnieje wiele innych sieciowych systemów plików. Inne ważne to:&lt;br /&gt;
* Samba (protokół współdzielenia plików i innych rzeczy w systemie Windows)&lt;br /&gt;
* Lustre (klastrowy system plików)&lt;br /&gt;
&lt;br /&gt;
===Instalacja serwera NFS===&lt;br /&gt;
By zainstalować narzędzia NFS należy zainstalować dwie paczki: &amp;lt;code&amp;gt;nfs-kernel-server&amp;lt;/code&amp;gt; oraz &amp;lt;code&amp;gt;nfs-common&amp;lt;/code&amp;gt;. Pierwsza z nich służy do udostępniania katalogów, druga do montowania katalogów już udostępnionych.&lt;br /&gt;
&lt;br /&gt;
===Zadanie 4===&lt;br /&gt;
Proszę:&lt;br /&gt;
&lt;br /&gt;
* Zainstalować NFS.&lt;br /&gt;
* Korzystając z &amp;lt;code&amp;gt;man exports&amp;lt;/code&amp;gt; udostępnić katalog &amp;lt;code&amp;gt;/home/&amp;lt;&amp;lt;waszlogin&amp;gt;&amp;gt;/foo&amp;lt;/code&amp;gt; dla kolegi/koleżanki w parze (tj. dla numeru IP drugiej osoby), zarówno do odczytu jak i zapisu (należy zmienić uprawnienia folderu na 777 (chmod) oraz właściciela folderu na nobody:nogroup (chown)). Konfiguracja NFS jest dostępna w katalogu &amp;lt;code&amp;gt;/etc/exports&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Zamontować sobie katalog, który został udostępniony przez jedną z koleżanek/kolegów i następnie zapisać coś w tym katalogu.&lt;br /&gt;
&lt;br /&gt;
Do montowania plików i katalogów służy polecenie &amp;lt;code&amp;gt;mount &amp;lt;skąd&amp;gt; &amp;lt;dokąd&amp;gt;&amp;lt;/code&amp;gt;, gdzie &amp;lt;code&amp;gt;&amp;lt;dokąd&amp;gt;&amp;lt;/code&amp;gt; musi być '''istniejącym katalogiem''' lokalnym. Z kolei &amp;lt;code&amp;gt;&amp;lt;skąd&amp;gt;&amp;lt;/code&amp;gt; w przypadku &amp;lt;code&amp;gt;nfs&amp;lt;/code&amp;gt; ma postać &amp;lt;code&amp;gt;IP:ścieżka(rw,sync)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Uwaga!''' Po zmianie pliku &amp;lt;code&amp;gt;/etc/exports&amp;lt;/code&amp;gt; należy zrestartować serwer &amp;lt;code&amp;gt;nfs&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;/etc/init.d/nfs-kernel-server restart&amp;lt;/code&amp;gt;) oraz wykonać: &amp;lt;code&amp;gt;/etc/init.d/rpcbind restart&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2022-11-17T15:07:41Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr zimowy 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-11-04T09:56:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na [https://docs.google.com/spreadsheets/d/1-Cnk9BDDuZwNyBCaZNa7hdofi-1tOB-tYrTGNW0y5ic/edit#gid=0 tej] stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2022-11-04T09:55:26Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr zimowy 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe (stacjonarne) - olimp3]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-10-28T08:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Laboratorium - Bieżące wyniki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na [https://docs.google.com/spreadsheets/d/1-Cnk9BDDuZwNyBCaZNa7hdofi-1tOB-tYrTGNW0y5ic/edit#gid=0 tej] stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-10-07T08:38:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Zadania */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-10-07T08:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Regulamin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://olimp3.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2022-10-07T08:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Semestr zimowy 2022/2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://olimp3.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote</id>
		<title>SK Zadanie 1 remote</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote"/>
				<updated>2022-10-06T09:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Instalowanie oprogramowania */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Skrót zadań z Laboratorium 1 ==&lt;br /&gt;
=== Zadanie 1 i 2 ===&lt;br /&gt;
Należy utworzyć nową maszynę wirtualną przy użyciu programu '''VirtualBox''' o nazwie '''Imie Nazwisko''' (3 GB RAM, 12 GB domyślnego rozmiaru dysku) oraz zainstalować system '''Linux Ubuntu 20.04 LTS 64-bit''' (obraz płyty iso należy ściągnąć ze strony [https://ubuntu-mate.org/download/amd64/focal/ Ubuntu MATE 20.04] lub z serwera Wydziału Fizyki [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]). Użytkownik: &amp;lt;code&amp;gt;student&amp;lt;/code&amp;gt;, hasło:  własne, do zapamiętania. Partycja główna 10 GB, ext4. Partycja wymiany swap - pozostała pamięć.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 3 ===&lt;br /&gt;
Powtórzenie komend systemu Linux:&lt;br /&gt;
* polecenia: &amp;lt;code&amp;gt;cd, wget, pwd, mkdir, cp, cat&amp;lt;/code&amp;gt;&lt;br /&gt;
* ścieżka względna oraz ścieżka absolutna&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 4 ===&lt;br /&gt;
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 5  ===&lt;br /&gt;
Należy zainstalować programy:&lt;br /&gt;
* serwer ''ssh''&lt;br /&gt;
* edytor tekstu ''emacs''&lt;br /&gt;
Należy pamiętać o komendzie &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 6 ===&lt;br /&gt;
Dodaj użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
=== Zadanie 7 ===&lt;br /&gt;
Dodaj użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer.&lt;br /&gt;
&lt;br /&gt;
== Wirtualizacja ==&lt;br /&gt;
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze '''jednocześnie'''. &lt;br /&gt;
&lt;br /&gt;
Wyróżniamy:&lt;br /&gt;
* '''Host''' (lub “matka”) — system, w którym uruchomione są inne systemy operacyjne (poprzez odpowiednie oprogramowanie)&lt;br /&gt;
* '''Guest''' (lub &amp;quot;gość&amp;quot;) — system, który jest uruchomiony w oprogramowaniu symulującym komputer, które działa na hoście. Jeden host może mieć uruchomionych wiele systemów operacyjnych typu guest. Tego typu wirtualny kompuer nazywamy ''maszyną wirtualną''.&lt;br /&gt;
&lt;br /&gt;
Kiedy wirtualizacja jest przydatna?&lt;br /&gt;
* Gdy pracujemy na Windows'ie a musimy uruchomić program napisany pod Linux'a w tym samym czasie&lt;br /&gt;
* W dużych zespołach programistycznych - każdy projekt ma dedykowany szablon maszyn wirtualnych, który jest skonfigurowany pod potrzeby tego projektu. W ten sposób programista może pracować nad dwoma projektami, które wymagają różnych konfiguracju systemu operacyjnego.&lt;br /&gt;
* Na potrzeby testowania i wdrażania aplikacji. Możemy testować działanie tej samej aplikacji na różnych konfiguracjach systemu operacyjnego (czy nawet na różnych systemach  operacyjnych).&lt;br /&gt;
* W celu sprawdzenia komunikacji między aplikacjami - każda maszyna wirtualna (każdy system guest) może otrzymać swój indywidualny adres IP w sieci i być widoczny dla hosta i innych komputerów jako rzeczywista maszyna.&lt;br /&gt;
&lt;br /&gt;
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 1: tworzenie maszyny wirtualnej ==&lt;br /&gt;
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program [https://www.virtualbox.org/ VirtualBox] firmy Oracle. Instrukcja została dostosowana do angielskiej wersji programu VirtualBox, w przypadku polskiej wersji językowej należy odnaleźć słowne odpowiedniki. Jeśli chodzi o instalowany system operacyjny będziemy również instalować wersję angielską - w przypadku problemów umożliwia to łatwiejsze odnalezienie odpowiedzi w internecie.&lt;br /&gt;
&lt;br /&gt;
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:&lt;br /&gt;
# instalujemy aplikację VirtualBox [https://www.virtualbox.org/ VirtualBox] firmy Oracle.&lt;br /&gt;
# otwieramy aplikację VirtualBox &lt;br /&gt;
# włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -&amp;gt; '''New''')&lt;br /&gt;
# '''Name''': ''ImieNazwisko''&lt;br /&gt;
# '''Type''': ''Linux''&lt;br /&gt;
# '''Version''': ''Ubuntu (64 bit)''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' domyślnie będziemy używać systemu [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest. Jeśli wasz komputer nie umożliwia instalacji wersji 64 bitowej należy ściągnąć 32 bitowy odpowiednik. Nie wpłynie to na resztę zajęć. &amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta; dostosujcie więc wartości do własnej maszyny, pamiętając, by zostawić minimum 1 GB RAMu dla hosta!)&lt;br /&gt;
# '''Hard disk''': wybieramy ''Create a virtual hard disk now''&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' dysk maszyny wirtualnej będzie widoczny '''tylko''' w systemie typu guest. Na maszynie typu host będzie to po prostu zwykły plik.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)''&lt;br /&gt;
## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa)&lt;br /&gt;
## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy na około 12 GB.&lt;br /&gt;
&lt;br /&gt;
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy &amp;quot;włożyć&amp;quot; do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-20.04.2.0-desktop-amd64.iso''' uprzednio ściągnięty ze strony [https://ubuntu-mate.org/download/amd64/focal/ Linux Ubuntu 20.04 LTS].&lt;br /&gt;
&lt;br /&gt;
[[File:Open-cdrom.png|750px]]&lt;br /&gt;
&lt;br /&gt;
W tym momencie mamy stworzoną maszynę wirtualną z włożoną &amp;quot;płytą&amp;quot; do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 2: instalacja systemu Linux Ubuntu ==&lt;br /&gt;
# Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu)&lt;br /&gt;
#: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator)&lt;br /&gt;
#: [[File:UbuntuProblem VB.png|685px]]&lt;br /&gt;
# W oknie '''Welcome''' wybieramy język angielski i klikamy '''Install Ubuntu MATE'''&lt;br /&gt;
# W ekranie wyboru klawiatury ustawiamy ''Polish'' - ''Polish'' i klikamy '''Continue'''&lt;br /&gt;
# W kolejnym oknie '''zaznaczamy''' Normal installation, ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.)&lt;br /&gt;
# W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku)&lt;br /&gt;
#: &amp;lt;code&amp;gt;'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])&amp;lt;/code&amp;gt;&lt;br /&gt;
# W kolejnym oknie zaznaczamy dysk &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt; oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się &amp;lt;code&amp;gt;free space&amp;lt;/code&amp;gt;. Tworzymy dwie partycje:&lt;br /&gt;
## '''Partycja głównego systemu plików'''&lt;br /&gt;
##* Rozmiar: ''10 GB''&lt;br /&gt;
##* Typ: ''primary''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''Ext4 journaling file system''&lt;br /&gt;
##* Mount point: /&lt;br /&gt;
##: &amp;lt;code&amp;gt;'''Uwaga:''' W tej konfiguracji wszystkie dane będą na jednej partycji. W praktyce raczej przydziela się partycje na wybrane podkatalogi; przykładowo katalog /home często tworzony jest na oddzielnej partycji.&amp;lt;/code&amp;gt;&lt;br /&gt;
## '''Partycja wymiany (swap)'''&lt;br /&gt;
##* Rozmiar: ''2 GB'' (pozostały rozmiar dysku)&lt;br /&gt;
##* Typ: ''logical''&lt;br /&gt;
##* Location: ''Beginning of this space''&lt;br /&gt;
##* Use as: ''swap area''&lt;br /&gt;
# Klikamy '''Install now''' i '''Continue'''&lt;br /&gt;
# W opcji wyboru lokacji zostawiamy ''Warsaw'' i klikamy '''Continue'''&lt;br /&gt;
# W ekranie '''Who are you?''' wpisujemy:&lt;br /&gt;
#* '''Your name:''' ''student''&lt;br /&gt;
#* '''Your computer's name:''' ''student-XX'', gdzie XX to numer komputera&lt;br /&gt;
#* '''Pick a userame:''' ''student''&lt;br /&gt;
#* '''Choose a password:''' '''własne, do zapamiętania'''&lt;br /&gt;
#* Zaznaczamy opcję, by wpisywać hasło przy logowaniu&lt;br /&gt;
# Na koniec instalacji wyskoczy okienko '''Installaction complete''' - klikamy '''Restart Now'''&lt;br /&gt;
# Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -&amp;gt; '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system&lt;br /&gt;
# Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system&lt;br /&gt;
# Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions:&lt;br /&gt;
#* w terminalu ('''Applications''' -&amp;gt; '''System Tools''' -&amp;gt; '''MATE Terminal''') wpisujemy komendę:  &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install virtualbox-guest-dkms&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
#* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -&amp;gt; '''Install Guest Additions CD image'''&lt;br /&gt;
#* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego &amp;quot;płyty&amp;quot; z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie)&lt;br /&gt;
#* na koniec restartujemy system&lt;br /&gt;
# Po ponownym uruchomieniu obraz maszyny powinien się skalować wraz z wielkością okna. Jeśli po uruchomieniu nadal okno maszyny wirtualnej nie skaluje się poprawnie należy sprawdzić czy &amp;quot;View --&amp;gt; Auto-resize Guest Display&amp;quot; jest dostępne i zaznaczone; można również zmienić kilkakrotnie tryb widoku, by maszyna na pewno załadowała skalowanie z rozdzielczością.&lt;br /&gt;
&lt;br /&gt;
== Ustawienia sieci maszyny wirtualnej ==&lt;br /&gt;
Ważnym elementem konfiguracji maszyny wirtualnej jest jej podłączenie do sieci ('''Settings''' -&amp;gt; '''Network''' -&amp;gt; '''Adapter 1''' -&amp;gt; '''Attached to'''). Może ona działać w jednym z kilku możliwych trybów:&lt;br /&gt;
&lt;br /&gt;
* '''Not attached''' - w tym trybie system operacyjny zainstalowany na maszynie wirtualnej widzi wirtualną kartę sieciową, ale nie ma połączenia na zewnątrz - tak jakby kabel Ethernet nie był podłączony do komputera. Zmiana statusu w trakcie pracy systemu na ten tryb odpowiada &amp;quot;mechanicznemu&amp;quot; wyjęciu kabla z wtyczki.&lt;br /&gt;
&lt;br /&gt;
* '''NAT Network''' - ''Network Address Translation'', maszyna funkcjonuje w wirtualnej podsieci. Jest to analogiczna sytuacja, gdy ustawiamy router, który tworzy własną sieć lokalną i do niego podłączamy komputer (w tym przypadku takim routerem jest ''host''). Adres IP maszyny wirtualnej nie jest widoczny na zewnątrz.&lt;br /&gt;
&lt;br /&gt;
* '''Bridged networking''' - maszyna wirtualna jest podpięta bezpośrednio do interfejsu sieciowego hosta i będzie widoczna w sieci jako kolejne urządzenie podłączone bezpośrednio do niej. Nasz system dostanie adres IP z puli sieci oraz będzie widoczny dla wszystkich innych komputerów w tej sieci tak jakby to było fizyczne urządzenie.&lt;br /&gt;
&lt;br /&gt;
* '''Generic networking''' - bardzo rzadko uzywany tryb, w którym użytkownik sam wybiera sterownik karty sieciowej (nie bedziemy tego trybu używać)&lt;br /&gt;
&lt;br /&gt;
== Zadanie 3: powtórzenie podstawowych komend systemu Linux ==&lt;br /&gt;
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt; i stopniowo poznawać bardziej zaawansowane komendy. &lt;br /&gt;
&lt;br /&gt;
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:&lt;br /&gt;
# Proszę pobrać tekst &amp;quot;Romeo i Julii&amp;quot; po angielsku: &amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;wget http://db.fizyka.pw.edu.pl/sk-2015/_downloads/pg1112.txt&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
# Sprawdzić, w którym katalogu się znajdujemy (&amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Stworzyć w katalogu &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; katalogi &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; (do tworzenia katalogów polecenie &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;, do przejścia do katalogu polecenie &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować do katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; plik z tekstem dramatu (&amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Przejść do katalogu &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;)&lt;br /&gt;
# Skopiować dramat z katalogu &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; do &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; za pomocą ''ścieżki względnej''&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - instalacja oprogramowania ==&lt;br /&gt;
=== Użytkownik administracyjny i komenda sudo ===&lt;br /&gt;
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie '''root'''. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.&lt;br /&gt;
&lt;br /&gt;
Przykłady użycia:&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -i # zalogouje sie do konsoli administratora&amp;lt;br/&amp;gt;&lt;br /&gt;
 sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola&lt;br /&gt;
&lt;br /&gt;
=== Instalowanie oprogramowania ===&lt;br /&gt;
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu ''Google Play'' czy ''Apple Store'', które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu &amp;quot;sklepy&amp;quot; z (darmowym) oprogramowaniem nazywamy najczęściej '''repozytoriami''' a programy (jak i dodatkowe biblioteki) '''pakietami''' lub '''paczkami'''. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu ''setup.exe'' ściągniętych z podejrzanych stron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typy repozytoriów w Ubuntu ===&lt;br /&gt;
Żródła z których pobieramy oprogramowanie są opisane w pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domyślne repozytorium Ubuntu podzielone jest na 4 części:&lt;br /&gt;
* '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu&lt;br /&gt;
* '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji&lt;br /&gt;
*  '''Universe''' – niewspierane oprogramowanie Open Source&lt;br /&gt;
*  '''Multiverse''' – niewspierane i niewolne oprogramowanie&lt;br /&gt;
&lt;br /&gt;
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.&lt;br /&gt;
&lt;br /&gt;
=== Przeszukiwanie pakietów ===&lt;br /&gt;
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;) nalezy pobrać informacje o pakietach z repozytorium. Służy do tego komenda&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Komenda &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt; pobiera również informacje o nowych pakietach, które wydali twórcy Ubuntu i dobrze ją wykonać przed każdą czynnością dotyczącą pakietów.&lt;br /&gt;
&lt;br /&gt;
Do aktualizacji pakietów służy komenda:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
lub&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)&lt;br /&gt;
&lt;br /&gt;
Do przeszukiwania repozytorium pakietów służy program &amp;lt;code&amp;gt;apt-cache&amp;lt;/code&amp;gt;. By wyszukać pakiety, które mają w nazwie lub opisie ciąg znaków ''foo'', należy napisać polecenie:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search foo&lt;br /&gt;
&lt;br /&gt;
By wyszukiwać tylko w nazwie pakietu należy wpisać:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search -n foo&lt;br /&gt;
&lt;br /&gt;
== Zadanie 4:  dodawanie nowych repozytoriów ==&lt;br /&gt;
Należy zmodyfikować plik &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę:&lt;br /&gt;
&lt;br /&gt;
 deb http://archive.canonical.com/ubuntu focal partner&lt;br /&gt;
&lt;br /&gt;
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać ponownie komendę &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
== Zadanie 5:  instalacja pakietów ==&lt;br /&gt;
Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server:&lt;br /&gt;
 apt-cache search ssh | grep server&lt;br /&gt;
&lt;br /&gt;
Za pomocą &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; zainstalować program '''emacs''' oraz '''serwer ssh''' (&amp;lt;code&amp;gt;openssh-server&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Podstawy administracji systemem Linux - użytkownicy ==&lt;br /&gt;
=== Dodawanie i usuwanie użytkowników ===&lt;br /&gt;
Do dodawania użytkownikow służy komenda &amp;lt;code&amp;gt;adduser&amp;lt;/code&amp;gt;, a do ich kasowania &amp;lt;code&amp;gt;deluser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Przy dodawaniu użytkowników można:&lt;br /&gt;
* Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;, albo &amp;lt;code&amp;gt;/bin/false&amp;lt;/code&amp;gt;),&lt;br /&gt;
* Ustawić położenie katalogu domowego,&lt;br /&gt;
* Wyłączyć możliwość logowania hasłem,&lt;br /&gt;
* Wyłączyć możliwość logowania w ogóle.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wszystkie informacje o użytkowniku znajdują się w pliku &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Grupy użytkowników ===&lt;br /&gt;
Użytkownik może należy do jednej bądź wielu '''grup'''. Grupy ułatwiają kontrolę wielu użytkowników (łatwo przypisywać np. użytkownikom prawa dostępu poprzez przypisanie ich do grupy).&lt;br /&gt;
&lt;br /&gt;
By dodać użytkownika do grupy można wykonać:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser username group&lt;br /&gt;
&lt;br /&gt;
=== Zarządzanie uprawnieniami &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Polecenie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy.&lt;br /&gt;
&lt;br /&gt;
Pozwala ono np. na:&lt;br /&gt;
* umożliwienie użytkownikowi wykonania tylko kilku poleceń z uprawnieniami ''root'',&lt;br /&gt;
* umożliwienie wykonania niektórych poleceń bez podania hasła.&lt;br /&gt;
&lt;br /&gt;
Konfiguracja polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; znajduje się w pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt;, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać!&lt;br /&gt;
&lt;br /&gt;
Do edycji pliku &amp;lt;code&amp;gt;/etc/sudoers&amp;lt;/code&amp;gt; służy '''tylko i wyłącznie''' polecenie &amp;lt;code&amp;gt;visudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zadanie 6: dodawanie uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; użytkownikowi ==&lt;br /&gt;
Domyślna konfiguracja &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, pozwala na wykonanie polecenia z uprawnieniami administratora każdemu użytkownikowi w grupie &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dodaj w systemie użytkownika '''test''' i nadaj mu uprawnienia do wykonywania dowolnych poleceń.&lt;br /&gt;
&lt;br /&gt;
== Zadanie 7: dodawanie wybranych uprawnień &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; może tylko zrestartować komputer (czyli wykonać komendę &amp;lt;code&amp;gt;/sbin/reboot&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Plik ISO z Ubuntu MATE 20.04 ==&lt;br /&gt;
* Link bezpośredni (Princeton): [http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.3/release/ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;br /&gt;
* Link bezpośredni (serwer WF PW): [http://www.if.pw.edu.pl/~lgraczyk/SK2022/iso//ubuntu-mate-20.04.3-desktop-amd64.iso link]&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato</id>
		<title>Sieci komputerowe 2021/2022 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato"/>
				<updated>2022-10-03T10:37:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Wykłady */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://www.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na [https://docs.google.com/spreadsheets/d/1a-YikXtgCDpEK6nF8JhnniHl4XBzztRqM5aCT02uB8s/edit?usp=sharing tej] stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-10-03T09:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Laboratorium - Bieżące wyniki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://www.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na tej stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato</id>
		<title>Sieci komputerowe 2022/2023 lato</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato"/>
				<updated>2022-10-03T09:20:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: Created page with &amp;quot;  {| align=&amp;quot;right&amp;quot;   | __TOC__   |}   == Informacje == Prowadzący przedmiot:&amp;lt;br&amp;gt; dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt; e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt; konsultacje: um...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje ==&lt;br /&gt;
Prowadzący przedmiot:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: umawiamy się indywidualnie (najlepiej pisząc mi wiadomość w MS Teams)  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
Pliki w zespole MS Teams.&lt;br /&gt;
&lt;br /&gt;
Wykład bieżący [http://www.if.pw.edu.pl/~lgraczyk/SK2022/lato/Wykla65-2022l.pdf link].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad1-2021z.pdf Wykład 1] (4.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad2-2021z.pdf Wykład 2] (11.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad3-2021z.pdf Wykład 3] (18.10.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2022/zima/Wyklad4-2021z.pdf Wykład 4] (25.10.2021 r.) &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad1-2021l.pdf Wykład 1] (24.02.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b0cd85fb-084e-42fb-b28d-4e86b02d6bd0 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad2-2021l.pdf Wykład 2] (3.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/44c24b16-dcb5-4501-8375-b617d8568595 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad3-2021l.pdf Wykład 3] (10.03.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/34e0df4b-9149-41ec-9e2d-1f57df82af5c link], wykład przerwany pod koniec z powodu awarii dostępu do Internetu&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad4-2021l.pdf Wykład 4] (7.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/159916e5-4c12-4e0c-8007-221671347be8 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad5-2021l.pdf Wykład 5] (14.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/7b39d6e6-db19-4a6b-bb16-8fc1fa33ef41 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad6-2021l.pdf Wykład 6] (21.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/b8ec2f49-b3f6-40be-bf6c-9f1cb97af018 link]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/Wyklad7-2021l_SMysiakowski.pdf Wykład 7] (28.04.2021 r.) - nagranie (Microsoft Stream): [https://web.microsoftstream.com/video/c34c41f6-9cc7-4708-a98e-34d80fb82e21 link] - wykład Pana Sebastiana Mysiakowskiego &amp;lt;br&amp;gt; [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj1.pdf projekt sieci 1], [http://www.if.pw.edu.pl/~lgraczyk/SK2021/lato/SMysiakowski_proj2.pdf projekt sieci 2]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulamin ==&lt;br /&gt;
Pełna treść regulaminu (zajęcia stacjonarne) znajduje się [http://www.if.pw.edu.pl/~majanik/data/SK/RegulaminSieciKomputerowe.pdf tutaj].&lt;br /&gt;
&lt;br /&gt;
'''Warunki zaliczenia'''&lt;br /&gt;
Maksymalna suma punktów do uzyskania to: '''100'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Składa się na nią:&lt;br /&gt;
* '''20 pkt''' - kolokwium na wykładzie&lt;br /&gt;
* '''30 pkt''' - projekty (2 projekty x 15 pkt)&lt;br /&gt;
* '''30 pkt''' - wejściówki na laboratorium (6 wejściówek x 5 pkt)&lt;br /&gt;
* '''14 pkt''' - obecność (7 zajęć x 2 pkt)&lt;br /&gt;
* '''6 pkt''' - praca na laboratorium (subiektywna ocena zaangażowania studenta przez prowadzącego)&lt;br /&gt;
&lt;br /&gt;
Zaliczenie: '''&amp;gt;50 pkt'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby przedmiot zaliczyć, należy również przekroczyć 50% punktów z kolokwium wykładowego (&amp;gt;10 pkt), projektów (traktowanych łącznie; &amp;gt;15 pkt) oraz wejściówek (&amp;gt;15 pkt). &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Oceny:'''&lt;br /&gt;
* &amp;lt;= 50 pkt - 2.0 (niezaliczone)&lt;br /&gt;
* 50.5 - 60 pkt - 3.0&lt;br /&gt;
* 60.5 - 70 pkt - 3.5&lt;br /&gt;
* 70.5 - 80 pkt - 4.0&lt;br /&gt;
* 80.5 - 90 pkt - 4.5&lt;br /&gt;
* &amp;gt;90 pkt - 5.0&lt;br /&gt;
&lt;br /&gt;
== Laboratorium - Bieżące wyniki ==&lt;br /&gt;
Bieżące wyniki znajdują się na [https://docs.google.com/spreadsheets/d/1a-YikXtgCDpEK6nF8JhnniHl4XBzztRqM5aCT02uB8s/edit?usp=sharing tej] stronie.&lt;br /&gt;
&lt;br /&gt;
== Zadania ==&lt;br /&gt;
Zadania na laboratorium - tryb stacjonarny:&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1],&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4 Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5 Zajęcia 4]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3 Zajęcia 5]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_6 Zajęcia 6]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_7 Zajęcia 7]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Zadania na laboratorium - tryb zdalny:&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_1_remote Zajęcia 1], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/a1ac4265-89ab-47d4-8526-45ed48a41200 SK1] (25.02.2021 r.), [https://web.microsoftstream.com/video/9e0935d7-e20a-443b-98ee-2c92a1d10687 SK2] (4.03.2021 r,)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_2 Zajęcia 2]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_3_remote Zajęcia 3]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_4_Remote Zajęcia 4], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/cc1be3c7-70d0-4423-b4dd-89c51c1dfc42 SK1] (8.04.2021 r.). [https://web.microsoftstream.com/video/0cf0a72f-41b9-4f9e-be15-a4b7bd14ebd2 SK2] (15.04.2021 r.) &lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Zadanie_5_Remote Zajęcia 5], nagrania (Microsoft Stream): [https://web.microsoftstream.com/video/02bcb3f4-08a0-41e0-be8c-b127eabc9b55 SK1] (22.04.2021 r.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/SK_Projekt_LAMP_Remote Projekt 3 - LAMP], &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stara strona laboratorium:&lt;br /&gt;
http://www.if.pw.edu.pl/~lgraczyk/sk/html/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''Uwaga:''' Aby powyższa strona się poprawnie wyświetlała, należy ręcznie ustawić kodowanie ''Unicode'' w przeglądarce.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students</id>
		<title>Students</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Students"/>
				<updated>2022-10-03T08:35:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== Semestr zimowy 2022/2023 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2022/2023_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_lato Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022 Komputerowa analiza danych doświadczalnych (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2021/2022 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2021/2022_zima Sieci komputerowe (stacjonarne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2021/2022 Języki programowania (stacjonarne)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Semestr letni 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_lato Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2020/2021 Komputerowa analiza danych doświadczalnych (zdalne)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2020/2021 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2020/2021_zima Sieci komputerowe (zdalne)]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2020/2021 Języki programowania C++ (zdalne)]&lt;br /&gt;
&lt;br /&gt;
== Semestr lato 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2019/2020 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zima 2019/2020 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2019/2020_zima Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2019/2020 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2018/2019_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2018/2019 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2018/2019 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2018/2019 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_lato Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2017/2018 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2017/2018 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2017/2018 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2017/2018 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2017/2018_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2016/2017 Podstawy programowania]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2016/2017 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_lato Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2016/2017 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2016/2017 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Sieci_komputerowe_2016/2017_zima Sieci komputerowe]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2015/2016 Podstawy programowania C]&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1bnEpCG_zf6Gp_oWKcYf908Ot-ioFG3vYKH3fWar6M_w/edit?usp=sharing Sieci komputerowe]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2015/2016 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2015/2016 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2015/2016 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_programowania_2014/2015 Podstawy programowania C]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Programowanie_obiekrowe_2014/2015 Programowanie obiektowe Java]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2014/2015 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2014/2015 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2013/2014 Komputerowa analiza danych doświadczalnych]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2013/2014 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2013/2014 Języki programowania C++]&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2012/2013 ==&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Jezyki_programowania_2012/2013 Języki programowania C++]&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/Podstawy_technologii_informacyjnej_2012/2013 Podstawy technologii informacyjnej]&lt;br /&gt;
&lt;br /&gt;
== Semestr letni 2011/2012 ==&lt;br /&gt;
* Komputerowa analiza danych doświadczalnych&lt;br /&gt;
&lt;br /&gt;
== Semestr zimowy 2011/2012 ==&lt;br /&gt;
* Języki programowania (C++)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	<entry>
		<id>http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022</id>
		<title>KADD 2021/2022</title>
		<link rel="alternate" type="text/html" href="http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2021/2022"/>
				<updated>2022-06-13T12:23:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lgraczyk: /* Exercises (group Mondays, 2 PM - 4 PM) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Informacje - wykład ==&lt;br /&gt;
Wykład z przedmiotu Komputerowa analiza danych doświadczalnych&amp;lt;br&amp;gt;&lt;br /&gt;
Prowadzący:&amp;lt;br&amp;gt;&lt;br /&gt;
dr inż. Łukasz Graczykowski&amp;lt;br&amp;gt;&lt;br /&gt;
e-mail: lukasz.graczykowski [at] pw.edu.pl&amp;lt;br&amp;gt;&lt;br /&gt;
konsultacje: MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Na konsultacje proszę umawiać się przez MS Teams.&lt;br /&gt;
&lt;br /&gt;
'''Zasady ustalania oceny końcowej'''&amp;lt;br&amp;gt;&lt;br /&gt;
Regulamin przedmiotu znajduje się [http://www.if.pw.edu.pl/~lgraczyk/KADD2021/Regulamin_KADD_2021_zdalne.pdf tutaj] (wersja 2021 - zaj. zdalne).&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 11 punktowanych laboratoriów można otrzymać 0-5 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za każde z 2 kolokwiów na laboratorium można otrzymać 30 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Za kolokwium na wykładzie można otrzymać 35 pkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Końcowa liczba punktów: 150.&lt;br /&gt;
&lt;br /&gt;
Poniższa tabelka przedstawia przedziały procentowe i odpowiadające im oceny:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Przedział procentowy&lt;br /&gt;
! Przedział punktowy&lt;br /&gt;
! Ocena&lt;br /&gt;
|-&lt;br /&gt;
| (50%; 60%&amp;gt;&lt;br /&gt;
| 75.5 - 90.0&lt;br /&gt;
| 3.0&lt;br /&gt;
|-&lt;br /&gt;
| (60%; 70%&amp;gt;&lt;br /&gt;
| 90.5 - 105.0&lt;br /&gt;
| 3.5&lt;br /&gt;
|-&lt;br /&gt;
| (70%; 80%&amp;gt;&lt;br /&gt;
| 105.5 - 120.0&lt;br /&gt;
| 4.0&lt;br /&gt;
|-&lt;br /&gt;
| (80%; 90%&amp;gt;&lt;br /&gt;
| 120.5 - 135.0&lt;br /&gt;
| 4.5&lt;br /&gt;
|-&lt;br /&gt;
| (90%; 100%&amp;gt;&lt;br /&gt;
| 135.5 - 150.0&lt;br /&gt;
| 5.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wykłady ==&lt;br /&gt;
&lt;br /&gt;
MS Teams&amp;lt;br&amp;gt;&lt;br /&gt;
Wykłąd bieżący [http://www.if.pw.edu.pl/~lgraczyk/KADD2022/Wyklad11-2022.pdf link].&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Wykład w dniu 29.03.202 jest odwołany. Będzie odrabiany w postaci dwóch godzin wykładu w dniu 6.05.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Exercises (group Mondays, 2 PM - 4 PM) ==&lt;br /&gt;
Current results of my group are available here: [https://docs.google.com/spreadsheets/d/1gaG91EbVPYb-IAK27f3yQ5JXGN48IswLUiiMMZlMcBI/edit?usp=sharing link].&lt;br /&gt;
&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_1_EN Lab 1] (28.02.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_2_EN Lab 2] (7.03.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_3_EN Lab 3] (14.03.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_4_EN Lab 4] (21.03.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_5_EN Lab 5] (28.03.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_6_EN Lab 6] (4.04.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_7_EN Lab 7] (11.04.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_8 Lab 8] (20.04.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_9_EN Lab 9] (9.05.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_10_EN Lab 10] (16.05.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_11_EN Lab 11] (23.05.2022)&lt;br /&gt;
* [http://www.if.pw.edu.pl/~lgraczyk/wiki/index.php/KADD_2022_Laboratorium_12_EN Lab 12] (30.05.2022)&lt;br /&gt;
* [http://if.pw.edu.pl/~lgraczyk/KADD2022/kol2/dane_sw.txt Plik] z danymi na kolokwium 2&lt;br /&gt;
* [http://if.pw.edu.pl/~lgraczyk/KADD2022/kol2/dane_pw.txt Plik] z danymi na kolokwium popr. 2&lt;/div&gt;</summary>
		<author><name>Lgraczyk</name></author>	</entry>

	</feed>