Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: .NET w systemie Linux
Cel tej części
Ta część szkolenia koncentruje się na katalogach specjalnych systemu Linux, sposobie uruchamiania poleceń jako superużytkownik (root) oraz sposobie instalowania i odinstalowywania aplikacji przy użyciu menedżerów pakietów.
Instalowanie i usuwanie pakietów przy użyciu menedżerów pakietów wymaga uprawnień głównych. Dlatego musisz najpierw zrozumieć, jak uruchamiać polecenia jako superużytkownik.
Katalogi specjalne systemu Linux
Na potrzeby tego szkolenia nie trzeba szczegółowo poznać sposobu zarządzania systemem Linux. Jednak podsumowanie niektórych katalogów specjalnych byłoby przydatne, ponieważ będziesz ich używać w pozostałej części szkolenia.
Katalog | Opis |
---|---|
/ | Katalog główny (folder najwyższego poziomu). |
/Bin | Zawiera pliki binarne użytkownika, pliki wykonywalne. |
/sbin | Zawiera pliki binarne użytkownika, pliki wykonywalne. |
/itd | Zawiera pliki konfiguracji dla systemu lokalnego i aplikacji. Na przykład utworzysz niektóre pliki konfiguracji w katalogu /etc/system , aby umożliwić automatyczne uruchamianie aplikacji ASP.NET Core przez system. |
/home | Zawiera katalog główny każdego użytkownika. Na przykład /home/<username>. |
/Tmp | Katalog tymczasowy do przechowywania plików tymczasowych tworzonych przez system i aplikacje. |
/Usr | Przechowuje pliki udostępnione, w tym pliki wykonywalne, biblioteki i dokumenty. Na przykład środowisko uruchomieniowe platformy .NET i zestawy SDK są instalowane w katalogu /usr/share/dotnet/ . |
/Var | Przechowuje pliki danych zmiennych. Na przykład platforma Apache przechowuje zawartość głównej witryny internetowej w katalogu /var/www/html oraz pliki dziennika w katalogu /var/log/apache2/ . Chociaż nie jest to konieczne, opublikujesz aplikacje internetowe w tym katalogu. |
Uwaga 16.
W systemie Linux jest rozróżniana wielkość liter. W związku z tym /home i /Home są różne katalogi, a nazwa pliku i nazwa pliku są różnymi plikami.
Po pierwszym nawiązaniu połączenia z maszyną wirtualną z systemem Linux rozpoczniesz pracę w katalogu głównym. Ten katalog będzie / home/<username>.
Skrót do katalogu głównego to ~ (tylda). Możesz użyć polecenia cd ~
w dowolnym momencie, aby wrócić do katalogu macierzystego.
Przejrzyj i wypróbuj następujące polecenia (pokazane na poniższym zrzucie ekranu):
-
pwd
(drukuj katalog roboczy): Drukuje bieżący katalog i katalog /etc/systemd . -
echo
: drukuje wartość katalogu ~ (root). -
cd ~
: zwraca cię do katalogu głównego.
W tym przykładzie nie ma listy zawartości katalogu. Jednak w dalszej części tego szkolenia omówiono pracę z plikami i folderami. Niektóre z tych zadań będą wymagać uprawnień administratora. W następnej sekcji wyjaśniono, jak podnieść poziom uprawnień do stanu administratora.
Uruchamianie poleceń jako superużytkownik
Superużytkownik jest najbardziej uprzywilejowanym kontem użytkownika. Ma dostęp główny (nieograniczony) do wszystkich plików i folderów oraz pełną kontrolę nad działaniem komputera. Administrator systemu używa tego konta do konserwacji systemu.
W systemach przypominających system UNIX konwencjonalna nazwa superużytkownika to "root". Użytkownik główny może wykonywać zadania, które w przeciwnym razie są ograniczone dla użytkowników standardowych, w tym następujących:
- Zmienianie katalogów systemowych
- Zmienianie uprawnień użytkownika
- Zmiana własności pliku
- Zadania związane z systemem, takie jak ponowne uruchomienia
- Instalacja niektórych aplikacji
Istnieje kilka sposobów uruchamiania poleceń jako użytkownik konta głównego. Jednym z nich jest użycie sudo su
polecenia . W tym poleceniu sudo
skrót to superuser do
, a su
jest skrótem "switch user". Możesz również użyć su
polecenia , aby przełączać się między użytkownikami standardowymi.
Ważne
Po zostaniu użytkownikiem konta głównego wszystko, co robisz w kontekście głównym. Dlatego należy ostrożnie działać, ponieważ konto główne ma dostęp do całego systemu.
Aby zademonstrować problem z uprawnieniami, utwórz plik tekstowy w specjalnym folderze o nazwie /etc.
Folder /etc/ to miejsce, w którym znajdują się pliki konfiguracji systemu. Ten folder chroni jego zawartość przed zmianą przez użytkownika standardowego.
Uruchom następujące polecenie:
echo hello world > /etc/helloworld.txt
Polecenie echo
zapisuje cały tekst, który następuje po nim w danych wyjściowych. Nawias kątowy (>
) informuje system o wysłaniu danych wyjściowych do pliku /etc/helloworld.txt zamiast konsoli. To zachowanie jest podobne do sposobu działania systemu Windows.
Uwaga 16.
W systemie Linux jest rozróżniana wielkość liter: Helloworld.txt, helloworld.txt i helloworld. Txt to różne pliki.
Nie musisz podawać rozszerzenia nazwy pliku. Sama nazwa "helloworld" jest całkowicie prawidłowa. (Rozszerzenie "txt" jest używane tylko jako przykład).
Po uruchomieniu tego polecenia zostanie wyświetlony komunikat o błędzie odmowy uprawnień.
Operacja kończy się niepowodzeniem, ponieważ folder /etc jest folderem specjalnym, którego użytkownik standardowy nie może zmienić. Sprawdź użytkownika, uruchamiając id
polecenie .
Aby zostać użytkownikiem konta głównego, uruchom sudo su
polecenie .
Zwróć uwagę na dwie rzeczy: Gdy stajesz się elementem głównym, znak dolara ($
) staje się znakiem funta (#
). Ponadto nazwa użytkownika zostanie zmieniona na root. Jeśli ponownie uruchomisz to samo id
polecenie, zobaczysz, że identyfikator użytkownika i grupy katalogu głównego to 0.
Ważne
Teraz masz podwyższony poziom uprawnień do roli "superużytkownika" w sesji, masz pełny dostęp do systemu. Pamiętaj, że jest to potencjalnie niebezpieczna sytuacja i należy zachować ostrożność podczas kontynuowania.
Teraz uruchom to samo polecenie jeszcze raz:
echo hello world > /etc/helloworld.txt
Tym razem nie zostanie wyświetlony żaden komunikat o błędzie. Aby sprawdzić, czy plik został utworzony, uruchom następujące polecenie:
ll /etc/hello*
Polecenie ll
wyświetla listę plików i podfolderów, które znajdują się w określonym folderze. W tym przykładzie wartość parametru /etc/hello*
ogranicza dane wyjściowe polecenia do plików lub folderów, których nazwa zaczyna się od hello
.
Dane wyjściowe pokazują, że plik został utworzony. Co zrobić, jeśli chcemy zbadać zawartość pliku? Polecenie cat
pomaga tutaj. Aby wyświetlić zawartość, uruchom polecenie cat /etc/helloworld.txt
.
Polecenie cat
odczytuje pliki sekwencyjnie i zapisuje zawartość w standardowych danych wyjściowych. W związku z tym zapisuje ciąg "hello world" w konsoli programu .
Aby zapobiec błędom, które mogłyby spowodować uszkodzenie systemu podczas podniesienia poziomu do stanu głównego, dobrym rozwiązaniem jest wyjście z sesji głównej i powrót do standardowej sesji użytkownika, aby uniknąć niektórych niebezpiecznych operacji. Aby to zrobić, uruchom exit
. Widać, że znak funta powraca do znaku dolara, a nazwa użytkownika jest wyświetlana jako użytkownik standardowy.
Aby uzyskać dodatkową praktykę, uruchom te same ll
polecenia i cat
w kontekście użytkownika standardowego. Zobaczysz, że nie można utworzyć pliku w folderze /etc/ , ale możesz wyświetlić plik i odczytać jego zawartość.
Uruchamianie poleceń przy użyciu prefiksu "sudo"
Zamiast zostać użytkownikiem konta głównego w sesji, możesz uruchamiać polecenia jako katalog główny przy użyciu sudo <command>
formatu . Takie podejście jest bezpieczniejsze, ponieważ uruchomi podane polecenie tylko jako superużytkownik.
Jeśli na przykład uruchomisz polecenie restart
, gdy stan superużytkownika nie zostanie podwyższony, wynik będzie następujący.
Aby zamiast tego uruchomić to polecenie jako superużytkownik, możesz zmienić kontekst sesji na główny (uruchamiając polecenie sudo su
) lub dodać sudo
prefiks w następujący sposób:
sudo reboot
Teraz operacja ponownego uruchamiania jest uruchamiana zgodnie z oczekiwaniami maszyny wirtualnej.
Menedżery pakietów
Menedżerowie pakietów są używane do instalowania, uaktualniania i usuwania aplikacji w systemie Linux. Istnieje kilka różnych menedżerów pakietów, takich jak DPKG (Debian Package Management System), RPM (Red Hat Menedżer pakietów) i Zypper dla menedżerów pakietów SUSE są niskie. W związku z tym zarządzanie oprogramowaniem bezpośrednio przy użyciu menedżera pakietów może być trudne. Na szczęście istnieją otoki dla tych narzędzi, które ułatwiają instalowanie i odinstalowywanie oprogramowania. Na przykład yum jest otoką rpm (Red Hat Menedżer pakietów), a APT jest otoką wokół DPKG (Debian Package Management System).
W tym samouczku założono, że korzystasz z systemu zarządzania pakietami ubuntu. Ten system pochodzi z tego samego systemu, który jest używany przez dystrybucję Debian GNU/Linux. W związku z tym możemy użyć narzędzia APT do zainstalowania oprogramowania.
W zależności od wybranego systemu Linux może być konieczne użycie innych narzędzi. Na przykład możesz użyć narzędzia yum do zainstalowania lub odinstalowania oprogramowania, jeśli używasz oprogramowania Red Hat.
Uaktualnianie bazy danych menedżera pakietów
Apt działa w bazie danych dostępnych pakietów. Zalecamy zaktualizowanie menedżerów pakietów, a następnie uaktualnienie pakietów po nowej instalacji.
Aby zaktualizować bazę danych pakietów w systemie Ubuntu, uruchom polecenie sudo apt update
. Zwróć uwagę, że sudo
prefiks jest wprowadzany przed poleceniem apt
. W ten sposób uruchomisz apt
polecenie jako użytkownik główny bez zmiany kontekstu sesji na użytkownika głównego.
Polecenie aktualizacji nie uaktualnia żadnego z zainstalowanych pakietów oprogramowania. Zamiast tego aktualizuje bazę danych pakietu. Rzeczywiste uaktualnienie odbywa się za pomocą sudo apt upgrade
polecenia .
Po wpisaniu Y , a następnie naciśnięciu Enter pakiety zostaną uaktualnione.
Wyszukiwanie pakietów przy użyciu menedżerów pakietów
Poniższy przykład użycia menedżerów pakietów do wyszukiwania pakietów pokazuje instalację i odinstalowywanie serwera internetowego Apache 2.
Zacznij od wyszukania na serwerze "apache web server" przy użyciu apt search
polecenia . Narzędzie APT wykonuje wyszukiwanie pełnotekstowe i wyświetla wyniki. Serwer HTTP Apache zainstalujesz przy użyciu nazwy apache2
pakietu .
Uwaga 16.
Użycie polecenia . Prefiks sudo
nie jest dodawany, ponieważ nie musisz być użytkownikiem głównym do wyszukiwania w pakietach.
Zamiast wykonywać polecenie APT search
, możesz wyszukać w przeglądarce internetowej w temacie "how to install Apache on Ubuntu", aby znaleźć nazwę pakietu i polecenie APT. W tym przykładzie należy znaleźć ten oficjalny dokument z systemem Ubuntu, który jasno wyjaśnia, jak zainstalować w Apache 2
systemie Ubuntu.
Pokaż szczegóły pakietu
Aby sprawdzić, czy masz prawidłowy pakiet, uruchom polecenie apt show
, aby wyświetlić szczegóły pakietu, jak pokazano na poniższym zrzucie ekranu. Ponownie zwróć uwagę, że sudo
prefiks nie jest tutaj konieczny.
Wyświetlanie listy zainstalowanych pakietów i filtrowanie listy przy użyciu języka grep
Po ustaleniu, że znaleziony pakiet jest odpowiedni, należy upewnić się, że nie jest jeszcze zainstalowany na serwerze docelowym.
W tym celu użyj apt list --installed
polecenia , aby wyświetlić listę zainstalowanych aplikacji na maszynie wirtualnej. Możesz również dodać polecenie grep , aby filtrować wyniki, aby wyświetlić tylko aplikacje, które zawierają apache2
.
Uwaga 16.
Polecenie grep
wyszukuje dany termin w pliku. Jest to bardzo zaawansowane narzędzie, ponieważ udostępnia kilka opcji, takich jak wyszukiwanie przy użyciu wyrażenia regularnego lub ciągu, odwracanie wyników wyszukiwania, ignorowanie poufności wielkości liter, wyszukiwanie przy użyciu wielu terminów wyszukiwania i obsługa wyszukiwania cyklicznego.
Po uruchomieniu apt list --installed | grep apache2
polecenia powinien zostać wyświetlony komunikat, że pakiet nie jest zainstalowany na maszynie wirtualnej.
Instalowanie pakietu
Po ustaleniu, że został znaleziony żądany pakiet i że nie został jeszcze zainstalowany, możesz kontynuować instalację. Uruchom następujące polecenie:
sudo apt install apache2
Uwaga 16.
Tym razem wykonujemy prefiks polecenia za pomocą polecenia sudo
, ponieważ to polecenie zmienia system. W związku z tym musi to być konto główne, aby działało poprawnie. Menedżer pakietów jest wystarczająco uprzejmy, aby wyświetlić monit o to, czy naprawdę chcesz naprawdę zainstalować aplikację.
Wpisz Y (tak) i naciśnij Enter, aby zainstalować .Apache2
Menedżer pakietów wyświetli pasek postępu wskazujący stan instalacji.
Jeśli ponownie uruchomisz to samo apt list --installed | grep apache2
polecenie, zobaczysz, że pakiet Apache 2 jest zainstalowany razem z innymi pakietami powiązanymi z platformą Apache2, które są instalowane automatycznie.
Mimo że zainstalowano platformę Apache 2, w rzeczywistości musisz użyć serwera Nginx. W związku z tym nie potrzebujesz już platformy Apache i możesz usunąć ten pakiet z maszyny wirtualnej.
Usuwanie pakietów
Instalowanie pakietu (w tym przypadku Apache 2) jest odwracalne. Możesz usunąć pakiet, jeśli okaże się, że nie jest on potrzebny. Dostępne są dwie opcje polecenia umożliwiające usunięcie pakietów:
apt remove
: to polecenie usuwa pliki binarne, ale nie plik konfiguracji. Jest to przydatne, jeśli zamierzasz ponownie zainstalować pakiet i chcesz zachować tę samą konfigurację.apt purge
: to polecenie usuwa pliki binarne i plik konfiguracji.
Usuń pakiet przy użyciu polecenia apt remove
jako użytkownik główny, aby wyświetlić wynik. W tym celu uruchom polecenie sudo apt remove apache2
. Po wyświetleniu monitu o potwierdzenie usunięcia wpisz Y, a następnie naciśnij Enter.
Dane wyjściowe polecenia informują o następujących informacjach:
- Apt wykrył, że istnieją pakiety, które zostały automatycznie zainstalowane i nie będą już wymagane.
- Apt usunął
apache2
tylko pakiet i zaleca uruchomienie poleceniasudo apt autoremove
w celu usunięcia skojarzonych pakietów.
Ponownie wyświetl listę zainstalowanych pakietów. Zobaczysz, że apache2
pakiet zostanie usunięty, ale automatycznie zainstalowane pakiety, które zostały dostarczone z nim, pozostaną zainstalowane.
Postępuj zgodnie z zaleceniem, aby ponownie uruchomić sudo apt autoremove
polecenie , aby usunąć pakiety pozostawione.
Wyświetl listę zainstalowanych pakietów jeszcze raz. Teraz nie powinny być zainstalowane żadne pakiety związane z platformą Apache2.
Ta procedura nie jest zakończona. Należy pamiętać, że różnica między elementami apt remove
i apt purge
określa, czy plik konfiguracji został usunięty. W tym ćwiczeniu nie usunięto go. Więc gdzie jest?
Znalezienie pliku nie obejmuje menedżerów pakietów. Zamiast tego uruchomisz standardowe wyszukiwanie plików w systemie Linux. Istnieje kilka sposobów, aby to zrobić. Jednym z najpopularniejszych poleceń wyszukiwania jest find
. Jednak to polecenie jest również mylące do użycia, więc nie omówimy go tutaj. Zamiast tego użyjemy polecenia whereis
.
Uwaga 16.
System Linux jest bardzo dobrze udokumentowany. Prawie każde polecenie ma dostępną przydatną stronę pomocy.
Użyj poleceń man and info, aby wyświetlić strony Pomocy w systemie Linux. Aby na przykład samodzielnie dowiedzieć się więcej na temat find
polecenia, uruchom polecenie man find
lub info find
.
Zgodnie ze stroną Pomoc dla whereis
metody definicja wygląda następująco:
whereis
lokalizuje pliki binarne, źródłowe i ręczne dla określonych nazw poleceń.
Jeśli uruchomisz polecenie whereis apache2
, należy znaleźć instalację /etc/apache2 .
Pamiętaj, że katalog /etc/ jest miejscem, w którym znajdują się pliki konfiguracji systemu. Aby dowiedzieć się, czy "apache2" jest plikiem lub folderem, uruchom polecenie ll /etc/apache2
. Jak widać, jest to folder i zawiera pliki konfiguracji apache2.
Te pliki i foldery powinny apache2
być zawarte, ponieważ użyto apt remove
polecenia, które nie usuwa plików konfiguracji.
W ostatnim kroku uruchom apt purge
polecenie , aby zobaczyć jego efekt. Można uruchomić przeczyszczenie, aby wyczyścić folder instalacyjny nawet po usunięciu pakietu. Poniższy zrzut ekranu przedstawia, że whereis
nic nie znalazło. Dzieje się tak, ponieważ purge
polecenie usunęło pliki konfiguracji wraz z plikami binarnymi.
Następne kroki
Część 1.3 — instalowanie platformy .NET w systemie Linux
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.