Instalowanie make ubuntu. Czarująca magia konfiguracji, tworzenia i tworzenia instalacji. Nie mam czasu na *** zajmowanie się tym, lepiej zrobię ponownie instalację, wszystko jest proste i jasne

Cześć wszystkim!

To jest mała uwaga dla początkujących użytkowników Linuksa na temat tego, co oznaczają te trzy wspaniałe polecenia i do czego służą. Zacznijmy, jak to mówią, od początku. Większość programów musi zostać skompilowana przed użyciem, to znaczy przekonwertowana z tekstu czytelnego dla człowieka na zestaw jedynek i zer zrozumiałych dla komputera. Proces jest warunkowo podzielony na trzy etapy: konfiguracja (configure), montaż (make) i instalacja (make install). Szczegóły pod wycięciem 🙂

./konfiguruj

Polecenie to wyszukuje biblioteki i pliki nagłówkowe niezbędne do kompilacji (dotyczy to programów częściowo lub całkowicie napisanych w C/C++ i podobnych językach), a także ustawia specjalne parametry lub podłącza specjalne biblioteki, jeśli ./konfiguruj znajdzie wszystko, czego potrzebuje, stworzy Pliki Makefile- plik potrzebny do zbudowania programu

Możesz skonfigurować parametry konfiguratora za pomocą klawiszy i argumentów tych samych kluczy, na przykład:

./configure --prefix=/opt/mój_program

Z kluczem --przedrostek= Możesz określić katalog, który później będzie działał jako przedrostek dla twojego programu (czyli katalog główny). Wynika to z faktu, że w świecie Linuksa i nie tylko istnieje specjalna Hierarchia Systemu Plików (HFS), według której każdy program musi zostać skompilowany i zainstalowany, aby działał bezbłędnie.

Istnieją trzy główne przedrostki w systemie plików, dla których skonfigurowana jest większość programów, a mianowicie:

  • / - katalog główny systemu operacyjnego, tzw. ROOT
  • /usr - katalog, w którym znajdują się aplikacje środowiska użytkownika
  • /usr/local - dodatkowy katalog dla ręcznie kompilowanych programów użytkownika, specjalnie dla system operacyjny nie zamienił się w śmietnik

Jeśli otworzysz którykolwiek z tych katalogów, zobaczysz bardzo podobną strukturę, przynajmniej będą foldery: bin itp., Dołącz, libs, sbin.

Jeśli biegniesz ./konfiguruj bez kluczy, domyślnym prefiksem (katalogiem, w którym zostanie zainstalowany skompilowany program) będzie /usr/lokalny, pamiętaj o tym, że jeśli nie możesz uruchomić swojego programu, możesz nie mieć ścieżki ŚCIEŻKA.

Oprócz klucza --prefiks w konfiguratorze z reguły jest wiele innych kluczy, możesz je wszystkie zobaczyć, jeśli uruchomisz:

./configure --pomoc

robić

Najważniejsze i najprostsze polecenie/program, od którego rozpoczyna się procedura kompilacji aplikacji kod źródłowy. Za twoją pracę ten program używa specjalnych plików Pliki Makefile, które szczegółowo opisują proces budowy aplikacji wraz ze wszystkimi parametrami, które określiliśmy w konfiguratorze. Efektem pomyślnego wykonania polecenia make będzie skompilowany program w bieżącym katalogu.

zrób instalację

Polecenie to wykonuje bezpośrednią instalację aplikacji do katalogu określonego na etapie konfiguracji, po wykonaniu polecenia make install można uruchomić nowo zainstalowany program.

Posłowie

Aby nie pisać kolejno trzech poleceń, możesz napisać je w jednym wierszu:

./configure && make && make install

&& jest operatorem AND wywodzącym się z języka C/C++, jednak z punktu widzenia powłoki oznacza to, że następna komenda powinna być wykonana tylko wtedy, gdy poprzednia się powiodła, jest to bardzo wygodne, jeśli jeden z etapów kończy się na błąd.

W rzeczywistości polecenie make install może również budować, ponieważ zadanie install zależy od zadania all (tj. bezpośredniego budowania aplikacji), co oznacza, że ​​krok make można pominąć i można wykonać tylko dwa polecenia, jeśli są zapisane w jednym wierszu:

./configure && make install

Powodzenia! I dzięki za przeczytanie!

Najważniejsze jest to, że tego polecenia w postaci „make install” lub „sudo make install” nie można używać w nowoczesnych dystrybucjach.

Ale przecież autorzy programów w instrukcjach instalacji piszą, że trzeba użyć tego polecenia, można powiedzieć. Tak, piszą. Ale to tylko oznacza, że ​​nie wiedzą, jaką masz dystrybucję i czy to w ogóle jest dystrybucja, może dołączyłeś do sekty i paliłeś czytanie LFS, a teraz zdecydowałeś się skompilować ich dzieło pod swój system chtoniczny. A make install jest uniwersalne, choć często zły kierunek Zrób to.

Liryczna dygresja

Jak wiadomo, do normalnego działania większość oprogramowania musi być nie tylko skompilowana, ale także poprawnie zainstalowana w systemie. Programy spodziewają się znaleźć potrzebne pliki w określonych miejscach, a te miejsca w większości systemów *nix są zakodowane na stałe w kodzie w czasie kompilacji. Oprócz tego aspektu, główna różnica między procesem instalacji w systemie Linux/freebsd/cokolwiek, a tym w systemach Windows i MacOS polega na tym, że program nie tylko umieszcza kilka plików w osobnym katalogu w Program Files lub/Applications, ale „ rozprzestrzenia się” na cały system plików. Biblioteki trafiają do lib, pliki wykonywalne do bin, konfiguracje do itp., różne dane do var i tak dalej. Jeśli nagle musisz to zaktualizować, to wszystko to musi najpierw jakoś zostać wyczyszczone, ponieważ. za pomocą Nowa wersja pozostałości plików ze starego mogą prowadzić do zupełnie nieprzewidywalnych konsekwencji, często źle. Prawdopodobieństwo tego wydarzenia nie jest tak duże, ale czy potrzebujesz go na serwerze bojowym?

Więc co?

Tak więc, jeśli wykonałeś instalację bezpośrednio przez make install, najprawdopodobniej usunięcie lub aktualizacja oprogramowania jest normalna nie możesz. Co więcej, zainstalowanie nowej wersji na starej jest prawdopodobne nadpisze twoje zmiany w configs. make install robi dokładnie to, co jest mu powiedziane - instaluje pliki we właściwych miejscach, ignorując fakt, że coś już tam jest. Po tym procesie niemożliwe jest uzyskanie absolutnie żadnej informacji o tym, co i gdzie zostało umieszczone w przyswajalnej formie. Czasami oczywiście Makefile obsługuje akcję odinstalowania, ale nie jest to tak powszechne i nie jest faktem, że działa poprawnie. Ponadto przechowywanie rozpakowanego drzewa źródeł i reguł asemblera do dezinstalacji jest w jakiś sposób dziwne.

Jak walczyć?

Ponieważ pakiety w dystrybucjach są czasami aktualizowane, aby rozwiązać ten problem, wymyślili coś takiego jak menedżer pakietów. Podczas korzystania z niego instalacja przebiega mniej więcej tak:
  1. pobierane jest specjalnie utworzone archiwum
  2. wyciągane są z niego informacje o tym co to jest, jaka to wersja, od czego to zależy, z czym koliduje, czy trzeba uruchamiać jakieś skrypty żeby zainstalować/usunąć/skonfigurować itp
  3. Wykonywanie kroków instalacji bezpośredniej
  4. Wszystkie dane o tym, gdzie i co zostało dostarczone, są dodawane do bazy danych menedżera przesyłek.

W takim przypadku podczas aktualizacji można bezboleśnie usunąć nadmiar, a jednocześnie sprawdzić, czy pliki oznaczone jako konfiguracyjne zmieniły się w systemie i zapytać, co zrobić, jeśli ich zawartość jest inna w nowej wersji. Ponadto menedżer pakietów nie nadpisze plików jednego pakietu podczas instalowania innego. Ogólnie rzecz biorąc, może zrobić wiele przydatnych rzeczy.

Jeśli nieświadomie / leniwie skopiowałeś make install z instrukcji, to w systemie pojawiają się pliki, o których menedżer pakietów nie wie. Ze wszystkimi konsekwencjami, jeśli to, co zostało wymienione wcześniej, nie jest dla Ciebie wystarczające.

Co robić?

Można oczywiście skonfigurować drzewo źródłowe tak, aby instalacja wszystkiego i wszystkiego szła gdzieś w /opt/mycoolapp/, a następnie ręcznie usunąć w razie potrzeby, ale tutaj może wyjść wiele nieprzyjemnych rzeczy, zaczynając od tego, że że program oczekuje, że może załadować twoje biblioteki, a program ładujący nic nie wie o katalogu, w którym się znajdują, kończąc na tym, że autor programu może oczekiwać, że jeśli np. umieści plik, powiedzmy w $prefix /share/xsessions/, wtedy menedżer wyświetlania go odbierze. Nie wspominając o ścieżkach do pkgconfig i innych rzeczy.

Musisz więc odebrać paczkę.

Nie mam czasu na *** zajmowanie się tym, lepiej zrobię instalację od nowa, wszystko jest proste i jasne!

Uspokój się, uspokój się. Jest przywiązany do naszych nóg. Wszystko nie jest tak straszne i trudne, jak się wydaje na pierwszy rzut oka.
sprawdźinstaluj
To wspaniałe narzędzie, uruchomione zamiast make install, zada kilka pytań, po czym sam zbuduje i zainstaluje pakiet. Wszystko, przy aktualizacji nie będziesz miał problemów z wyczyszczeniem starych śmieci.
Ręczne budowanie pakietu deb
Jeśli nie jesteś skłonny zaufać takiej automatyzacji (która czasami wciąż psuje) lub jeśli chcesz wprowadzić kilka zmian, ale nadal nie masz ochoty zajmować się normalnym procesem budowania pakietów, możesz zbudować pakiet ręcznie. Daję sposób na zbudowanie go dla systemów opartych na Debianie, ponieważ jestem z nimi najbardziej zaznajomiony. Nie jest to poprawne ideologicznie, ale wyjściem jest całkowicie poprawny pakiet bez angażowania dodatkowych podmiotów. Odbywa się to w następujący sposób.
Na początek budujemy oprogramowanie z parametrami --prefix=/usr i --exec-prefix=/usr określonymi wcześniej dla configure lub autogen.sh.
Następnie instalujemy w katalogu tymczasowym. Piszemy:

Fałszywy root make install DESTDIR=`pwd`/tempinstall
Następnie otrzymujemy cały zestaw plików w nowo utworzonym katalogu. Nawiasem mówiąc, jesteśmy teraz w środowisku fakeroot, tj. możesz dowolnie zmieniać właściciela i prawa dostępu do plików, ale fizycznie sam pozostaniesz właścicielem w systemie. Oprogramowanie wewnątrz sesji fakeroot otrzyma zmienione informacje, co pozwoli na spakowanie plików z odpowiednimi uprawnieniami do archiwum.
Następnie utwórz katalog DEBIAN w „głównym katalogu” i umieść w DEBIAN/conffiles listę wszystkich plików, które powinny znaleźć się w /etc:

Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles
Następnie tworzymy plik DEBIAN/control o następującej zawartości:

W razie potrzeby możesz tam również tworzyć skrypty preinst, postinst, prerm i postrm.

To tyle, robimy dpkg -b tempinstall i na wyjściu otrzymujemy tempinstall.deb, na którym można ustawić dpkg -i i który zostanie poprawnie zainstalowany, zaktualizowany lub usunięty.

„Właściwy” proces wstępnego pakowania kodu źródłowego jest poza zakresem tej notatki i dlatego nie zostanie opisany, ale dla twoich celów zwykle nie jest to konieczne.

Wniosek

Jak widać, nie ma tu absolutnie nic skomplikowanego, ale wykonanie tych kroków pozwoli Ci zaoszczędzić ogromną liczbę problemów w przyszłości.

Nierzadko wymagane pakiety można znaleźć tylko w formie źródłowej, w tym artykule opisano, jak zainstalować pakiet ze źródła.

Rozpakowywanie

Programy są zwykle dystrybuowane w spakowanych archiwach, są to pliki z rozszerzeniami

.tar.gz (czasami .tgz) .tar.bz2

Musisz zrozumieć różnicę między archiwizatorem a programem pakującym.

Program służy do archiwizacji katalogów i plików. smoła; efektem jego pracy jest plik z rozszerzeniem .smoła. Z grubsza mówiąc, jest to kopia system plików- katalogi i pliki wraz z ich atrybutami i prawami dostępu, umieszczone w jednym pliku.

Ten plik będzie nieco większy niż całkowity rozmiar plików, które zostały zarchiwizowane. Dlatego (a może z innego powodu) stosuje się pakery - programy, które pozwalają zmniejszyć rozmiar pliku bez utraty danych.

Program smoła może się rozpakować, więc nie ma potrzeby dzwonić pistolet, lub możesz po prostu powiedzieć programowi smołaże plik musi zostać najpierw rozpakowany. Na przykład polecenie

tar-xvf< some_app_name>.tar.gz

natychmiast rozpakuj i rozpakuj. Różnica między plikami z rozszerzeniami

.tar.gz

.tar.bz2

tylko że użyto różnych pakerów, program smoła automatycznie określa metodę kompresji iw tym przypadku nie są wymagane żadne dodatkowe opcje.

Po rozpakowaniu należy przejść do katalogu wynikowego, wszystkie opisane poniżej polecenia są wykonywane w katalogu z tekstami źródłowymi pakietu.

płyta CD< имя_пакета>*

Budowanie pakietu

Do tworzenia programów w systemie GNU/Linux używa się (przeważnie) programu robić, z którego uruchamiane są instrukcje Plik Makefile, ale ponieważ istnieje wiele dystrybucji GNU / Linux i wszystkie są różne, aby skompilować program, musisz osobno napisać ścieżki dla każdej dystrybucji, w której znajdują się biblioteki i pliki nagłówkowe. Programiści nie mogą badać każdej dystrybucji i dla każdej z osobna tworzyć Plik Makefile. Dlatego wymyślili konfiguratory, które „studiują” system i zgodnie ze zdobytą wiedzą tworzą Plik Makefile. Ale nie poprzestali na konfiguratorze i wymyślili konfiguratory konfiguratorów… zatrzymali się na tym

Do zbudowania potrzebujemy kompilatorów: są one zapisane w zależnościach pakietu niezbędny do budowy, więc wystarczy zainstalować go ze wszystkimi zależnościami. Nadal potrzebne autokonf I automat.

Aby więc zbudować coś ze źródła, należy najpierw zbudować konfigurator; sposób budowy konfiguratora jest opisany w pliku configure.in. Aby złożyć konfigurator, musisz uruchomić

./bootstrap ./autogen.sh

Jeśli w archiwum nie ma takich skryptów, możesz kolejno wykonać następujące polecenia:

aclocal autoheader automake --gnu --add-missing --copy --foreign autoconf -f -Wall

Wszystkie te polecenia używają pliku skonfiguruj.w. Po wykonaniu tych poleceń zostanie utworzony plik skonfigurować. Następnie należy uruchomić konfigurator, aby sprawdzić dostępność wszystkich zależności, a także zainstalować dodatkowe opcje budowania (jeśli to możliwe) i wyświetlić wynik instalacji (opcjonalnie - może nie być)

./ skonfiguruj

Konfigurator zbuduje Makefile na podstawie zdobytej wiedzy i pliku makefile.am. Możesz przekazać do konfiguratora opcje podane w źródłach programu, które pozwalają włączyć/wyłączyć określone funkcje programu, zazwyczaj możesz się o nich dowiedzieć poleceniem

./ skonfiguruj --pomoc

Istnieje również zestaw standardowych opcji, takich jak

Przedrostek=

Który określa, którego katalogu użyć do instalacji. Dla Ubuntu zwykle

--prefix=/usr --prefix=/usr/local

BEZ skreślić na końcu! Teraz możesz rozpocząć proces budowania samego programu za pomocą polecenia

robić

Do montażu wystarczą zwykłe uprawnienia użytkownika. Za koniec asemblera można uznać moment, w którym komendy w konsoli przestaną być „chaotycznie” wykonywane i nie będzie słowa błąd. Teraz wszystko jest skompilowane i gotowe do instalacji.

Instalacja

Wysiłek włożony w poprawną instalację zwróci się później z nawiązką, jeśli zainstalowane oprogramowanie zostanie usunięte lub zaktualizowane.

Prawidłowa instalacja (opcja nr 1)

Instalacja za pomocą narzędzia sprawdźinstaluj. Aby zainstalować, uruchom

sudo apt-get install checkinstall

Wada tej metody: sprawdźinstaluj nie rozumie wszystkich źródeł, ponieważ autor programu może pisać specjalne skrypty instalacyjne i sprawdźinstaluj ich nie zrozumie.

Aby utworzyć i zainstalować pakiet deb, musisz uruchomić

Sudo sprawdź instalację

Prawidłowa instalacja (opcja nr 2)

Szybkie tworzenie pakietu deb „ręcznie”.

Główna różnica w stosunku do poprzedniej metody polega na tym, że w tym przypadku tworzysz pakiet ręcznie i śledzisz wszystkie wprowadzane zmiany. Ta metoda jest również odpowiednia dla Ciebie, jeśli źródła nie obsługują budowania pakietu za pomocą sprawdźinstaluj.

    Instalujemy do katalogu tymczasowego, skąd otrzymujemy cały zestaw zainstalowanych plików:

fakeroot make install DESTDIR =`pwd`/tempinstall

    Stwórzmy katalog DEBIAN w „głównym katalogu” i umieśćmy w DEBIAN/conffiles listę wszystkich plików, które powinny znaleźć się w /etc:

cd tempinstall mkdir DEBIAN znajdź itp. | sed "s/^/\//" > DEBIAN/conffilis

    Następnie tworzymy plik DEBIAN/control o następującej zawartości:

Pakiet: nazwa_pakietu Wersja: 1.2.3 Architektura: amd64/i386/armel/all Opiekun: Możesz podać swoje imię, możesz śmiecić, ale jeśli pozostanie pusty, dpkg przeklnie. Zależy: Tutaj możesz wprowadzić listę pakietów oddzielonych znakami przecinki. Priorytet: opcjonalny Opis: Musisz także wprowadzić coś, aby nie było generowane żadne ostrzeżenie

    W razie potrzeby możesz tam również tworzyć skrypty preinst, postinst, prerm i postrm.

    Tworzymy pakiet deb, dla którego wykonujemy:

dpkg -b tempinstall

    Otrzymujemy wynik tempinstall.deb, który instalujemy

sudo dpkg -i tempinstall.deb

Instalacja (opcja nr 3)

Niewłaściwa instalacja

Wadą tej metody jest to, że jeśli instalujesz bezpośrednio przez make install, najprawdopodobniej nie będziesz w stanie normalnie usunąć lub zaktualizować pakietu. Co więcej, zainstalowanie nowej wersji nad starą najprawdopodobniej nadpisze zmiany w konfiguracjach. make install robi dokładnie to, co jest mu powiedziane - instaluje pliki we właściwych miejscach, ignorując fakt, że coś już tam jest. Po tym procesie niemożliwe jest uzyskanie absolutnie żadnej informacji o tym, co i gdzie zostało umieszczone w przyswajalnej formie. Czasami oczywiście Makefile obsługuje akcję odinstalowania, ale nie jest to tak powszechne i nie jest faktem, że działa poprawnie. Ponadto będziesz musiał zachować rozpakowane drzewo źródeł i zbudować reguły dezinstalacji.

Aby zainstalować, musisz uruchomić

sudo make install

Aby usunąć pakiet zainstalowany w ten sposób, musisz go uruchomić w katalogu głównym źródeł programu (gdzie uruchomiłeś make install).

sudo make odinstaluj

Błędy

Często na etapie konfiguracji konfigurator zgłasza brak tej lub innej biblioteki. Nazwa zgłaszanej biblioteki nie zawsze odpowiada nazwie pakietu w Ubuntu. Z własnego doświadczenia mogę doradzić, aby wyszukać żądany pakiet w Synaptic, z wyłączeniem prefiksu lib, jeśli istnieje kilka pakietów różniących się prefiksem -dev w nazwie, należy zainstalować pakiet -dev (zwykle to ściąga pakiet inny niż programistyczny). Możesz także wyszukiwać za pomocą http://packages.ubuntu.com/, wprowadzając nazwę biblioteki w wyszukiwarce zawartości pakietu, podobnie, jeśli zostanie znaleziona wersja dev i non-dev, potrzebne są obie. Lub po prostu wyszukaj w Google.

Wymagane oprogramowanie

Pakiety z literami mm na końcu opisu to pakiety dla programów C++. Lista dotyczy bmpx, ale będzie działać z prawie każdym programem GTK2/Gnome. Więc jeśli nie możesz skompilować, spójrz na tę listę i sprawdź, co zainstalowałeś.

Skompilować:czas działania:
Xlibx11-devlibx11-6
GlibMMlibglibmm-2.4-devlibglibmm-2.4-1c2a
GTK+libgtk2.0-dev, gtk-doc-toolslibgtk2.0-0
GTKMMlibgtkmm-2.4-devlibgtkmm-2.4-1c2a
Polanalibglade2-devlibglade2-0
PolanaMMlibglademm-2.4-devlibglademm-2.4-1c2a
XMLlibxml2-devlibxml2
XML++libxml++2.6-devlibxml++2.6c2a
DBuslibdbus-1-dev,libdbus-glib-1-devlibdbus-1-2,libdbus-glib-1-2
Alsalibasound2-devlibasound2
HALlibhal-dev,libhal-storage-devlibhal1, libhal-przechowywanie1
Uliczniklibgamin-devlibgamin0
neonlibneon25-devlibneon25
TagLiblibtagc0-devlibtagc0
Powiadomienie o uruchomieniulibstartup-notification0-devlibstartup-notification0
Zwiększyćlibboost-dev,libboost-filesystem-devsystem plików libboost 1.33.1
MusicBrainzlibmusicbrainz4-devlibmusicbrainz4c2a
Gstreamerlibgstreamer0.10-dev,libgstreamer-plugins-base0.10-devlibgstreamer0.10-0,libgstreamer-plugins-base0.10-0

terminal i polecenia

Jak często spotkałeś się z faktem, że wymaganej wersji aplikacji dla Twojej architektury po prostu nie ma w dystrybucji Ubuntu, ale ten program jest dostępny na stronie deweloperów w postaci kodów źródłowych w archiwum .tar.gz. Myślę, że ta sytuacja jest znana wielu, ale nie wszyscy nadal szukali sposobów rozwiązania tego problemu i po prostu szukali innego odpowiednika aplikacji lub nieco starszej wersji i kontynuowali pracę.

Chciałbym od razu dodać kilka słów dla nowicjuszy w Linuksie, zanim zrobię coś z tego artykułu, dokładnie przestudiuj terminal i polecenia, które służą do pracy z nim, poczytaj manę lub materiały w sieci.

  • Dla kompilacje aplikacji oczywiście będziemy potrzebować narzędzi programistycznych, w naszym przypadku jest to kompilator i inne towarzyszące mu programy, główną pracę oczywiście wykona narzędzie make, oraz wiersz poleceń(terminal) będzie jak nasza kuchnia, w której będziemy przygotować / zmontować / zainstalować nasza aplikacja ze źródła. W Linuksie terminal jest dostępny domyślnie, dla Twojej wygody oczywiście możesz zainstalować dowolny inny, bardziej funkcjonalny, do którego jesteś przyzwyczajony, na przykład używam Guake, istnieje wiele możliwości w porównaniu ze standardowym, gdzie można łatwo skonfigurować zarówno kopiowanie, jak i wklejanie poleceń lub dowolnego tekstu za pomocą CTRL + C, CTRL + V i wielu innych, co zwiększa komfort pracy z konsolą.
  • 1. Od czego zacząć przy budowaniu aplikacji ze źródeł to oczywiście pobranie aplikacji w archiwum tar.gz lub tar.bz2, w moim przypadku np. aplikacja Gimp 2.9.2, choć w naszym przypadku archiwum nie jest w formacie tar.gz, a tar.bz2 nie ma znaczenia, pobierz po kliknij prawym przyciskiem myszy myszy w archiwum - Wypakuj tutaj.

To chyba pierwszy etap zakończony, co dalej? Następnie uruchamiamy terminal i przechodzimy do naszego rozpakowanego folderu z plikami:

CD /home/linux/Downloads/gimp-2.9.2/ls

  • 2. Przed przystąpieniem do przygotowywania źródeł do montażu radzę najpierw otworzyć i zapoznać się z plikiem INSTALL, wiele przydatnych informacji znajdziesz w dany plik opisuje jak zainstalować aplikację, jakie polecenia należy wykonać i dużo ciekawsze. Teraz radzę zainstalować dodatkowy pakiet o nazwie auto-apt, który wykonuje za Ciebie dużo rutynowej pracy.
sudo apt-get install auto-apt

Co to znaczy wykonywać dla mnie wiele rutynowych prac, pytasz, czy uruchom konfigurację źródła aplikacji z prefiksem tego pakietu, na przykład w postaci:

Auto-apt -y uruchom ./configure

Oczywiście możesz przeprowadzić konfigurację bez pomocy tego pakietu i po prostu uruchomić polecenie:

./konfiguruj

Jeśli wykonasz konfigurację z prefiksem - auto-apt -y run, to przygotowanie źródeł do montażu nastąpi automatycznie, to znaczy, to polecenie może automatycznie pobrać i zainstalować wszystko zamiast ciebie niezbędne pliki i bibliotek i zadowoli wszystkich zależności które będą wymagane.

  • 3. W prawdziwej pracy nie wszystko idzie tak gładko, może w jednym przypadku wszystko pójdzie dobrze i etap przygotowania źródeł do montażu przejdzie bez błędów, w innych przypadkach, a takich jest prawdopodobnie większość, napotkasz różnego rodzaju błędy, na przykład brakuje tego lub innego pakietu do dalszego przygotowania kodu źródłowego. W większości przypadków zapisana jest nazwa pakietu, którego brakuje.

Próbujemy zainstalować brakujący pakiet za pomocą polecenia:

sudo apt-get install nazwa_pakietu

W przypadku, gdy pakiet nie zostanie znaleziony podczas wykonywania powyższego polecenia, bardzo często pomaga mi następująca kombinacja, szukając pakietów, których brakuje nam w pamięci podręcznej:

apt-cache search nazwa_pakietu

  • Po wykonaniu tego polecenia możesz i znajdziesz odpowiedni pakiet, często zdarza się, że nie znajdziesz odpowiedniego pakietu, ale jest dokładna kopia pakietu, ale z przedrostek dev to znaczy pakiet formularza nazwa_pakietu-dev i możesz go użyć do spełnienia zależności.
  • 4. Po pomyślnym zakończeniu konfiguracji źródeł do montażu wskazane jest zainstalowanie pakietu sprawdźinstaluj co ułatwia zbudowanie pakietu aplikacji dla Twojej dystrybucji.
sudo apt-get install checkinstall

Zainstalowałem pakiet, a następnie możesz uruchomić polecenie:

Sprawdź instalację -D

  • Atrybut -D utworzy pakiet deb, atrybut -R utworzy pakiet rpm który jest używany w dystrybucjach Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE dodatkowo jest też atrybut -S który utworzy pakiet używany przez Slackware.

W moim przypadku używam Ubuntu i uruchomiłem polecenie z -D atrybut, wtedy aplikacja zostanie złożona w gotowy pakiet w formacie Deb, będziemy potrzebować pewnych danych wyjaśniających, na przykład dodania opisu do pakietu, ponieważ go kompilujesz, a zatem opis jest całkowicie czysty i , jakby to było, wymagane jest od ciebie krótkie referencje, do jakiego rodzaju aplikacji to służy? . W moim przypadku, jak sprawdziłem, automatycznie uzupełniane są również następujące pola:

1 - Podsumowanie: [ EOF ] 2 - Nazwa: [ gimp ] 3 - Wersja: [ 2.9.2 ] 4 - Wydanie: [ 1 ] 5 - Licencja: [ GPL ] 6 - Grupa: [ checkinstall ] 7 - Architektura: [ i386 ] 8 - Lokalizacja źródła: [ gimp-2.9.2 ] 9 - Alternatywna lokalizacja źródła: 10 - Wymaga: 11 - Zapewnia: [ gimp ] 12 - Konflikty: 13 - Zastępuje:

  • Jak widać, przed budową następuje sprawdzenie, czy konfiguracja zakończyła się pomyślnie, czy są jakieś niezadowalające zależności lub inne konflikty, czy wszystko jest w porządku, to pakiet zostanie zbudowany bez problemów.

Wcześniej zainstalowałem go bez składania pakietu, wykonując polecenia:

Zrób make install

Jeśli chcesz usunąć zainstalowaną aplikację, powinieneś uruchomić polecenie:

Odinstaluj

powyższe polecenie automatycznie usunie te związane z aplikacją, którą zainstalowałeś i nie wpłynie na żadne strony trzecie, wskazane jest, aby nie przeglądać katalogów i uruchamiać je z tego samego katalogu aplikacji, w którym pracowałeś, czyli przygotowałeś konfiguracja itp.

Wprawdzie wszystko poszło bez błędów, ale cały proces trwał bardzo długo, około 20 minut zanim zainstalowałem gimpa ze źródeł, udało mi się przejść do parzenia kawy i nadal obserwować proces instalacji, wszystko trwa długo ze względu na fakt że muszę różne foldery rozproszyć pliki źródłowe aplikacji, każdy plik ma swój własny cel i musi znajdować się w określonym katalogu, więc po wykonaniu make install tysiące plików źródłowych są instalowane w wymaganych katalogach.

Tak przebiega instalacja aplikacji ze źródła, tak, nie wszystko jest takie proste na pierwszy rzut oka, nie mówiłem, że będzie łatwo, ale jak spróbujesz, to bardzo dobrze rozwija myślenie i sposoby znaleźć rozwiązania w danej sytuacji, które są nawet bardzo dobre.

To chyba wszystko, jeśli masz pytania dotyczące powyższego materiału lub próbowałeś zainstalować i napotkałeś błędy, zapytaj w komentarzach do materiału, wspólnie poszukamy rozwiązania.