{"id":607,"date":"2017-04-05T21:58:45","date_gmt":"2017-04-05T19:58:45","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=607"},"modified":"2017-05-18T17:46:21","modified_gmt":"2017-05-18T15:46:21","slug":"targety","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/05\/targety\/","title":{"rendered":"Targety"},"content":{"rendered":"<p>Targety (ang. target &#8211; cel) to po prostu logiczne zbiory unit\u00f3w. To specjalny typ unitu z rozszerzeniem <em>.target<\/em>. Niekt\u00f3re targety s\u0105 odpowiednikiem runleveli znanych z <em>SysVinit<\/em>, s\u0105 jednak nazwane a nie ponumerowane. Targety s\u0105 u\u017cywane do wykonywania serii unit\u00f3w. Jest to zazwyczaj prawda gdy chodzi o bootowanie systemu do konkretnego\u00a0 poziomu operacyjnego (runlevelu o konkrenym numerze) ze wszystkimi wymaganymi us\u0142ugami uruchomionymi w tym poziomie. <!--more-->Niekt\u00f3re targety dziedzicz\u0105 wszystkie us\u0142ugi z innych target\u00f3w i dodaj\u0105 do nich swoje. <em>Systemd<\/em> zawiera wiele predefiniowanych target\u00f3w, kt\u00f3re opisuje tabela poni\u017cej wraz z odpowiednikami w <em>SysVinit<\/em>.<\/p>\n<table style=\"width: 718px;\">\n<tbody>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #808080;\"><em>Target<\/em><\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #808080;\"><em>SysVinit Run Level<\/em><\/span><\/td>\n<td style=\"width: 483.267px;\"><span style=\"color: #808080;\"><em>Opis<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">halt<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">0<\/span><\/td>\n<td style=\"width: 483.267px;\">Zamyka i zatrzymuje system.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">poweroff lub runlevel0<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">0<\/span><\/td>\n<td style=\"width: 483.267px;\">Zamyka i wy\u0142\u0105cza z zasilania system.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">shutdown<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a00<\/span><\/td>\n<td style=\"width: 483.267px;\">Zamyka system.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">rescue lub runlevel1<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">1, s, lub single<\/span><\/td>\n<td style=\"width: 483.267px;\">Target Single-user przeznaczony do czynno\u015bci administracyjnych i odzyskiwania systemu. Lokalny system plik\u00f3w jest podmontowany. Cz\u0119\u015b\u0107 niezb\u0119dnych us\u0142ug jest uruchomiona ale sie\u0107 jest od\u0142\u0105czona.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">multi-user lub runlevel2|3|4<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a03<\/span><\/td>\n<td style=\"width: 483.267px;\">Target multi-user z pe\u0142n\u0105 obs\u0142ug\u0105 sieci ale bez GUI.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">graphical lub runlevel5<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a05<\/span><\/td>\n<td style=\"width: 483.267px;\">Target multi-user z pe\u0142n\u0105 obs\u0142ug\u0105 sieci oraz GUI.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">reboot lub runlevel6<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a06<\/span><\/td>\n<td style=\"width: 483.267px;\">Zamyka i uruchamia ponownie system.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">default<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a03 lub 5<br \/>\n<\/span><\/td>\n<td style=\"width: 483.267px;\">Domy\u015blny boot target zlinkowany z targetem multi-user.target i graphical.target.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">emergency<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a0&#8211;<\/span><\/td>\n<td style=\"width: 483.267px;\">Uruchamiany jako pow\u0142oka awaryjna. G\u0142\u00f3wny system plik\u00f3w (root) jest podmontowany w trybie tylko do odczytu, inne systemy plik\u00f3w nie s\u0105 montowane. Sie\u0107 i inne us\u0142ugi s\u0105 wy\u0142\u0105czone.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\"> hibernate<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a0&#8211;<\/span><\/td>\n<td style=\"width: 483.267px;\">Wprowadza system w stan hibernacji zapisuj\u0105c stan systemu na twardym dysku i wy\u0142\u0105czaj\u0105c zasilanie. Gdy zasilanie powraca system startuje z poziomu zapisanego na twardym dysku stanu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\">suspend<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a0&#8211;<\/span><\/td>\n<td style=\"width: 483.267px;\">Podobnie do hibernacji ale stan systemu zapisywany jest do pami\u0119ci operacyjnej, kt\u00f3rej nie jest od\u0142\u0105czane zasilanie.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 114px;\"><span style=\"color: #008000;\"> hybrid-sleep<\/span><\/td>\n<td style=\"width: 85.7333px;\"><span style=\"color: #3366ff;\">\u00a0&#8211;<\/span><\/td>\n<td style=\"width: 483.267px;\">Wprowadza system w stan hibernacji\u00a0 i stan u\u015bpienia.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Lista wszystkich wczytanych i aktywnych target\u00f3w:<br \/>\n<code># systemctl -t target<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Zarz\u0105dzanie targetami.<\/span><\/p>\n<p>Wy\u015bwietlanie i ustawianie domy\u015blnego boot targetu:<br \/>\n<code># systemctl get-default<\/code><\/p>\n<p>Zmiana domy\u015blnego boot targetu na muli-user.target:<br \/>\n<code># systemctl set-default multi-user.target<br \/>\n<\/code><\/p>\n<p>Prze\u0142\u0105czenie na multi-user target (odpowiednik run levelu 3):<br \/>\n<code># systemctl isolate multi-user.target<br \/>\n<\/code><\/p>\n<p>Prze\u0142\u0105czenie na garficzny target (odpowiednik run levelu 6):<br \/>\n<code># systemctl isolate graphical.target<\/code><\/p>\n<p>Zamkni\u0119cie systemu:<br \/>\n<code># systemctl halt<\/code><\/p>\n<p>Zamkni\u0119cie systemu i wy\u0142\u0105czenie zasilania:<br \/>\n<code># systemctl poweroff<\/code><\/p>\n<p>Reboot systemu:<br \/>\n<code># systemctl reboot<\/code><\/p>\n<p>Wprowadzenie systemu w stan hibernacji i u\u015bpienie:<br \/>\n<code># systemctl hybrid-sleep<\/code><\/p>\n<p>Prze\u0142\u0105czenie systemu w stan zgodny z run level 3:<br \/>\n<code># systemctl isolate runlevel3.target<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">U\u017cywanie komendy shutdown.<\/span><\/p>\n<p>Komenda shutdown u\u017cywana jest do zatrzymywania systemu, wy\u0142\u0105czania zasilania lub rebootowania systemu. Polecenie wysy\u0142a komunikat ostrzegawczy wszystkim zalogowanym u\u017cytkownikom, wy\u0142\u0105cza mo\u017cliwo\u015b\u0107 logowania i oczekuje okre\u015blony czas na wylogowanie si\u0119 u\u017cytkownik\u00f3w, a dalej\u00a0 wy\u0142\u0105cza wszystkie us\u0142ugi i system do okre\u015blonego targetu.<\/p>\n<p>Natychmiastowe zamkni\u0119cie systemu i reboot systemu:<br \/>\n<code># shutdown -r now<\/code><\/p>\n<p>Rozpoczyna zamykanie systemu i wy\u0142\u0105czenie zasilania po 5 minutach:<br \/>\n<code># shutdown -h 5<br \/>\n<\/code><\/p>\n<p>Rozpoczyna zamykanie systemu i jego zatrzymanie po 10 minutach:<br \/>\n<code># shutdown -H 10<\/code><\/p>\n<p>Rozpoczyna zamykanie systemu i wy\u0142\u0105czenie zasilania po 20 minutach:<br \/>\n<code># shutdown -P 20<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">U\u017cywanie komend halt, poweroff i reboot.<\/span><\/p>\n<p>Komendy te s\u0105 dost\u0119pne w RHEL7 tylko z powodu wstecznej kompatybilno\u015bci, rekomendowane jest korzystanie z komendy <em>systemctl<\/em>.<\/p>\n<table style=\"width: 657px;\">\n<tbody>\n<tr>\n<td style=\"width: 299.317px;\"><span style=\"color: #808080;\"><em>Stara komenda<\/em><\/span><\/td>\n<td style=\"width: 339.683px;\"><span style=\"color: #808080;\"><em>Odpowiednik shutdown<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 299.317px;\"><code># halt\u00a0\u00a0<\/code><\/td>\n<td style=\"width: 339.683px;\"><code># shutdown -H now<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 299.317px;\"><code># poweroff<\/code><\/td>\n<td style=\"width: 339.683px;\"><code># shutdown -P now<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 299.317px;\"><code># reboot<\/code><\/td>\n<td style=\"width: 339.683px;\"><code># shutdown -r now<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Statystyki wydajno\u015bci bootowania systemu.<\/span><\/p>\n<p>Wy\u015bwietlenie ca\u0142kowitej ilo\u015bci czasu potrzebnej do za\u0142adowania systemu (kernel, initrd i przestrze\u0144 u\u017cytkownika):<br \/>\n<code># systemd-analze<\/code><\/p>\n<p>Czas jaki zaj\u0119\u0142o ka\u017cde zadania w czasie procesu bootowania systemu:<br \/>\n<code># systemd-analyze blame<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Targety (ang. target &#8211; cel) to po prostu logiczne zbiory unit\u00f3w. To specjalny typ unitu z rozszerzeniem .target. Niekt\u00f3re targety s\u0105 odpowiednikiem runleveli znanych z SysVinit, s\u0105 jednak nazwane a nie ponumerowane. Targety s\u0105 u\u017cywane do wykonywania serii unit\u00f3w. Jest to zazwyczaj prawda gdy chodzi o bootowanie systemu do konkretnego\u00a0 poziomu operacyjnego (runlevelu o konkrenym &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/05\/targety\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Targety&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1094,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/607"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=607"}],"version-history":[{"count":18,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/607\/revisions"}],"predecessor-version":[{"id":1217,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/607\/revisions\/1217"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1094"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=607"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}