Używam Windows i Mac OS od 5 lat i teraz rozważam używanie Linuksa na codzień. Zainstalowałem Ubuntu na maszynie wirtualnej i próbuję zrozumieć, jak mogę używać Linuksa do mojej codziennej pracy (jako programista js / web designer).
Przepraszam za pytanie początkującego, ale wydaje mi się, że czasami, kiedy zainstalować program za pośrednictwem make config
i make install
zmienia swój system w taki sposób, że nie można cofnąć łatwo. W systemie Windows podczas instalowania programu można go odinstalować i mam nadzieję , że jeśli będzie on odtwarzany przez książkę, w systemie plików lub rejestrze nie pozostaną żadne ślady programu. W systemie Mac OS wystarczy usunąć aplikację jak plik.
Ale w Linuksie jest, apt-get
a potem jest make
. Nie do końca rozumiałem, jak mogę zachować czystość i porządek mojej instalacji Linuksa. Wydaje się, że każda nowa instalacja aplikacji może uszkodzić mój system. Ale Linux ma reputację bardzo solidnej, więc musi być coś, czego nie rozumiem, w jaki sposób instalacja i dezinstalacja aplikacji wpływa na system. Czy ktoś może rzucić na to trochę światła?
Aktualizacja: podczas instalowania aplikacji jej pliki mogą rozprzestrzeniać się w dowolnym miejscu (menedżerowie pakietów zajmują się częścią problemu), ale istnieje fajny hack wokół tego: użyj Dockera do instalowania aplikacji i trzymaj je w piaskownicy, szczególnie jeśli nie zamierzasz używaj ich zbyt często. Możliwe jest również uruchamianie aplikacji GUI, takich jak Firefox, całkowicie w „piaskownicy” Dockera.
apt-get
zamiastmake
instalować oprogramowanie.make install
jest używany, gdy trzeba zbudować najnowszą (prawdopodobnie niestabilną) wersję oprogramowania ze źródeł, która nie jest jeszcze dostępna jako pakiet.apt
jest prostsze i zapewnia lepszy tui niż korzystanieapt-get
.*.app
pliku jest niewystarczające, ponieważ instalacje aplikacji często zaśmiecały inne miejsca (np. Katalog Library, z pamięci). Ponadto, jeśli ręcznie budujesz ze źródła w Ubuntumake install
, użyjcheckinstall
zamiast tego, aby umożliwić łatwe usunięcie../configure ; make ; make install
drogi. Wszystko czego potrzebujesz to nauka wspaniałego narzędzia fpm .Odpowiedzi:
Nowa instalacja rzadko psuje system (chyba że robisz dziwne rzeczy, takie jak miksowanie źródeł i plików binarnych).
Jeśli używasz prekompilowanych plików binarnych w Ubuntu, możesz je usunąć i nie musisz się martwić o uszkodzenie systemu, ponieważ plik binarny powinien wypisać, co wymaga uruchomienia, a menedżer pakietów wyświetli listę programów, które możesz sprawdzić w tym programie.
Kiedy korzystasz ze źródła, musisz być bardziej ostrożny, aby nie usunąć czegoś krytycznego (jak glib). Podczas odinstalowywania ze źródła nie ma żadnych ostrzeżeń ani nic innego. Oznacza to, że możesz całkowicie zepsuć maszynę.
Jeśli chcesz odinstalować za pomocą
apt-get
, użyjesz,apt-get remove package
jak już wspomniano. Wszystkie programy korzystające z tego pakietu również zostaną odinstalowane i będziesz mieć możliwość ich przejrzenia.Jeśli chcesz odinstalować, to ogólnie jest to proces
make uninstall
. Nie ma ostrzeżenia (jak powiedziałem powyżej).make config
nie zmieni twojego systemu, alemake install
zrobi to.Jako początkujący polecam używanie
apt-get
lub jakąkolwiek dystrybucję, której używasz do pakietów binarnych. Utrzymuje porządek i porządek i chyba, że naprawdę tego chcesz, nie uszkodzi twojego systemu.Mam nadzieję, że to wszystko wyczyści.
źródło
--purge
opcji zapt-get
Teoretycznie
make uninstall
należy usunąć to, comake install
dodane, a system nie gromadzi cruft. Problem oczywiście polega na tym, że nie wszystkie pliki makefile są sobie równe.Niektórzy mogą pominąć
uninstall
regułę, pozostawiając ci ustalenie, coinstall
zrobiła reguła. Co gorsza, jeśli reguła instalacji zastąpi podłączoną bibliotekę, głupiauninstall
procedura może przerwać zależności dla innego programu.Najlepszym rozwiązaniem dla instalacji źródłowych jest użycie innego prefiksu niż pakiety zainstalowane przez systemowego menedżera pakietów. Apt instaluje pliki, aby
/usr/
użyć/usr/local/
hierarchii dla instalacji źródłowych. To znacznie ułatwia śledzenie, które pliki należą do których pakietów i odinstalowanie nie spowoduje uszkodzenia systemu../configure --prefix=/usr/local
działa dla wielu skryptów konfiguracyjnych. Jeśli nie, możesz edytować Makefile ręcznie. Lub po prostu skopiuj pliki ręcznie.Apt i inni menedżerowie pakietów śledzą, jakie pliki zainstalowali i ich odwrotne zależności, dzięki czemu ich funkcje odinstalowywania są bezpieczne.
źródło
Polecam użyć
apt-get install
do zainstalowania dowolnego pakietu w systemie Linux iapt-get remove
(nazwa pakietu) lubapt-get purge
(nazwa pakietu), który usunie nie tylko pakiet główny, który chcesz odinstalować, ale wszystkie powiązane pakiety lub zależności, które zostały zainstalowane podczas instalacji.Teraz, aby zachować czystość systemu, zalecamy użycie
apt-get clean
https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( ten post jest interesujący), który usunie wszystkie pliki, które zostały pobrane podczas instalacji, ale nie są już potrzebne.Innym poleceniem, które byłoby przydatne, jeśli chcesz usunąć wszystkie zależności zainstalowane w systemie, ale nie zostały one usunięte po odinstalowaniu
apt-get autoremove
.Jeśli zainstalujesz pakiet za pomocą make i make install, będziesz odpowiedzialny za jego samodzielne odinstalowanie (może w pobranym pakiecie znajduje się plik README, który mówi, jak to zrobić), a także za próbę odinstalowania wszystkich powiązanych z nim zależności . Dlatego zawsze zaleca się instalowanie pakietów w Linuksie, które są oferowane przez menedżera pakietów dystrybucji, jeśli zrobisz to w ten sposób, możesz być pewien, że Twój pakiet został przetestowany na tyle, aby pracować z dystrybucją (smak Linuksa), którego używasz i jest bardzo mało prawdopodobne, aby uszkodzić twój system. Ponadto możesz mieć pewność, że Twój pakiet zostanie zaktualizowany w razie potrzeby, a jeśli zainstalujesz go samodzielnie, jesteś odpowiedzialny za to wszystko.
Mam nadzieję, że to pomoże :)
źródło
Normalnym sposobem zarządzania zainstalowanymi aplikacjami w systemie Linux jest menedżer pakietów. Wybór menedżerów pakietów jest jedną z głównych rzeczy, które różnicują dystrybucje. Ubuntu, podobnie jak Debian (na którym jest oparty), używa dpkg i APT ; przez większość czasu wystarczy interakcja z jednym z interfejsów APT, np
apt-get
(linia poleceń), aptitude (linia poleceń lub tryb tekstowy) lub Synaptic (GUI).Menedżer pakietów śledzi, które pliki należą do zainstalowanego programu. Podobnie jak w systemie Windows, programy mogą wykonywać dowolny kod w ramach procedury instalacji lub deinstalacji, ale zwykle zachowują się dobrze i nie psują innych programów. Ponadto (nie) kod instalacyjny jest napisany przez opiekuna pakietu, a nie przez autora (dla pakietów w głównej dystrybucji). W przeciwieństwie do systemu Windows istnieje ujednolicony interfejs instalacji, aktualizacji i deinstalacji: menedżer pakietów. Nie musisz szukać dezinstalatora (jeśli taki istnieje), wystarczy kliknąć ikonę „odinstaluj” w graficznym menedżerze pakietów lub uruchomić
apt-get remove PACKAGENAME
.Jeśli potrzebujesz „egzotycznego” oprogramowania, być może będziesz musiał zainstalować go ręcznie, poprzez rozpakowanie archiwum lub kompilację ze źródła. Instalatory występujące w postaci programu wykonywalnego są rzadkie w świecie Linuksa. Bieganie
make install
ma tendencję do rozprzestrzeniania się każdy program w ciągu kilku katalogów (/usr/local/bin
,/usr/local/man
,/usr/local/lib
, itd.). Aby utrzymać porządek, polecam użycie „menedżera pakietów biedaka”, takiego jak stow . Dzięki stow, każdy pakiet jest instalowany we własnym katalogu, astow
narzędzie zajmuje się tworzeniem dowiązań symbolicznych, tak aby polecenia zainstalowane przez pakiet znajdowały się w ścieżce wyszukiwania poleceń i tak dalej. Aby uzyskać więcej informacji, zobacz Śledzenie programów .źródło
apt-get
lub podobną). Ale umieszczają w repozytoriach tylko dość popularne programy, te, które mają wystarczającą liczbę użytkowników, aby mieć pewność, że w zasadzie robią to, co powinni.Prawie każda dystrybucja ma własny wybór menedżera pakietów, jest kilka popularnych. pacman, apt, rpm, emerge, ... dystrybucje oparte na Debianie używają apt.
Dokument wygląda zniechęcająco, ale nie jest wcale tak trudno tworzyć pliki .deb do użytku lokalnego , po prostu pozostań przy zadaniu.
źródło
Powinieneś spróbować użyć menedżera pakietów (apt-get, aptitude, synaptic lub aptdcon, centrum oprogramowania, mintinstall, ...), jeśli to możliwe. Użycie zadania make do instalacji jest bardzo surowe, nie ma gwarancji, że będzie mieć
uninstall
odpowiednik i nie gwarantuje dobrej zabawy z resztą systemu (to tylko skrypt powiązany z systemem budowania make - iw przeciwieństwie do sprawdzonego pakietu, zadania make mogą zawierać dowolny kod wykonywalny, potencjalnie złośliwe oprogramowanie).Jeśli nie znajdziesz potrzebnej wersji oprogramowania, może okazać się pomocne
checkinstall
(checkinstall make install
).źródło
Nie jestem ekspertem i nie wiem wiele na temat instalowania oprogramowania ze źródła, ale używając
apt-get
, możesz usunąć zainstalowane oprogramowanie za pomocąapt-get remove package-name
. Aby usunąć również wszystkie pliki konfiguracyjne, użyjapt-get purge package-name
. Najbezpieczniejszym sposobem na utrzymanie porządku w instalacji Linuksa jest używanie pakietów wyłącznie w oficjalnych repozytoriach. Gdy potrzebny jest pakiet, którego nie ma w oficjalnych repozytoriach, często można go znaleźć (ponieważ używasz Ubuntu) w PPA .źródło
apt-get
nie ma pożytku dla PO, który używaconfigure
imake install
Jak mówią inne odpowiedzi, obecnie typowe jest instalowanie zdecydowanej większości oprogramowania za pomocą wybranego przez ciebie menedżera pakietów. Jest to tak wygodne, że pewnie go przegapisz po powrocie do systemu Windows! W pewnym sensie różne „rynki” i „sklepy” idą w tym kierunku również w przypadku komercyjnych systemów operacyjnych.
Powiedziawszy to, pamiętam, że kiedy zacząłem uczyć się o Linuksie, byłem zaskoczony tym, jak zwykle instaluje się oprogramowanie. Podczas gdy w systemie Windows wszystkie pliki znajdują się w jednym katalogu poniżej
c:\Programs
, tradycyjny „uniksowy sposób” polega na rozproszeniu ich w „standardowych lokalizacjach” (szczegóły nie są tak ustandaryzowane, [zobacz LSB, aby uzyskać więcej informacji] [1] ), na przykład w/usr/local/bin
przypadku plików wykonywalnych,/usr/local/doc
dokumentacji i tak dalej.W pewnym sensie system Windows „nie wie”, gdzie znajdują się pliki wykonywalne. Wie, że są „gdzieś pod
c:\Program Files
”, ale niewiele więcej. Skanowanie wszystkich tych katalogów w celu ich znalezienia jest lub było zbyt drogie. Link do pliku wykonywalnego zostałby więc wyraźnie umieszczony w znanej lokalizacji (menu Start) i właśnie tego użyłbyś do jego uruchomienia.W systemach Unix / Linux twoja powłoka i większość innych programów w tym zakresie automatycznie będą szukać plików wykonywalnych lub innych zasobów w znanym zestawie lokalizacji. Dlatego właśnie, po prostu kopiując pliki do odpowiednich katalogów, automatycznie je „zobaczysz”, bez konieczności „rejestrowania” ich w dowolnym miejscu, aby użytkownicy wiedzieli o nich.
Oba mechanizmy mają swoje zalety i wady, ale przekonasz się, że podejście uniksowe jest zazwyczaj bardziej elastyczne.
Należy pamiętać, że istnieje wiele wyjątków i szczegółów, które sprawiają, że obraz nie jest tak wyraźny, jak to opisałem, ale myślę, że ten rodzaj wprowadzenia może być przydatny dla początkujących, aby przynajmniej zrozumieć podstawową logikę.
źródło
Myślę, że najlepszą radą jest tylko ten post na forum . Oto twoje opcje (2 i 3 są mniej więcej takie same pod względem efektu):
Jeśli nie możesz uruchomić tej metody, użyj jej
checkinstall
zgodnie z zaleceniami innych. Jest to bardzo prosty zamiennik, aby zainstalować:To powinno zbudować oprogramowanie w normalny sposób, a następnie uruchomić
make install
w ograniczonym środowisku, które śledzi to, co robi i buduje pakiet, który zrobiłby dokładnie te rzeczy. Następnie instaluje ten pakiet za pomocą menedżera pakietów. Usunięcie wtedy jest jak usunięcie dowolnego innego pakietu, tak jak w (2).make install
, tak myślę. I mam nadzieję, że opiekun oprogramowania utrzymuje procedurę odinstalowywania.źródło