CoverStory configure

background image

będą prowadzić do całej masy tajemniczych
komunikatów błędów, a kompilacja zakoń-
czy się niepowodzeniem. Potwierdzi to tyl-
ko nieusprawiedliwioną opinię wielu osób,
że do kompilacji programu w Linuksie nie-
zbędne są umiejętności programistyczne.

Oczywiście nie jest to prawdą. Proces

kompilacji większości aplikacji jest
w znacznej części zautomatyzowany. Czy
chcesz więcej wiedzieć o tym procesie

i o tym, co dokładnie się dzieje
podczas wykonywania kolej-
nych poleceń: configure, make
i make install?

W tym artykule przyjrzymy

się bliżej komunikatom błę-

dów, które można napotkać uruchamiając
skrypt configure. Większość błędów można
łatwo rozwiązać, o ile posiada się odpo-
wiednią wiedzę.

Podstawowe

wyposażenie

Po pobraniu i rozpakowaniu kodu źródło-
wego aplikacji musisz rozejrzeć się w kata-
logu, w którym aplikacja została rozpako-
wana. Zanim zrobisz cokolwiek innego,
przejrzyj najpierw pliki README i IN-
STALL. Dowiesz się z nich, czy przy kom-
pilacji programu wystarczy ograniczyć się
do klasycznych trzech kroków, czy też może
któryś z plików należy najpierw poddać

P

rędzej czy później każdy użytkow-
nik Linuksa doświadczy sytuacji,
gdy nie znajdzie dla swojej dystry-

bucji gotowej biblioteki, potrzebnej do uru-
chomienia jakiegoś nowego, wspaniałego
programu. Dla weterana Linuksa odpo-
wiedź jest oczywista: należy samodzielnie
skompilować kod źródłowy. Niestety, jeśli
kompilator jest dla Ciebie wciąż niezna-
nym terytorium, Twoje wysiłki na pewno

Configure

COVER STORY

26

Lipiec 2004

www.linux-magazine.pl

Od kodu źródłowego do produktu finalnego:

komunikaty błędów skryptu configure

Perfekcyjna

konfiguracja

Nie ma lepszej okazji do oglądania

niezwykłych komunikatów błędów

niż kompilacja programu. Znany

użytkownikom Linuksa skrypt confi-

gure, ma tutaj swój istotny wkład.

Czy można w jakiś sposób uniknąć

problemów związanych z urucha-

mianiem kompilacji?

ANDREA MÜLLER

Rysunek 1: Kategoria „Development” pakietów z narzę-

dzia SuSE YaST zawiera pakiety potrzebne do uruchamia-

nia kompilacji.

[andi@diabolos squaroid-0.60.3]./configure
[...]
checking for GTK – version >= 1.2.0... yes
checking for imlib-config... no
checking for gdk_imlib... not found
configure: error: Cannot find gdk_imlib: I NEED IT!

Listing 1: Komunikaty błędów związane

z brakującymi pakietami programistycznymi

www.PhotoCase.de

background image

Zmienne są w Linuksie wskazywane przez
poprzedzający je znak dolara. Każda dys-
trybucja ma inny zestaw katalogów w ścież-
ce powłoki.

W naszym przykładzie skrypt nie znalazł

kompilatora języka C – aplikacji generują-
cej plik wykonywalny na podstawie progra-
mu napisanego w języku programowania C.
Linux standardowo wykorzystuje kompila-
tor gcc. Niestety, obecnie wiele dystrybucji
nie instaluje domyślnie kompilatora i na-
rzędzi programistycznych.

Tabela 1 pokazuje listę pakietów nie-

zbędnych do przygotowania systemu do sa-
modzielnej kompilacji programów. Obej-

edycji. Wielu programistów wykorzystuje
plik INSTALL do informowania użytkow-
ników np. o dodatkowych wymaganiach
programu.

Pierwsza próba uruchomienia sskkrryyppttuu

ppoow

włłookkii ./configure może od razu zakoń-

czyć się następującym błędem:

checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable

U

C compiler found in $PATH

Skrypt sprawdza, czy wymagane do kompi-
lacji pliki i programy rzeczywiście istnieją.
Linie zaczynające się od checking pokazu-
ją, co jest sprawdzane. Rezultaty przedsta-
wione są na końcu każdej linii, w tym przy-
padku jest to niepowodzenie (no). Innymi
słowy, skrypt przerywa działanie komuni-
katem błędu, o ile nie uda mu się znaleźć
szukanego programu lub pliku. W naszym
przykładzie w systemie nie ma odpowied-
niego kompilatora dostępnego w ścieżce do-
stępu $PATH.

Polecenie echo $PATH wyświetla listę

katalogów umieszczonych w

ścieżce.

Pakiet

Zawiera

gcc

Kompilator języka C.

gcc-c++

Kompilator języka C++.

libstdc++-devel

Pliki bibliotek niezbędne do kompilacji programów napisanych w C++.

make

Program do automatycznej kompilacji kodu źródłowego w oparciu o reguły zapisane
w plikach Makefile.

binutils

Programy służące do manipulacji plikami binarnymi, m.in. narzędzie ar oraz strip (usuwający
informacje diagnostyczne z programów i bibliotek).

glibc-devel

Pliki bibliotek niezbędne do kompilacji programów napisanych w C.

gettext and gettext-devel

Programy i pliki potrzebne do kompilacji oprogramowania wielojęzycznego. Niektóre dystrybucje
nie zawierają pakietu gettext-devel. Wówczas pakiet gettext zawiera wszystkie wymagane pliki.

XFree86-devel

Pliki niezbędne do kompilacji programów dla X Window

(libxfree86-devel
w niektórych dystrybucjach)

libpng-devel

Pliki nagłówkowe i pliki biblioteki odpowiedzialnej za wyświetlanie obrazów w formacie PNG.
Prawie każda graficzna aplikacja potrzebuje tej biblioteki.

libjpeg-devel

Pakiet niezbędny do kompilacji programów korzystających z biblioteki JPEG.

zlib-devel

Pakiet niezbędny do kompilacji programów korzystających z biblioteki zlib

gtk-devel

Pakiet niezbędny do kompilacji programów korzystających z biblioteki gtk

gtk2-devel

Pakiet niezbędny do kompilacji programów korzystających z biblioteki gtk2. Wymagane
do kompilacji programów takich jak np. GIMP 2.0.

kdelibs-devel

Pakiet niezbędny do kompilacji programów dla KDE.

(kdelibs3-devel dla KDE 3.x)

qt3-devel

Biblioteka programistyczna dla QT. Dostarcza ona elementów GUI dla aplikacji GUI, podobnie

(libqt3-devel w niektórych

jak GTK. Wymagana do kompilacji środowiska i aplikacji KDE.

dystrybucjach)

Niektóre dystrybucje (np. Debian) wykorzystują do identyfikacji pakietów programistycznych przyrostek dev.

muje ona narzędzia, takie jak kompilator
czy program make, oraz pakiety programi-
styczne wymagane do kompilacji aplikacji
działających w trybie graficznym.

Nie daj się zmylić opisom pakietów dla

programistów. Sugerują one, że potrzebu-
jesz ich wyłącznie przy pisaniu swoich wła-
snych programów. To nieprawda – są one
konieczne do kompilowania niektórych pa-
kietów ze źródeł.

Do zainstalowania pakietów programi-

stycznych wykorzystaj menedżer pakietów
Twojej dystrybucji (patrz Rysunek 1). Jeśli
posiadasz SuSE Linux w wersji Personal
Edition, musisz niestety pobrać większość
z nich z serwera FTP SuSE, ponieważ pod-
stawowa wersja SuSE domyślnie nie zawie-
ra wielu pakietów programistycznych.

Opisany powyżej podstawowy zestaw na-

rzędzi usunie przyczynę większości komu-
nikatów błędów. Jednak jeśli komunikaty
błędów będą się powtarzać, trzeba zabawić
się w detektywa.

Szukajcie, a znajdziecie

Listing 1 pokazuje najczęściej spotykany
typ błędów pojawiających się przy urucha-
mianiu configure.

W tym przykładzie skrypt konfiguracyj-

ny informuje o braku gdk_imlib. W linii,
w której napisane jest checking for imlib-
-config... no, zawarta jest informacja o tym,
czego szuka configure – w tym przypadku
jest to skrypt imlib-config. Musimy naj-
pierw sprawdzić, czy programu tego rzeczy-
wiście nie ma w systemie.

Możesz w tym celu wpisać polecenie lloo--

ccaattee imlib-config, by sprawdzić, czy fak-
tycznie brakuje imlib-config. Mogło się tak
zdarzyć, że skrypt configure sprawdzał
w złych miejscach. Alternatywnie użyj find.
Działa ono dużo dłużej, gdyż nie przeszu-
kuje bazy danych.

Jeśli poszukiwanie zakończy się niepo-

COVER STORY

Configure

27

www.linux-magazine.pl

Lipiec 2004

Tabela 1: Podstawowe pakiety i programy

niezbędne do kompilacji programów

Rysunek 2: Narzędzie urpmf w dystrybucji Mandrake przeszukuje bazę danych zawierającą listę

pakietów należących do dystrybucji.

background image

pakietu o nazwie imlib-devel i że dla wyko-
nania poprawnej kompilacji należy go zain-
stalować w systemie.

Wykonanie tego jest trudniejsze w SuSE

Personal lub Red Hat Linux. Red Hat nie
zawiera narzędzia służącego do przeszuki-
wania listy dostępnych, ale nie zainstalowa-

nych pakietów. Poszukiwanie pakietów dla
programistów w SuSE Personal może nie
przynieść efektu, ponieważ nie znajdują się
one normalnie na płytach CD.

W obu przypadkach najlepiej jest wtedy

użyć wyszukiwarek pakietów RPM i DEB
pod adresem [1]. Formularze na stronach
WWW pomagają w przeszukiwaniu pakie-
tów także pod kątem zawartości indywidu-
alnych plików (patrz Rysunek 3). Użytkow-
nicy Debiana mogą też korzystać z wyszu-
kiwarki pod adresem http://packages.de-
bian.org/
.

Dobrze ukryte

Sprawa komplikuje się nieco, jeśli configure
nie znajdzie pliku, będącego faktycznie
w systemie. Może być to spowodowane tym,
że sam skompilowałeś wymaganą bibliotekę
lub wykorzystujesz dystrybucję przechowu-
jącą pliki w nietypowym katalogu, do które-
go configure nie zagląda – Listing 2 pokazu-
je taki przypadek.

W tym przykładzie configure nie może

odnaleźć biblioteki ldvdread. Ale nie jest to
nazwa brakującego pliku – litera l na po-
czątku nazwy oznacza lib (biblioteka) i do-
piero po dodaniu na końcu do nazwy .so
otrzymujemy nazwę pliku brakującej bi-
blioteki: libdvdread.so.

Przykładowa biblioteka ldvdread jest

częścią pakietu libdvdread. Jeśli skompilo-
waliśmy ten pakiet samodzielnie i zainsta-
lowaliśmy w katalogu /usr/local/multime-
dia, to polecenie locate libdvdread.so wy-
świetli informację, że biblioteka libdvdre-
ad.so, obecnie poszukiwana przez configu-
re, rzeczywiście znajduje się w katalogu
/usr/local/multimedia/lib.

Jednak configure nie znajdzie pliku, po-

nieważ katalog /usr/local/multimedia nie
jest standardowym katalogiem przeznaczo-

wodzeniem, być może plik naprawdę nie
istnieje. W tym przypadku musisz go zain-
stalować. Ale jak znaleźć jeden plik pośród
tysięcy pakietów, z których składa się dys-
trybucja? Narzędzia dostarczane przez dys-
trybucje Mandrake i SuSE ułatwiają to za-
danie. Jeśli posiadasz Mandrake, wpisz
urpmf imlib-config. To nakaże menadżero-
wi pakietów sprawdzić bazę danych i wy-
świetlić listę pakietów zawierających imlib-
-config (Rysunek 2). Polecenie urpmf
gdk_imlib podpowie nam, że poszukiwane
przez nas pliki znajdują się w pakiecie li-
bimlib1-devel.

Użytkownicy SuSE mogą natomiast uru-

chomić program pin. Gdy po raz pierwszy
uruchamiasz to narzędzie, poprosi ono
o włożenie instalacyjnego medium, z które-
go skopiuje na Twój dysk opisy pakietów
(potrzebne są do tego uprawnienia admini-
stratora). Po zakończeniu tego kroku mo-
żesz uruchomić polecenie pin imlib-config.
Dzięki temu dowiesz się, że plik należy do

Configure

COVER STORY

28

Lipiec 2004

www.linux-magazine.pl

[andi@diabolos ogle-0.9.1]$./configure
[...]
checking for madvise... yes
checking for DVDDiscID in -ldvdread... no
checking for DVDOpen in -ldvdread... no
configure: error: Need libdvdread, install it or specify it's location

Listing 2: Program configure

nie może znaleźć biblioteki

Rysunek 3: Serwis rpmseek.com nie tylko wyszukuje pakiety, ale także przyjmuje nazwy plików jako

wzorzec wyszukiwania.

Rysunek 4: Polecenie ./configure --help wyświetla listę parametrów skryptu konfiguracyjnego.

background image

nym do instalacji oprogramowania. Wyko-
rzystanie tego typu katalogów ma sens, o ile
chcesz przetestować aplikację tylko po to,
by ją za chwilę usunąć lub w przypadku,
gdy nie masz uprawnień do zapisu w całym
systemie plików.

Przedstawiony na Listingu 2 wynik pra-

cy configure wskazuje rozwiązanie: confi-
gure: error: Need libdvdread, install it or
specify it's location. Brakująca biblioteka
jest już zainstalowana. Pozostaje tylko
wskazać configure, gdzie ma dodatkowo szu-
kać tej biblioteki.

Wywołanie configure z flagą --help wy-

świetli listę obsługiwanych parametrów
wraz z krótkim objaśnieniem. Do wskazy-
wania określonej lokalizacji wykorzystuje-
my parametr --prefix. Program configure
domyślnie wykorzystuje katalog /usr/local
(Rysunek 4). Zatem rozwiązaniem naszego
problemu byłoby wywołanie configure
w następujący sposób:

./configure -with-dvdread=/usr

U

/local/multimedia

Mnóstwo opcji

Niektóre skrypty configure dostar-
czają użytkownikom bardziej pre-
cyzyjnych wskazówek odnośnie ob-
sługi komunikatów błędów, np.
configure na Listingu 3 szczegóło-
wo informuje, że nie może znaleźć
programu sdl-config.

W takim wypadku najpierw

sprawdź, czy aplikacja jest zainsta-
lowana w systemie, np. w Mandra-
ke aplikacja jest częścią pakietu
libSDL1.2-devel.

Jeżeli w systemie masz jednak

skompilowaną przez siebie wersję
sdl-config, configure dostarcza kil-
ku podpowiedzi w liniach zaczyna-
jących się od gwiazdek. Tak na-
prawdę sdl-config jest skryptem
informującym configure o tym,
gdzie znajdują się biblioteki SSD

DL

L

oraz wskazującym, jakie ffllaaggii kkoom

mppiillaattoorraa

należy przekazać do Makefile. Oczywiście,
żeby configure mógł znaleźć ten skrypt,
musi on zostać umieszczony w ścieżce do-

stępu PATH. W przypadku, gdy sdl-config
znajduje się w /usr/local/games/bin, wpro-
wadź następującą komendę:

export PATH=$PATH:/usr/

U

local/games/bin

żeby dodać katalog do bieżącej ścieżki po-
włoki. Następujące po znaku „=” wyraże-
nie $PATH pozwala na uniknięcie nadpisa-
nia istniejącej już definicji ścieżki. Nowa
ścieżka powłoki zostanie utworzona przez
złączenie obecnej ścieżki z katalogiem
/usr/local/games/bin. Wprowadź powyższą
komendę do pliku startowego B

Baasshhaa,

.bash_profile znajdującego się w Twoim ka-
talogu domowym /home.

Alternatywnie możesz ustawić zmienną

środowiskową SDL_CONFIG, ponownie

COVER STORY

Configure

29

www.linux-magazine.pl

Lipiec 2004

..//:: Najczęściej katalog, w którym rozpako-
wałeś kod źródłowy, nie należy do ścieżki
wyszukiwania powłoki. Nie możesz zatem
wywołać skryptu configure wpisując tylko
jego nazwę. Do nazwy musisz dodać przed-
rostek./, który wskazuje na katalog bieżący.

llo

occa

attee:: Program ten przeszukuje bazę da-

nych zawierającą lokalizacje plików na dys-
ku. Baza danych jest tworzona poleceniem
updatedb, które w większości dystrybucji
jest uruchamiane automatycznie jako co-
dzienne zadanie programu cron. W SuSE
Linux kombinacja updatedb/locate jest
częścią pakietu findutils-locate. Nie jest on
niestety domyślnie instalowany.

S

SD

DLL:: Simple DirectMedia Layer jest prze-

nośną biblioteką zawierającą funkcje ni-
skopoziomowego dostępu do kart dźwięko-
wych, urządzeń wejścia, joysticka, kart gra-
fiki 3D oraz innych urządzeń.

F

Flla

ag

gii kko

om

mp

piilla

atto

orra

a:: Opcje, które informują

kompilator, gdzie ma szukać bibliotek i pli-
ków nagłówkowych oraz w jaki sposób ma
wykonywać kompilację.

B

Ba

assh

h:: Interpreter poleceń (inaczej powło-

ka), analogiczny do znanego niegdyś
„command.com” z MS-DOS. Dystrybucje
Linuksa wykorzystują Bash jako standardo-
wą powłokę. Istnieją liczne alternatywy Ba-
sha, takie jak tcsh (jego składnia przypomi-

na C) czy zshell.

P

Plliikkii n

na

ag

głłó

ów

wkko

ow

wee:: Pliki (najczęściej z roz-

szerzeniem .h) opisujące interfejsy bibliote-
ki lub aplikacji. Dostarczają szczegółowych
informacji co do sposobu wywoływania
określonych funkcji. Programiści chcący
wykorzystywać te funkcje muszę włączyć
pliki nagłówkowe do kodu źródłowego. Pa-
kiety programistyczne są złożone głównie
z plików nagłówkowych potrzebnych do bu-
dowy aplikacji.

S

Skkrryyp

ptt p

po

ow

włło

okkii:: Plik tekstowy zawierający po-

lecenia sekwencyjnie przetwarzane przez in-
terpreter poleceń (czyli powłokę – w większo-
ści dystrybucji Linuksa jest to Bash).

SŁOWNICZEK

Rysunek 5: Program pkg-config przetwarza plik

gtk+.pc, aby zdobyć wszystkie dane o zainstalowa-

nej wersji biblioteki GTK.

[andi@diabolos lbreakout2-2.5beta-3]$./configure
[...]
checking for main in -lpng... yes
checking for sdl-config... no
checking for SDL – version >= 1.2.0... no
*** The sdl-config script installed by SDL could not be found
*** If SDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the SDL_CONFIG environment variable to the
*** full path to sdl-config.
configure: error: lib SDL is needed

Listing 3: Komunikat błędu

wraz z zintegrowaną pomocą

background image

W przypadku, gdy samemu skompilowa-

łeś bibliotekę np. libgphoto do obsługi apa-
ratów cyfrowych, pliki zostaną zainstalowa-
ne domyślnie w ścieżce /usr/local. Polece-
nie make install skopiuje libgphoto2.pc do
/usr/local/lib/pkgconfig. Jeżeli spróbujesz
zbudować aplikację korzystającą z tej bi-
blioteki, ./configure wyświetli błąd przed-
stawiony na Listingu 4.

Na właściwej ścieżce

Skrypt configure uważa, że zainstalowana
wersja libgphoto2 jest zbyt stara, ponieważ
wymagania dotyczące obecności biblioteki
libgphoto2 w wersji 2.1.1 lub nowszej nie zo-
stały spełnione. Skrypt nie znalazł libgpho-
to2.pc w ścieżce poszukiwania pkg-config.

Na Listingu 4 configure podpowiada, że

możesz użyć zmiennej środowiskowej
PKG_CONFIG_PATH do poszerzenia
ścieżki wyszukiwania. Sugeruje także, któ-
ry z katalogów powinien zostać dołączony
do ścieżki, tzn. katalog zawierający libg-
photo2.pc.

Tak jak poprzednio wspomniano, ponow-

nie możesz w tym celu użyć polecenia
export do zmodyfikowania ścieżki dostępu:

export PKG_CONFIG_PATH=/usr

U

/local/lib/pkgconfig:/usr

U

/lib/pkgconfig

Powyższe polecenie utworzy ścieżkę wyszu-
kiwania pkg-config, wykorzystując katalog
/usr/local/lib/pkgconfig i ścieżkę domyślną
/usr/lib/pkgconfig. Jest to katalog, w któ-
rym znajduje się libgphoto2.pc. Tak na-
prawdę ta druga ścieżka nie jest konieczna,
ponieważ pkg-config, tak czy inaczej, prze-
szuka swoją ścieżkę domyślną.

Jeśli często kompilujesz programy, warto

dodać definicję PKG_CONFIG_PATH do
Twojego pliku ~/.bash_profile. Wtedy
skrypt configure wywołujący pkg-config nie
powinien mieć kłopotu ze znalezieniem
stosownej wersji libgphoto2 (Rysunek 6).

Więcej pomocy

Przytoczone przykłady nie obejmują
wszystkich błędów configure – szczególnie
takich, gdy skrypt nie stosuje odpowiedniej
opcji albo autor programu popełnił pomył-
kę. Jeśli tego dotyczy Twój problem, to za-
cznij od analizy pliku config.log, który jest
tworzony w katalogu z kodem źródłowym.
To miejsce, gdzie configure rejestruje uru-
chamianie komend i ich rezultaty oraz opi-
sy błędów.

W przypadku gdy, to nie pomoże, możesz

spróbować wprowadzić komunikat błędu do
wyszukiwarki internetowej, takiej jak Go-
ogle. Istnieją także grupy dyskusyjne do-
stępne pod adresem [2], zawierające pomoc-
ne informacje od innych użytkowników.
Możliwe, że ktoś inny miał już podobny pro-
blem i że znaleziono już rozwiązanie. Ostat-
nią deską ratunku jest zwrócenie się do
twórcy programu. Jego adres powinien być
zawarty w pliku AUTHORS. Pliki BUGS
i README często zawierają wymagany
przez autora aplikacji sposób opisu proble-
mu – należy się stosować do zawartych tam
porad, ponieważ zwiększa to szansę na to, że
autor zainteresuje się problemem.

wykorzystując komendę export:

export SDL_CONFIG=/usr/local

U

/games/bin/sdl-config

Musisz tutaj również wprowadzić pełną
ścieżkę (na Listingu 3: do pliku sdl-config)

Zmienne

Ostatnio modne jest wykorzystywanie pkg-
-config do wykonywania zadań zwykłe
przypisanych do skryptów konfiguracyj-
nych specyficznych dla danej biblioteki, ta-
kich jak sdl-config. Skrypt pkg-config jest
programistycznym narzędziem służącym
do wykrywania lokalizacji bibliotek i para-
metrów bibliotek wymaganych do popraw-
nej kompilacji programu.

Skrypt pkg-config przetwarza tekstowe

pliki z rozszerzeniem .pc, które zazwyczaj
umieszczone są w katalogu /usr/lib/pkcon-
fig. Dostarczają one informacji, takich jak
wersje zainstalowanych bibliotek, ścieżki
do pplliikkóów

w nnaaggłłóów

wkkoow

wyycchh i bibliotek (patrz

Rysunek 5).

Configure

COVER STORY

30

Lipiec 2004

www.linux-magazine.pl

[1] Wyszukiwarka pakietów RPM i DEB:

http://www.rpmseek.com/

[2] Wyszukiwarka wiadomości w grupach

dyskusyjnych Google:
http://groups.google.com/

INFO

[andi@diabolos gphoto2-2.1.1]$./configure
[...]
checking for libgphoto2 >= 2.1.1... Package libgphoto2 was not
found in the pkg-config search path.
Perhaps you should add the directory containing `libgphoto2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libgphoto2' found

configure: error: Library requirements (libgphoto2 >= 2.1.1) not
met; consider adjusting the PKG_CONFIG_PATH environment
variable if your libraries are in a nonstandard prefix so
pkg-config can find them.

Listing 4: Komunikat błędu od pkg-config

Rysunek 6: Po poprawnym zdefiniowaniu PKG_CONFIG_PATH „pkg-config” może dostarczyć

prawidłowe informacje skryptowi configure.


Wyszukiwarka

Podobne podstrony:
CISCO how to configure VLAN
NS2 lab 4 4 7 en Configure Cisco IOS IPSec using Pre Shared Keys
Configuration Guide WAN Access(V100R006C00 02)
Configsys
Ground Covers
6 4 1 2 Packet Tracer Configure Initial Router Settings Instructions
5 3 3 5 Packet Tracer Configure Layer 3 Switches Instructions
Conformations and Configuration
107? ConfigGuide
Installing WSUS for Configuration Manager 2012 R2
coversheet
cisco router configuration tutorial 4RFRMJJB5VAS625R6IMZTYKDZMOXETS3MOXNMZQ
lab 13, 9.2.1.10 Packet Tracer Configuring Standard ACLs Instructions
lab8, 3.2.2.4 Packet Tracer - Configuring Trunks Instructions
Słownik, ACPI (Advanced Configuration and Power Interface): Standard zarządzania energią wypracowany
Słownik, ACPI (Advanced Configuration and Power Interface): Standard zarządzania energią wypracowany
Deck Covers
15 5 2 Lab Configure Wireless Router
15 4 2a Lab Config Browser Setting

więcej podobnych podstron