From: xf0r3m Date: Wed, 1 May 2024 12:27:44 +0000 (+0200) Subject: Zakończono redagowanie rozdziału 15. X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=2e8ad8dc961b0db542f5f62c3182b7df3078cf59;p=mmdev.git Zakończono redagowanie rozdziału 15. --- diff --git a/articles/terminallog/Linux.Podstawy.html b/articles/terminallog/Linux.Podstawy.html index 5fa2448..20231b9 100644 --- a/articles/terminallog/Linux.Podstawy.html +++ b/articles/terminallog/Linux.Podstawy.html @@ -12321,9 +12321,10 @@ $ javac file.java

W zamierzchłych czasach gdy komputery znajdowały się w zasięgu uczelni wyższych, nawet oprogramowanie własnościowe było - rozprowadzane w ten sposób. Dawniej chcać skorzystać z programu + rozprowadzane przy użyciu kodu źródłowego. Dawniej chcać skorzystać z + programu trzeba było wyposażyć się w zestaw narzędzi programistycznych aby - móc w ogółe go uruchomić. Czy te czasy minęły? I tak i nie. Obecnie + móc w ogóle go uruchomić. Czy te czasy minęły? I tak i nie. Obecnie w wielu dystrybucjach częściej stosuje się paczki przygotowywane osoby związane z dystrybucją aniżeli archiwa kodu niezależnie rozprowadzane przez autora programu. Ma to oczywiście swoje wady oraz @@ -12333,11 +12334,11 @@ $ javac file.java

15.1. Systemy do budowania oprogramowania

- Jak pamietam z poprzedniego rozdziału do automatycznego stworzenia + Jak pamietamy z poprzedniego rozdziału do automatycznego stworzenia pliku wykonywalnego dla naszej przykładowej aplikacji wykorzystaliśmy narzędzie make, narzędzie to wymaga pliku Makefile, w którym to zapisywane były cele, zależności czy - różnego rodzaju makra. Jednym system budowania oprogramowania + różnego rodzaju makra. Jednym z systemów budowania oprogramowania dostępnym na Uniksy jest GNU autoconf. Zadaniem skryptów tego narzędzia jest przygotowanie plików Makefile na podstawie analizy docelowego systemu. System ten korzysta z @@ -12361,7 +12362,7 @@ $ javac file.java zachować pewną dozę niepewności. Otóż zadajmy sobie proste pytanie. Co odróżnia program przydatny od szkodliwego oprogramowania? Odpowiedź jest prosta. Czynności jakie on wykonuje. Na pewnej - płaszczyźnie jedno i drugie to programy, które nom men omen mogą + płaszczyźnie jedno i drugie to programy, które mogą być rozporowadzane w postaci kodu źrodłowego, który zostanie być może zostanie przez nas pobrany, skompilowany i zainstalowany w systemie. Najczęstszym tego typu oprogramowaniem są konie trojańskie. Dlatego @@ -12380,7 +12381,7 @@ $ javac file.java

15.3. GNU autoconf

- Jeśli kiedy uczyliśmy się jezyka C, to wiemy że jest on przenośny + Jeśli kiedyś uczyliśmy się jezyka C, to wiemy że jest on przenośny między systemami, jednak między systemami operacyjnymi czy platformami sprzętowymi instnieje tak wiele różnic, że najczęściej użycie pojedynczego pliku Makefile nie wykonana poprawnie @@ -12395,7 +12396,7 @@ $ javac file.java szablonami.

- Natomiast sama koncepcja jest dość prosta. Polega ona na uruchomienie + Natomiast sama koncepcja jest dość prosta. Polega ona na uruchomieniu pliku configure, który sprawdzi system i dokona odpowiednich podstawień w pliku Makefile.in, tworząc odpowiedni plik Makefile dla uruchomionego systemu oraz platformy @@ -12407,7 +12408,7 @@ $ ./configure

W czasie działania skryptu zostanie nam wyświetlona duża ilość komunikatów diagonstycznych. Jeśli działanie skryptu zakończy się - powodzeniem, to wówczas zostanie wygenerowany co najmniej jedem + powodzeniem, to wówczas zostanie wygenerowany co najmniej jeden pliki Makefile, config.h oraz config.cache. Dzięki czemu nie ma potrzeby przeprowadzania wszystkich testów ponownie w przypadku kolejnego uruchomienia skryptu. @@ -12584,8 +12585,8 @@ make[2]: Leaving directory '/home/xf0r3m/Pobrane/coreutils-9.5/gnulib-tests' make[1]: Leaving directory '/home/xf0r3m/Pobrane/coreutils-9.5'

- Po podaniu za pomocą opcji --prefix, - narzędzie make zainstalowało + Po podaniu za pomocą opcji --prefix miejsca docelowego + dla programów, narzędzie make zainstalowało zbudowane pliki wykonywalne we wskazanym w opcji katalogu. A tak prezentuje się zawartość tego katalogu:

@@ -12601,7 +12602,7 @@ drwxr-xr-x 5 xf0r3m xf0r3m 100 04-30 18:49 share Istnieje możliwość instalacji kompilowanego oprogramowania w taki sposób, aby można było je kontrolować za pomocą mendżera paketów dystrybucji. Dystrybucjami, w których najprościej jest wykonać to - zadanie są te oparte na Debianie, ze względu na prostotę twowrzenia + zadanie są te oparte na Debianie, ze względu na prostotę tworzenia pakietów .deb. W tym celu posłużymy się narzędziem checkinstall. Domyślnie może nie występować w naszym systemie, ale możliwe jest @@ -12637,7 +12638,7 @@ drwxr-xr-x 5 xf0r3m xf0r3m 100 04-30 18:49 share wykonywalne będą instalowane w podanym katalogu.
  • --disable-shared - opcja ta zakazuje tworzenia bibliotek współdzielonych. Ta opcja może pomóc w zapobiegnięciu - problemów z bibliorekami współdzielonymi.
  • + problemów z bibliotekami współdzielonymi.
  • --with-pakiet=katalog - ta opcja służy do wskazania bibliotek zainstalowanych w niestandardowej lokalizacji. Jednak nie wszystkie skrypty @@ -12652,7 +12653,7 @@ drwxr-xr-x 5 xf0r3m xf0r3m 100 04-30 18:49 share do własnych potrzeb.

    - Zmienne środowiskowe możemy podawać przed w tym samy wierszu + Zmienne środowiskowe możemy podawać w tym samy wierszu polecenia przed uruchomieniem skryptu:

    @@ -12741,7 +12742,7 @@ geoclue-2.0                    Geoclue - The Geoinformation Service
               Działanie programu pkg-config opiera sie o pliki
               .pc, które mogą być rozprowadzane w pakietach naszej
               dystrybucji w momencie instalacji bibilioteki, oczywiście zarządca
    -          pakietu musi utworzyć taki pliki. Polecenie przeszukuje katalog
    +          pakietu musi utworzyć taki plik. Polecenie przeszukuje katalog
               lib/pkg-config swojego przedrostka instalacji (prefiksu),
               jeśli np. jego prefiksem jest /usr, to będzie on
               przeszukiwać katalog /usr/lib/pkg-config.
    @@ -12750,29 +12751,29 @@ geoclue-2.0                    Geoclue - The Geoinformation Service
               Jeśli chcemy dodać do zasobów pkg-config bibliotekę o
               niestandardowym miejscu instalacji, to możemy wykorzystać do tego
               dwie metody. Pierwsza z nich jest zwykłą kopią pliku .pc
    -          do domyślnego katalogu narzędzia lub utworzenia dowiązania
    +          do domyślnego katalogu narzędzia lub utworzenie dowiązania
               symbolicznego. Drugą opcją jest uzupełnienie zmiennej
               PKG_CONFIG_PATH, o dodatkowy katalog. Jednak to rozwiązanie
               niesprawdza się w obrębie całego systemu.
             

    15.4. Zalety i wady ręcznej instalacji

    - Na poziomie podstawowym osbsługi systemów Linuksowych, nikt nie + Na poziomie podstawowym obsługi systemów Linuksowych, nikt nie pownien od was wymagać umiejętności ręcznej instalacji oprogramowania w systemie. Raczej będziemy polegać na tym co oferują nam repozytoria dystrybucji. Obecnie dostawcy różnych programów często przygotowują pakiety systemu zarządzania oprogramowaniem dla wielu wiodących dystrybucji, dlatego też ręczna instalacja spada do rangi pewnego rodzaju niszy. Budowanie może zająć naprawdę wiele czasu i nie - zawsze mozemy osiągnąć ządany skutek. Chcemy skompilować jakiś + zawsze mozemy osiągnąć żądany skutek. Chcemy skompilować jakiś program, okazuje się że brakuje nam bibliotek w takiej wersji, więc musimy przeprowadzić kompilację bibliotek w takiej wersji w ten - sposób nasza praca związana tym zagadnieniem się nawarstawia. + sposób nasza praca związana tym zagadnieniem się nawarstwia. Weźmy pod uwagę też sprzęt. Nie każdy dysponuje potężną maszyną, która będzie wstanie kompilować duże programy w ciągu kilku minut. Większość użytkowników dystrybucji Linuksa, do których adresowany jest ten materiał, raczej korzysta z budżetowego laptopa z marketu. - Uciekła do MS Windows, w celu polepszenia swoich doświadczeń z + Ucieczka do MS Windows, w celu polepszenia swoich doświadczeń z komputerem, bez reklam czy najważniejszej rzeczy w tym systemie czyli aktualizacji. Tak więc kompilacja na takim sprzęcie może zająć dłuższą chwilę, co sprawia, że budowanie od podstaw oprogramowania @@ -12781,7 +12782,7 @@ geoclue-2.0 Geoclue - The Geoinformation Service

    Nie mniej jednak taka instalacja oprogramowania w systemie nie jest bez zalet. Najważniejszymi z nich jest dostarczenie do naszych - systemów najnowszych wersji programów, dostosowania ich możliwości + systemów najnowszych wersji programów, dostosowanie ich możliwości oraz funkcjonalności przy użyciu opcjonalnych bibliotek czy samych opcji kompilacji do naszych potrzeb. Nawet lepiej, istnieją całe dystrybucje, które opierają się tylko i wyłącznie o ręczną instalację @@ -12796,12 +12797,12 @@ geoclue-2.0 Geoclue - The Geoinformation Service

    15.5. Stosowanie poprawek

    - Poprawki są nieodłącznym elementem życia oprogramowania. Poprawki - są dystrybułowane za pomocą takich narzędzi jak system kontroli + Poprawki są nieodłącznym elementem życia oprogramowania. Są one + dystrybuowane za pomocą takich narzędzi jak system kontroli wersji Git. Mogą one wprowadzać szereg zmian do kodu źródłowego, poprawiać błedy lub uzupełaniać oprogramowanie o nowa funkcjonalność. Poprawki tworzone są zapomocą polecenia - diff. Poniżej znajduje się nagłówek pliku poprawki + diff. Poniżej znajduje się nagłówek pliku poprawki wprowadzający zamiany, które obecnie czytasz do tego materiału.

    @@ -12823,8 +12824,9 @@ index 464a32d..09c06a7 100644
             

    Pliki poprawek są tworzone za pomocą polecenia diff, natomiast instalowane są za pomocą polecenia patch. - Przyczym podczas instalacji poprawek istotne jest dobre umieszczenie - poprawki w katalogu z kodem źródłowym. Załóżmy, że mamy plik + Przyczym podczas instalacji poprawek istotne jest dobre ustawie + katalogu roboczego w folderze z kodem źródłowym. Załóżmy, że mamy + plik poprawki, który obejmuje plik src/plik.c. Wówczas taki plik poprawki należy nałożyć w katalogu nadrzędnym katalogu src, wydając poniższe polecenie: