Я использую Windows и Mac OS в течение последних 5 лет, и теперь я планирую использовать Linux ежедневно. Я установил Ubuntu на виртуальную машину и пытаюсь понять, как я могу использовать Linux для своей повседневной работы (в качестве js-программиста / веб-дизайнера).
Извините за вопрос новичка, но мне приходит в голову, что иногда, когда я устанавливаю программу через make config
&, make install
она меняет мою систему способами, которые необратимы легко. В Windows, когда вы устанавливаете программу, вы можете удалить ее и, надеюсь, если она будет воспроизводиться по книге, в файловой системе или в реестре не останется следов программы и т. Д. В Mac OS вы просто удаляете приложение как файл.
Но в Linux есть apt-get
и есть make
. Я не совсем понял, как я могу сохранить мою установку Linux в чистоте и порядке. Такое ощущение, что любая новая установка приложения может сломать мою систему. Но потом Linux имеет репутацию очень надежной, поэтому должно быть что-то, чего я не понимаю о том, как установка и удаление приложений влияет на систему. Кто-нибудь может пролить свет на это?
Обновление: при установке приложения его файлы могут распространяться куда угодно (менеджеры пакетов решают часть проблемы), но есть крутой способ: использовать Docker для установки приложений и хранить их в «песочнице», особенно если вы не собираетесь используйте их слишком часто. Также возможно запускать приложения с графическим интерфейсом, такие как Firefox, целиком в «песочнице» Docker.
apt-get
а неmake
устанавливать программное обеспечение.make install
используется, когда вам нужно собрать последнюю (возможно, нестабильную) версию программного обеспечения из источников, которые еще не доступны в виде пакета.apt
проще и обеспечивает лучшее обучение, чем использованиеapt-get
.*.app
файла недостаточным, поскольку установки приложений часто засоряли другие места (например, каталог библиотеки, из памяти). Кроме того, если вы собираете вручную из исходного кода в Ubuntu с помощьюmake install
, используйтеcheckinstall
вместо этого, чтобы позволить легкое удаление../configure ; make ; make install
путь. Все, что вам нужно, это изучить потрясающий инструмент fpm .Ответы:
Новая установка редко ломает вашу систему (если вы не делаете странные вещи, такие как смешивание исходного кода и двоичного кода).
Если вы используете предварительно скомпилированные двоичные файлы в Ubuntu, то вы можете удалить их, и вам не нужно беспокоиться о том, чтобы сломать вашу систему, потому что двоичный файл должен содержать список того, что ему нужно для запуска, а менеджер пакетов перечислит, какие программы полагаются на эту программу для просмотра.
Когда вы используете исходный код, вам нужно быть более осторожным, чтобы не удалить что-то критическое (например, glib). При удалении из источника никаких предупреждений или чего-либо еще нет. Это означает, что вы можете полностью сломать свою машину.
Если вы хотите удалить с помощью,
apt-get
то вы будете использовать,apt-get remove package
как указано ранее. Любые программы, использующие этот пакет, также будут удалены, и у вас будет возможность просмотреть их.Если вы хотите удалить, то, как правило, процесс
make uninstall
. Там нет предупреждения (как я уже говорил выше).make config
не изменит вашу систему, ноmake install
будет.Как новичок, я рекомендую использовать
apt-get
или любой другой дистрибутив, который вы используете для бинарных пакетов. Это делает вещи красивыми и организованными, и если вы действительно этого не хотите, это не сломает вашу систему.Надеюсь, это все прояснит.
источник
--purge
опцию сapt-get
Теоретически,
make uninstall
следует удалить то, чтоmake install
добавлено, и ваша система не накапливает бесполезность. Проблема, конечно, в том, что не все make-файлы созданы одинаковыми.Некоторые могут опустить
uninstall
правило, предоставив вам возможность выяснить, что этоinstall
правило сделало. Хуже того, если правило установки перезаписало связанную библиотеку, немаяuninstall
подпрограмма может нарушить зависимости для какой-либо другой программы.Лучшее решение для исходных установок - использовать префикс, отличный от пакетов, установленных системным менеджером пакетов. Apt устанавливает файлы,
/usr/
чтобы использовать/usr/local/
иерархию для ваших исходных установок. Это значительно облегчает отслеживание того, какие файлы принадлежат, какие пакеты и деинсталляции не повредят систему../configure --prefix=/usr/local
работает для многих скриптов настройки. Если нет, вы можете редактировать Makefile вручную. Или просто скопируйте файлы вручную.Apt и другие менеджеры пакетов отслеживают, какие файлы они установили, и их обратные зависимости, поэтому их функции удаления безопасны.
источник
Я бы порекомендовал вам использовать
apt-get install
для установки любого пакета в linux иapt-get remove
(имя пакета) илиapt-get purge
(имя пакета), который удалит не только основной пакет, который вы хотите удалить, но и все связанные пакеты или зависимости, которые были установлены во время установки.Теперь, чтобы сохранить вашу систему в чистоте, я бы рекомендовал вам использовать
apt-get clean
/ubuntu/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( этот пост интересен тем, что удалит все файлы, которые были загружены во время установки, но больше не нужны.Еще одна команда, которая будет полезна, если вы хотите удалить все зависимости, которые установлены в вашей системе, но они не были удалены при удалении
apt-get autoremove
.Если вы устанавливаете пакет с помощью make и make install, вы несете ответственность за его удаление (возможно, в скачанный пакет включен файл README, в котором рассказывается, как это сделать), а также за попытку удаления всех зависимостей, связанных с ним. , Вот почему всегда рекомендуется устанавливать пакеты в Linux, предлагаемые менеджером пакетов дистрибутива, если вы делаете это таким образом, вы можете быть уверены, что ваш пакет достаточно протестирован для работы с дистрибутивом (разновидность Linux), который вы используете. и вряд ли сломает вашу систему. Кроме того, вы можете быть уверены, что ваш пакет будет обновляться по мере необходимости, тогда как если вы устанавливаете его самостоятельно, вы несете ответственность за все это.
Надеюсь, это поможет :)
источник
Обычный способ управления установленными приложениями в Linux - с помощью менеджера пакетов. Выбор менеджеров пакетов - одна из главных вещей, которые отличают дистрибутивы. Ubuntu, как и Debian (на котором он основан), использует dpkg и APT ; В большинстве случаев вам нужно взаимодействовать только с одним из интерфейсов APT, таким как
apt-get
(командная строка), aptitude (командная строка или текстовый режим) или Synaptic (GUI).Диспетчер пакетов отслеживает, какие файлы принадлежат какой установленной программе. Как и в Windows, программы могут выполнять произвольный код как часть процедуры установки или удаления, но обычно ведут себя хорошо и не нарушают работу других программ. Кроме того, (не) установочный код написан сопровождающим пакета, а не автором основной ветки разработки (для пакетов в основном выпуске). В отличие от Windows, существует единый интерфейс для установки, обновления и удаления: менеджер пакетов. Вам не нужно искать деинсталлятор (если он есть), вы просто щелкаете значок «удалить» в графическом менеджере пакетов или запускаете
apt-get remove PACKAGENAME
.Если вам нужно «экзотическое» программное обеспечение, вам может потребоваться установить его вручную, распаковав архив или скомпилировав его из исходного кода. Установщики в виде исполняемой программы редко встречаются в мире Linux. Бег
make install
имеет тенденцию распространяться каждую программу в течение нескольких каталогов (/usr/local/bin
,/usr/local/man
,/usr/local/lib
и т.д.). Чтобы все было отсортировано, я рекомендую использовать «менеджер пакетов для бедняков», например, stow . С помощью stow каждый пакет устанавливается в своем собственном каталоге, аstow
утилита заботится о создании символических ссылок, чтобы установленные в пакете команды находились в пути поиска команд и так далее. См. Отслеживание программ для более подробной информации.источник
apt-get
или подобное). Но они помещают только достаточно популярные программы в репозитории, те, у которых достаточно пользователей, чтобы быть уверенными, что они в основном делают то, что должны.Почти в каждом дистрибутиве есть свой выбор менеджера пакетов, есть несколько популярных. pacman, apt, rpm, emerge, ... дистрибутивы на основе Debian используют apt.
Документ выглядит устрашающе, но на самом деле не так уж сложно создать .debs для локального использования , просто оставайтесь на задании.
источник
Вы должны попытаться использовать менеджер пакетов (apt-get, aptitude, synaptic или aptdcon, software-center, mintinstall, ..), если это возможно. Использование задачи make для установки очень простое, не гарантирует наличия
uninstall
аналога и не гарантирует, что оно будет хорошо играть с остальной системой (это всего лишь скрипт, связанный с системой сборки make - и в отличие от проверенного пакета, задачи make могут содержать любой исполняемый код, потенциально вредоносный).Если вы не найдете нужную вам упакованную версию программного обеспечения, вы можете найти
checkinstall
(checkinstall make install
) полезной.источник
Я не эксперт, и не знаю много об установке программного обеспечения из источника, но с помощью
apt-get
вы можете удалить установленное программное обеспечение сapt-get remove package-name
. Чтобы удалить все файлы конфигурации, используйтеapt-get purge package-name
. Самый безопасный способ сохранить порядок установки Linux - это использовать только пакеты в официальных репозиториях. Когда нужен пакет, которого нет в официальных репозиториях, его часто можно найти (поскольку вы используете Ubuntu) в PPA .источник
apt-get
бесполезно для ОП, который использовалconfigure
иmake install
Как говорят другие ответы, в настоящее время типичное большинство программного обеспечения обычно устанавливается с использованием выбранного вами менеджера пакетов вашего дистрибутива. Это так удобно, что вы, вероятно, пропустите это, когда вернетесь в Windows! В некотором смысле различные «рынки» и «магазины» идут в этом направлении и для коммерческих ОС.
Сказав это, я помню, что когда я впервые начал изучать Linux, я был озадачен тем, как обычно устанавливается программное обеспечение. В то время как в Windows все файлы
c:\Programs
находятся в одном каталоге , традиционным «способом unix» является разбрасывать их по «стандартным местам» (детали не настолько стандартизированы, [посмотрите LSB для получения дополнительной информации] [1] ), например,/usr/local/bin
для исполняемых файлов,/usr/local/doc
для документации и так далее.В некотором смысле, Windows «не знает», где находятся ваши исполняемые файлы. Он знает, что они «где-то под
c:\Program Files
», но не намного. Сканирование всех этих каталогов, чтобы найти их, или было слишком дорого. Таким образом, ссылка на исполняемый файл будет явно размещена в известном месте (меню «Пуск»), и это то, что вы использовали бы для ее запуска.В Unix / Linux ваша оболочка и большинство других программ в этом отношении будут автоматически искать исполняемые файлы или другие ресурсы в известном наборе мест. Вот почему, просто скопировав свои файлы в соответствующие каталоги, вы автоматически «увидите их», без необходимости «регистрировать» их где-либо, чтобы пользователи знали о них.
Оба механизма имеют свои плюсы и минусы, но вы обнаружите, что подход Unix обычно более гибкий.
Пожалуйста, имейте в виду, что существует множество исключений и деталей, которые делают картину не такой четкой, как я ее описал, но я думаю, что такого рода введение может быть полезно для новичков, чтобы хотя бы понять основную логику, стоящую за ним.
источник
Я думаю, что лучший совет только в этом сообщении на форуме . Вот ваши варианты (2 и 3 более или менее одинаковы с точки зрения эффекта, на самом деле):
Если вы не можете заставить этот метод работать, используйте его,
checkinstall
как рекомендовали другие. Это очень простая замена для установки:Это должно собрать программное обеспечение как обычно, а затем запустить
make install
в ограниченной среде, которая отслеживает, что оно делает, и создает пакет, который будет выполнять именно эти вещи. Затем он устанавливает этот пакет с вашим менеджером пакетов. Удаление затем аналогично удалению любого другого пакета, как в (2).make install
, я думаю, используйте. И надеюсь, что сопровождающий программного обеспечения поддерживает процедуру удаления.источник