Klawiatura :: Zaawansowana konsola - framebuffer i mysz :: Sortowanie w polskich localach :: Network File System :: multipath i SAN :: Odświeżanie listy urządzeń SCSI :: Kilka sztuczek z /etc/fstab :: Problem z while(1) { fork(); } :: Problemy wydajnościowe :: Wirtualizacja - XEN :: Nie tylko Debian

Poradnik linuxowy - podstawy konfiguracyjne

Klawiatura

Uwagi ogólne dotyczących konfigurowania klawiatury tak pod konsolą jak i pod X'ami:

Należy także rozróżniać ustawienia klawiatury, od ustawienia czcionek, od ustawienia locali. Ustawienia klawiatury (opisane powyżej odpowiadają za to jakie znaki jesteśmy wstanie wprowadzić), ustawienia czionek (pod konsolą wpis SCREEN_FONT=iso02.f16 w /etc/console-tools/config) odpowiadają za to jakie znaki system jest w stanie wyświetlić. Natomiast ustawienia locale (zmienne LANG i LC_*, ustawienie ogólnosystemowe w /etc/environment) odpowiadają za to w jakim języku "rozwmawia" z nami większość programów, w jaki sposób zakodowane są znaki non-asci w tych rozmowach, oraz za domyślne kodowanie w wielu edytorach tekstowych.

Oprócz typowego wprowadzania znaków niedostępnych bezpośrednio (metoda ta nie ogranicza się tylko do polskich ogonków) z użyciem modyfikatora Alt-Gr (prawy Alt) możliwe jest także wprowadzania niedostępnych znaków przy pomocy uzyskiwanego przez niektóre z kombinacji Alt-Gr martwego klawisza oraz klawisza komponującego. Aby skorzystać z klawisza komponującego konieczne jest przypisanie go do ktyóregoś z modyfikatorów na klawiaturze np. do prawego WinKey - można to zrobić poprzez setxkbmap -option compose:rwin lub rekonfigurację pakietu "keyboard-configuration". Klawisz komponujący potwrafi używać indywidualnej mapy dla użytkownika umieszczonej w pliku ~/.XCompose (za wzorzec mogą posłuyzyć mapy systemowe z /usr/share/X11/locale/*/Compose). W ostateczności można także znak przekopiować z jakiejś tablicy znaków Unicode. Zobacz także: Alt-kody, Wprowadzanie znaków niedostępnych na klawiaturze

Klawiatura numeryczna i kropka

Aby uzyskamy kropkę zamiast przecinka na klawiaturze numerycznej należy wykomentować w pliku /usr/share/X11/xkb/symbols/pl linijkę include "kpdl(comma)" (dawniej include "keypad(comma)") w sekcji odpowiadającej naszej klawiaturze (dla "polski programisty" sekcja "basic").

W środowisku graficznym taki efekt możemy także uzuskać komendą: setxkbmap pl; xmodmap -e "keycode 91 = KP_Delete period KP_Delete period". Program ten może także posłużyć do innych modyfikacji klawiatury np. xmodmap -e "clear mod1" -e "clear mod3" -e "clear mod4"; xmodmap -e "add mod1 = Alt_L" -e "add mod3 = Super_R" -e "add mod4 = Super_L".

Klawiatura multimedialna i nie tylko

W przypadku konsoli po wciśnięciu jakiegoś z dodatkowych przycisków zobaczymy komunikat o nieznanym numerze klawisza możemy wtedy przy pomocy programu setkeycodes przypisać mu konwencjonalny numer i następnie wykorzystać go w mapie klawiatury. W przypadku klawiszy mających już przypisany konwencjonalny numer możemy go poznać za pomocą komendy showkey.

W przypadku X'ów możemy skorzystać z programów pozwalających na przypisanie tym klawiszom komendy (takich jak "hotkeys" czy "xbindkeys"). Możemy jednak przypisać im normalne oznaczenia funkcyjne poprzez xmodmap i keycode (przykładowy plik konfiguracyjny .xmodmaprc). Kody klawiszy zczytać możemy przy wykorzystaniu programu xev, natomiast listę nazw do których mogą być przypisane można znaleźć w pliku /usr/lib/X11/XKeysymDB. Następnie po wykonaniu xmodmap ~/.xmodmaprc (warto wpisać jako w autostarcie) możemy tych klawiszy używać jak każdych innych - w ustawieniach skrótów klawiaturowych w aplikacjach, w konfiguracji menu KDE.

Klawisze te możemy w szczególności wykorzystać w dość rozbudowanym systemie akcji klawiaturowych oferowanym przez KDE. Znajdziemy go w "regionalne i dostępność" -> "Input Action" (jeden z znajdujących się tam przykładów pokazuje jak zrobić aby skrót klawiaturowy wpisywał podany tekst, oprócz tego możemy definiować skróty wieloklawiszowe (specjalny + coś i kolejne stanowiące napis ...).

Odbiornik IR i sterowanie pilotem

Możliwe jest także korzystanie z pilotów podczerweni do sterowania komputerem z linuxem. Wiele z tunerów telewizyjnych DVB posiada wbudowany odbiornik podczerwieni, jeżeli jest on obsługiwany przez nasze jądo mapowania jego przycisków na sygnały klawiatury możemy dokonać z wykorzystaniem ir-keytable. W przypadku popularnego układu RTL2832U opis konfiguracji możemy znaleźć w stosownym artykule na linuxtv.org. Plik z tablicą mapowań zapisujemy w /etc/rc_keymaps/, testowanie (uzyskiwanie iformacji o identyfikatorze wciśniętego przycisku) przeprowadzamy przy pomocy komendy: ir-keytable -s rc0 -t -v, przeładowanie używanej tablicy przy pomocy ir-keytable -s rc0 -w /etc/rc_keymaps/rtl_simple (uwaga: po dodaniu nowych KEY_XXXX do tablicy aby były zauważone w xev należy zrestatować xserver; wynika to z tego ze xserwer ogranicza sie do obslugi eventow odczytanych na starcie z /dev/input/event* jako obsługiwane przez dane urzadzenie, możemy je odczytać manualnie z yzyciem polecenia evtest /dev/input/event12). Informację na temat mapowania symboli KEY_XXXX na symbole uzywane w Xach mozna podejrzec np. w: input_linux_map_fixed_old.txt

aby ustawienia były wczytywane automatycznie po starcie systemu / podłączeniu urządzenia należy w pliku /etc/rc_maps.cfg dodać wpis wiąrzący moduł obsługujący odbiornik IR z mapą klawiszy - np: dvb_usb_rtl28xxu * rtl_simple, gdzie mapa zapisana w pliku /etc/rc_keymaps/rtl_simple ma postać:

# table rtl_simple, type: NEC

# duzy pilot - srodkowe "kolko" (L, R, ENTER, UP, DOWN)
0xe5004c KEY_PREVIOUSSONG
0xe50040 KEY_NEXTSONG
0xe50006 KEY_PLAYPAUSE
0xe50044 KEY_VOLUMEUP
0xe50048 KEY_VOLUMEDOWN

# duzy pilot - numeryczne (1, 3, 4, 6, 7, 9) jako jump
0xe50009 KEY_BACK
0xe50001 KEY_FORWARD
0xe5004b KEY_PAGEUP
0xe50043 KEY_PAGEDOWN
0xe5004a KEY_HOME
0xe50042 KEY_END

# inne
0xe50057 KEY_PLAYPAUSE
0xe5005e KEY_PLAYPAUSE
0xe5005a KEY_STOPCD

Zaawansowana konsola - framebuffer i mysz

Istnieje możliwość uruchomienia konsoli linuxowej w trybie "graficznym". Umożliwia to wyświetlanie plików graficznych, oglądanie telewizji, granie w niektóre gry, jak również wyświetlanie dużo większej liczby linii tekstu. Aby uruchomić system z taką konsolą konieczne jest dodanie do parametrów startowych jądra parametru vga=XXX, gdzie XXX jest zapisanym szesnastkowo (dla GRUB) lub dziesiętnie (dla LILO) kodem danego trybu. Poniżej tabelka dostępnych kodów (w postaci szesnastkowej, zaczerpnięta z linux/Documentation/fb/vesafb.txt):

    | 640x480  800x600  1024x768 1280x1024
----+-------------------------------------
256 |  0x301    0x303    0x305    0x307   
32k |  0x310    0x313    0x316    0x319   
64k |  0x311    0x314    0x317    0x31A   
16M |  0x312    0x315    0x318    0x31B   

Kożystanie z framebuffera może prowadzić do pewnych problemów (o czym poniżej). Najczęściej wykorzystywany jest standardowy sterownik vesafb istnieją jednak moduły dla poszczególnych kart graficznych. Istnieje też interesująca biblioteka - DirectFB obsługująca wyświetlanie w trybie framebuffera, w przypadku kompilacji z opcją --enable-multi umożliwia pracę kilku aplikacji (może robic za coś na kształt menagera okien), szczegóły w http://www.directfb.org/downloads/Core/DirectFB-1.0/README

Przydatną rzeczą na konsoli jest również myszka. Aby móc z niej korzystać należy zainstalować pakiet gpm , który umożliwia uzycie komputerowego gryzonia na konsoli oraz kopiowanie i wklejanie przy jego pomocy tekstu. Konfiguracja tak aby wszystko działało dobrze (zwłaszcza gdy chcemy mieć też X'y) może przysporzyć trochę zabawy. W moim wypadku (radiowa myszka z rolką) największym problemem było dobranie rodzaju myszki w X'ach aby ta nie była nadwrażliwa ... wcześniejsze imps2 nie chciało poprawnie działać z /dev/gpmdata, w którym kopie danych z myszki umieszcza gpm; działająca konfiguracja wygląda natomiast tak:

/etc/gpm.conf :

# dla PS/2:
device=/dev/psaux
# dla USB (wymaga modolow hid i usbmouse):
#device=/dev/input/mice
# lub:
#device=/dev/input/mouse0

type=autops2
#type=imps2

responsiveness=
repeat_type=ms3
append=""
sample_rate=

/etc/X11/XF86Config-4 :

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/gpmdata"
        Option          "Protocol"              "IntelliMouse"
        Option          "ZAxisMapping"          "4 5"
EndSection

Może się zdażyć że aby gpm działało wymaga dwu-trzykrotnego uruchomienia ...

Jeżli na jednej z tak uzyskanych pięknych konsoli chielibyśmy mieć zamiast lokalnego logowania logowanie zdalne po ssh możemy skozystać z poniższego wrappera umożiwiającego odpalanie takiego połączenia z getty:

#!/usr/bin/perl

# put in /etc/inittab:
# 2:23:respawn:/sbin/getty -ni -l /usr/local/ssh_to_xxx 38400 tty2
# where /usr/local/ssh_to_xxx is path to this script with correct $hostname variable:
my $hostname="baszta.vls.icm.edu.pl";

print "$hostname login: ";
my $username = <STDIN>;
chomp ( $username );
exec ("/usr/bin/ssh $username\@$hostname");

Sortowanie w polskich localach

Domyślna konfiguracja sortowania w polskich (i nie tylko) lokalizacjach jest taka że występujące na początku nazw plików znaki takie jak kropki, wykrzykniki, małpy itp. są ignorowane. Mnie to się nie podobało i postanowiłem to zmienić: odnalazłem plik źródłowy dla pl_PL - /usr/share/i18n/locales/pl_PL i przerobiłem sortowanie na (w mojej opinii) bardziej normalne. Tutaj zamieszczam zmodyfikowany plik źródłowy należy go wrzucić do podanej lokalizacji (lepiej wcześniej zrobić backup tego co tam jest) i przebudować locale - np. przez rekonfigurację stosownego pakietu.

Network File System

NFS jest opartym o protokół IP (UDP lub TCP) protokołem do udostępniania systemów plików poprzez sieć. Udostępnianie zasobów dyskowych po nfs wymaga zainstalowanego serwera NFS (dla linuxów występuje on w dwóch wersjach - działającej w przestrzeni jądra oraz działającej jako normalny daemon). Konfiguracja udostępnianych zasobów ustawiana jest w /etc/exports (dla linuxa) i zatwierdzana (przeładowywana) przy pomocy komendy exportfs (opcja -r dla ponownego eksportu - przeładowania configu, -v dla pokazania co jest obecnie wyeksportowane). Plik składa się z dwóch kolumn - w pierwszej podawana jest ścieżka do udostępnianego systemu plików, w drugiej podawane są adresy uprawnionych hostów i opcje exportu dla każdego z hostów. Konfiguracja montowania odbywa się standardowo w /etc/fstab i wymaga podania jako typu systemu plików nfs.

Możliwe jest także eksportowanie drzewa katalogów po nfs-ie bez umieszczania wpisów w plikach konfiguracyjnych - exportfs -o rw lub ro host-klienta:/eksportowana/sciezka (w niektórych -nie linuxowych - systemach share -o rw=host-klienta-z-prawem-zapisu,ro=host-klienta-tylko-do-odczytu /eksportowana/sciezka) oraz montowanie - mount -t nfs serwer:/eksportowana/sciezka /punkt/montowania

multipath i SAN

Multipath może być uzyty do konfioguracji ścieżek dostepu do dysków/macierzy dyskowych SAN podłączanych naprzykład poprzez Fibre Channel. Na ogół jest narzędziem na tyle sprytnym iż radzi sobie z autodetekcją poprawnej ścieżki itd, oczywiście istnieje także możlwiość manualnej konfiguracji ścieżek.

Multipath pokazuje identyfikatory Fibre Channel LUN - konkretnie "tgt_node_name" (np. 0x500a09808657d365) oraz "h:b:t:l" (np. 0:0:2:5), gdzie "h:b:t" to ${target_id}, "tgt_port_name", "port_id" i inne można zobaczyć w /sys/class/fc_transport/target${target_id}/port_name i jemu podobnych. Z koleji identyfikator WWN karty (interfejsu) FC (potrzebny do wystawienia zasobów z macierzy) możemy odczytać przez: cat /sys/class/fc_host/host0/port_name.

Uwaga: włączenie multipath może spowodować jego zadziałanie na dysku lokalnym co objawi się np. komunikatem o zajętości urządzenia przy próbie tworzenia systemu plików na nim (mkfs mówi "is apparently in use by the system; will not make a filesystem here") - należy wtedy (jeżeli nie jest nam potrzebne) wyłączyć działanie multipath na takim urządzeniu lub operować na urządzeniu multipathowym.

Aby zabronić odpalania się multipath na konkretnym urządzeniu należy w pliku /etc/multipath.conf umieścić wpis postaci:

blacklist {
	wwid NASZ_WWID
}

gdzie NASZ_WWID można uzyskać z wyniku komendy multipath -ll jest to to identyfikator bez spacji pokazywany w pierwszej linii opisującej dany zastaw ścieżek - należy odrzucić ostatnie znaki tożsame z oznaczeniem urządzenia device mappera w /dev (np. dm-0). Opcjonalnie zamiast wpisu wwid NASZ_WWID można podać wpis typu devnode /dev/sda*, ale może to rodzić problemy gdy oznaczenia dysków z jakiś powodów się pozmieniają.

Zobacz też inne zagadnienia związane z rozproszonym storagem: iSCSI, Lustre, RAID, NAS, DAS oraz FreeNAS - serwer NAS dla FreeBSD

Odświeżanie listy urządzeń SCSI

W przypadku korzystania z urządzeń SCSI hot-plug (np. dysków hot-swap) zachodzi niekiedy potrzeba odświeżenia wykazu urządzeń w systemie, możemy to wykonać w następujący sposób:

odświeżenie listy urządzeń (utworzenie plików w /dev, ...)
	echo - - - >/sys/class/scsi_host/HOST/scan  #HOST określa który konroler poddawany jest ponownemu skanowaniu

Często bywa tez potrzebne odświerzenie informacji o wielkości istniejącego urządzenia (np. zmiana rozmiaru LUNa na macierzy). Uzyskać to możemy przy pomocy komend:

	# reskan urządzenia (niekiedy wymagane dla ścieżek multipath-owych)
	echo 1 > /sys/block//dev/sda/device/rescan
	
	# odświeżenie informacji o wielkości urządzenia
	blockdev --rereadpt /dev/sda
	# wielkość możemy sprawdzić komendą (uwaga wynik w blokach 0.5kB):
	blockdev --getsz /dev/sda
	
	# zmiana rozmiaru urządzenia multipath-owego
	multipathd -k"resize map 360a980006467435a6c5a6441686d5652"

Dla sieciowej odmiany SCSI (iscsi) odświeżenie rozmiaru zasobu wykonujemy poleceniem iscsiadm -m node -R

Dodatkowo przydatne mogą być polecenia postaci:

lsscsi
echo 'scsi-add-single-device    HOST CHAN DEV LUN' > /proc/scsi/scsi
echo 'scsi-remove-single-device HOST CHAN DEV LUN' > /proc/scsi/scsi

Kilka sztuczek z /etc/fstab

Plik /etc/fstab określa punkty montowań dla poszczególnych urządzeń, a także to które urządzenia (partycje, dyski, ...) będą montowane automatycznie przy starcie systemu.

Plik ten można także (podobnie jak bootloader) konfigurować w oparciu o UUID wartości te najłatwiej odczytać z ls -l /dev/disk/by-uuid/). W pliku tym często umieszcza się rzeczy takie jak /proc czy /sys jednak (w odróżnieniu od swap_- /dev/swap_dev none swap sw 0 0) nie jest to niezbędne (i tak będą montowane)

W przypadku montowania /var lub /tmp na innej partycji poprzez opcje bind:

/home/var          /var       none      bind               0 0
/home/tmp          /tmp       none      bind,umask=000     0 0

warto zapewnić kontrolę poprawności ich zamontowania na wypadek problemów z partycją na której są montowane:

#!/bin/bash
if ! grep home /proc/mounts > /dev/null; then
	sleep 30
	mount /home
	if ! mount | grep home; then
		echo "Can't mount /home - PLESE FIX THIS"
		env TMOUT=120 bash
	fi
	mount /tmp
	mount /var
fi

W tym miejscu warto wsponieć także o możliwości montowania plików jak urządzeń (dd if=/dev/zero bs=1M count=100 of=/tmp/plik; mkfs.ext2 /tmp/plik; mount -o loop /tmp/plik /mnt), a także możliwości tworzenia takich plików z całym układem partycji w środku:

losetup /dev/loop1 /mnt/dom0.img
fdisk /dev/loop1
losetup -o 32256 /dev/loop2 /dev/loop1
mkfs.xfs /dev/loop2
mount /dev/loop2 /mnt/1
# ...
umount /mnt/1/
losetup -d /dev/loop2
losetup -d /dev/loop1

Problem z while(1) { fork(); }

Jak łatwo się przekonać wykonanie programu zawierającego powyższy kod kompletnie zablokuje system (w skutek zapełnienia pamięci / tablicy procesów). Aby to uniemożliwić należy w pliku /etc/security/limits.conf dodać linijkę * hard nproc 200 i w konfiguracji PAM'a (np. /etc/pam.d/common-session) dodać: session required pam_limits.so. W tym celu możnaby także uzyć starszego pliku /etc/limits (będącego plikiem konfiguracji pakietu shadow), jednak beardziej preferowane jest korzystanie z konfiguracji PAM (podobnie jak z większością opcji z /etc/login.defs).

Zobacz w Sieci: Fork bomb, Cgroups

Problemy wydajnościowe

Jeżeli podejrzewamy że mamy doczynienia z jakimś problemem typu wydajnościowego to linux oferuje bogaty zbiór narzędzi umożliwiających przyjrzenie się temu bliżej. Polecam zapoznać się z zbiorem informacji na ich temat - Linux Performancekopia lokalna.

Wirtualizacja - XEN

Xen jest monitorem maszyn wirtualnych. Na komputerze na którym funkcjonuje uruchamiany jest najpierw sam Xen, a dopiero potem on uruchamia wskazane jądro systemu operacyjnego (odbywa się to poprzez odpowiedni wpis w bootloaderze, w którym ścieżka obrazu jądra i jego ram dysku są przekazywane jako parametry do ładowanego jądra xen'a). Poniżej zamieszam przykład takiego wpisu wraz z opcjami wystawiającymi konsolę XEN i dom0 na port szeregowy (ttyS1):

title           Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.26-2-xen-amd64
root            (hd0,0)
kernel          /boot/xen-3.2-1-amd64.gz com1=9600,8n1 console=com1,vga dom0_mem=256M
module          /boot/vmlinuz-2.6.26-2-xen-amd64 root=/dev/sdb1 ro console=tty0 console=hvc0
module          /boot/initrd.img-2.6.26-2-xen-amd64

Podstawowy system operacyjny uruchamiany przez Xen określany jest jako dom0, inne jako domU. Wspomniany dom0 charakteryzuje się posiadaniem dostępu do całego sprzętu, który nie został jawnie przekazany któremuś z domU (tak samo z pamięcią i czasem procesora). Poszczególne domU uruchamiane (i kontrolowane/zarządzane) są z dom0 przy pomocy komendy xm, do startu mogą wykorzystywać nawet ten sam obraz jądra, initrd i (ew.) dysku co dom0 (w tym wypadku w trybie ro lub po prostu kopię). Zobacz man xm i man xmdomain.cfg.

Xen zapewnia komunikację sieciową z systemami wirtualnymi. Realizowane jest to poprzez tworzenie w dom0 wirtualnych interfejsów związanych z interfejsami w domU, interfejsy te noszą oznaczenia vifX.Y, gdzie X identyfikuje domU do którego prowadzi dany interfejs, a Y jest kolejnym numerem takiego interfejsu (domyślnie ich liczba dla każdego domU odpowiada liczbie fizycznych interfejsów w dom0). Ich wykorzystanie zależy od wartości network-script oraz vif-script w /etc/xen/xend-config.sxp (pierwsza wskazuje nazwę skryptu odpalanego przy starcie dom0 celem przygotowania go do dostarczania sieci domU, druga wskazuje nazwę skryptu odpalanego przy uruchamianiu domU celem udostępnienia mu sieci, skrypty te znajdują się w /etc/xen/scripts). W dalszej części będę zakładał że sieć udostępniana jest poprzez bridge przy ustawieniach: (vif-script vif-bridge) i (network-script network-dummy) oraz następującej zawartości /etc/xen/scripts/network-dummy:

/etc/xen/scripts/network-bridge $1 vifnum=0 netdev=eth0
/etc/xen/scripts/network-bridge $1 vifnum=1 netdev=eth1

O ilości interfejsów w poszczególnych domU decyduje wpis postaci vif = [ 'bridge=eth0,mac=00:16:3E:00:00:00', 'bridge=eth1,mac=00:16:3E:00:00:01' ] w konfiguracji danego domU. W tym przypadku utworzone będą dwa interfejsy o podanych adresach MAC, a odpowiadające im interfejsy vifX.Y w dom0 zostaną włączone do wskazanych bridge'ów. Bridge te (eth0 i eth1) zostaną utworzone przez podany powyżej skrypt network-dummy i zostaną włączone do nich odpowiednie interfejsy peth. Jednak aby network-bridge zadziałał poprawnie muszą być przed jego wywołaniem przez xend skonfigurowane poprzez ifup (/etc/network/interfaces) odpowiednie interfejsy eth (zamiany nazwy z eth na peth dokonuje wspomniany skrypt przed utworzeniem odpowiedniego bridge'a i przenosi konfigurację z fizycznej karty na bridge'a, a fizyczna karta staje się portem bridge'a).

W wpisach vif = ... nie ma formalnego wymogu podawania MAC adresów tworzonych w domU interfejsów, jednak warto to robić aby wiedzieć co jest co oraz aby udev w domU nie przenumerowywał kart (gdyż jeżeli go nie podamy za każdym startem domU będzie generowany losowy z prefiksem 00:16:3E). Warto także zadbać aby udev przypisywał do tych MAC'ow odpowiednie numery interfejsów - eth0 i eth1 (a nie jakieś z kosmosu). Alternatywnymi metodami do opisywanego tutaj bridge'owania jest realizacja zwykłego routingu lub routintgu z NAT pomiędzy siecią dochodzącą do dom0 a siecią domU.

W niektórych wersjach Xen'a występuje problem z wbudowaną synchronizacją zegarów domU z dom0. Jego rozwiązaniem jest rezygnacja z tego mechanizmu (bez niej nie da się ustawić zegara w domU) poprzez wpisanie 1 do /proc/sys/xen/independent_wallclock oraz wykorzystanie np. ntpdate do synchronizacji czasu.

W przypadku Xen 3.2 gdy Xen odpalany jest z przekierowaniem swojej konsoli na ttyS* nie należy uruchamiać konsoli jądra ani getty dom0 na tym urządzeniu. W opcjach jądra dla dom0 (tak jak wyżej pokazano) podajemy console=hvc0, natomiast getty uruchamiamy na /dev/hvc0, ewentualnie na /dev/console (w obu wypadkach konfiguracja jak dla tty0 a nie ttyS0). Podobnie należy czynić z getty DomU aby mieć konsolę pod xm console (nie odpalamy na /dev/tty1 tylko na /dev/console).

Oprócz xen'a mamy także inne systemy wirtualizacji, takie jak (więcej na stronie z technicznym porównaniem systemów wirtualizacji oraz w Debian Wiki):

Zobacz w Sieci: Xen - Debian Wiki, Xen Virtualization Essentials.

Nie tylko Debian

Poniżej przedstawię kilka zagadnień administracyjnych specyficznych dla niedebianopodobnych dystrybucji (używaną dystrybucję możemy sprawdzić zaglądając do /etc/issue).

W Fedora Core konfiguracja sieci znajduje się w plikach /etc/sysconfig/network-scripts/ifcfg-INTERFEJS (dane konfiguracyjne interfejsu) i /etc/sysconfig/network (nazwa hosta, włączenie sieci oraz bramka domyślna). pliki te mają składnie bashową (deklarowanie zmiennych) i wykorzystywane są przez skrypt /etc/init.d/network (w razie problemów z startem sieci warto zwrócić uwagę czy jest on uruchamiany w aktualnym runlevelu (domyślny to 3). Usługi oprócz skryptów w /etc/init.d/ mogą być kontrolowane przez service usluga komenda. Oprogramowanie możemy instalować poprzez yum (wskazany pakiet z rozwijaniem zależności) lub rpm (wskazany plik, może być wskazany URL np. na HTTP). Strefę czasową możemy ustawić np. przy pomocy cp - cp /usr/share/zoneinfo/Europe/Warsaw /etc/localtime.

W SUSE do zarządzania systemem, a przede wszystkim instalowania oprogramowania służy yast i yast2.

Dość interesującym systemem jest PLD. Elementami go wyróżniającymi jest przedewszystkim bardzo wygodny menager pakietów - podek oraz ich znaczne rozdrobnienie. Najistotniejsza konfiguracja znajduje się w plikach /etc/sysconfig/interfaces, /etc/sysconfig/network i pozostałe /etc/sysconfig/* a także /etc/sysctrl.conf. System (w odróżnieniu np. od Ubuntu korzystającego z event-based init daemon) posiada standardowy init (/etc/inittab, /etc/rc*, /etc/init.d/*).

Praktycznie każdy linux umożliwia obok standardowych systemów plików - ext2/ext3 używać systemów takich jak XFS czy ReiserFS, a nawet tak specyficzne rozwiązania jak klastrowy system plików Lustre.



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/usage_and_config/operating_systems_config/linux) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2015-10-10 12:07:47 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).