Простой способ удалить программы, установленные из исходного кода в Linux
Не все программы можно найти в официальных или сторонних библиотеках, поэтому их нельзя установить с помощью обычного управления пакетами. Иногда вам приходится собирать эти программы вручную из исходного кода.
Как вы уже знаете, когда вы устанавливаете программу из исходного кода, файлы, содержащиеся в этом пакете, будут скопированы в несколько локальных расположений, таких как / usr / local / bin, / usr / local / и т.д/. Если программа, установленная из исходного кода, не имеет встроенного деинсталлятора, будет проблематично удалить его, когда он вам больше не нужен. Вы можете удвоить (или даже больше) время, чтобы найти эти файлы, а затем удалить их вручную. Раньше я делал это, пока не обнаружил GNU Stow. К счастью, у Stow есть отличный способ легко управлять программами, установленными из исходного кода.
Цитировать вступление на официальном сайте,
GNU Stow — это менеджер по сбору символических ссылок, который может собирать разные программные пакеты и / или пакеты данных в разных каталогах файловой системы, чтобы они выглядели как единое целое |
💥Лучшая программа для полного удаления программ💥
Проще говоря, Stow помогает вам упорядочивать эти программные файлы простым в управлении способом. В этом методе файл не будет скопирован в несколько мест. Все эти файлы будут сохранены в определенной папке, обычно называемой по имени программы, а затем Stow создаст символические ссылки для всех файлов программы в подходящем месте. Например, / usr / local / bin будет содержать символические ссылки на файлы в / usr / local / stow / vim / bin и / usr / local / stow / python / bin. Он также используется рекурсивно для любых других подкаталогов, таких как . / share, . / man и т. Д. В этом руководстве я научу вас, как легко использовать Stow для управления программами, установленными из исходников.
Установить GNU Stow
GNU Stow доступен в стандартных библиотеках популярных операционных систем Linux.
В Arch Linux и его производных выполните следующую команду, чтобы установить Stow.
$ sudo pacman -S stow
В Debian, Ubuntu, Linux Mint:
$ sudo apt install stow
$ sudo dnf install stow
На RHEL / CentOS:
$ sudo yum install epel-release $ sudo yum install stow
Простое удаление программ, установленных из исходного кода в Linux
Как я упоминал ранее, все программные файлы пакета будут сохранены в корневой папке, расположенной в / usr / local / stow /. В этой корневой папке или родительском каталоге каждый пакет будет сохранен в соответствующем подкаталоге. Например, если мы установим редактор Vim из исходного кода, все программные файлы и каталоги, связанные с Vim, будут сохранены в папке / usr / local / stow / vim. Если вы устанавливаете Python из исходного кода, все файлы, связанные с Python, будут сохранены в / usr / local / stow / python.
Теперь я устанавливаю программу под названием привет из исходного кода.
Как удалить программу или игру с компьютера правильно
Сначала загрузите сжатый пакет программы hello.
$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
Используйте следующую команду, чтобы распаковать сжатый пакет:
$ tar -zxvf hello-2.10.tar.gz
Приведенная выше команда создаст каталог с именем hello-2.10 в текущем рабочем каталоге и извлечет в него все содержимое сжатого пакета.
Перейдите в этот каталог:
$ cd hello-2.10/
Запустите следующую команду и добавьте параметр -prefix.
$ ./configure —prefix=/usr/local/stow/hello
Приведенная выше команда сохранит файл сборки в указанном месте, в этом примере / usr / local / stow / hello.
Наконец, используйте следующую команду для сборки и установки программы hello:
$ make $ sudo make install
это оно. Программа hello уже установлена в / usr / local / stow / hello /. Вы можете подтвердить это с помощью команды ls ниже.
$ ls /usr/local/stow/hello/ bin share
Наконец, перейдите в каталог / usr / local / stow / и выполните следующую команду, чтобы сгенерировать необходимые символические ссылки.
$ cd /usr/local/stow/ $ sudo stow hello
Предыдущим шагом было создание ссылки на все файлы или каталоги, включенные в программу hello в каталоге / usr / local /. Другими словами, / usr / local / stow / hello / bin ссылается на / usr / local / share, а / usr / local / stow / hello / share / man ссылается на / usr / local / share и / usr / local / stow / hello / share / man ссылается на / usr / local / share / man.
Вы можете использовать команду ls для подтверждения:
$ ls /usr/local/bin/ hello
Вы можете использовать следующую команду, чтобы проверить, может ли программа hello работать нормально:
$ hello Hello, world!
Очень хорошо, это уже работает! !
Точно так же вы можете установить программу в соответствующий подкаталог, как описано выше.
Вот что содержит корневой каталог Stow:
$ tree /usr/local/stow/
Смотрите, программа hello была установлена в / usr / local / stow / hello /. Точно так же все пакеты будут сохранены в соответствующих каталогах.
Введите основную ссылку ниже, удалите привет программу. Сначала войдите в каталог / usr / local / stow /:
$ cd /usr/local/stow/
Затем выполните следующую команду:
$ sudo stow —delete hello
Привет программа будет удалена. Вы можете использовать следующую команду, чтобы подтвердить, действительно ли она была удалена:
$ hello -bash: /usr/local/bin/hello: No such file or directory
Смотри, привет был удален!
Обратите внимание, что в Stow удалены только символические ссылки. Все файлы или каталоги, связанные с программой hello, также хранятся в каталоге / usr / local / stow / hello. Поэтому вам не нужно снова загружать исходный файл, чтобы снова установить программу hello. Если вам это больше не нужно, просто удалите эту папку.
$ sudo rm -fr /usr/local/stow/hello/
Для более подробной информации о Stow, пожалуйста, обратитесь к странице руководства.
$ man stow
Стоу может помочь вам удалить его так же легко, как установщик. Если вы хотите узнать, как эффективно управлять многими программами, установленными из исходного кода, GNU Stow — это вариант, который облегчает эту задачу. Попробуйте, и вы не будете разочарованы.
Источник: russianblogs.com
Как удалить/обновить программу, которая была создана из исходников?
Я скачал несколько исходников разных утилит.
Сделал как обычно ./configure make, sudo make install
Удалил папки с исходниками.
Попользовался и теперь я хочу удалить сами программы.
Мне, получается, надо заново скачивать исходники и делать make uninstall?
Так все и делают? Или исходники лучше не удалять? А где их хранить принято тогда?
Я не силён в линуксе и в основном пользуюсь apt.
- Вопрос задан более трёх лет назад
- 979 просмотров
Комментировать
Решения вопроса 4
Пони, Debian, LEMP, LAN, любитель
В пингвиньей тусовке частенько похваляются простотой мантры ./configure make make install , но звучит и здоровая критика этого метода, направленная на неудобство удаления (не все озабочиваются реализацией make uninstall ) и путаницу с файлами при обновлении.
Поэтому здоровая практика — это сборка из исходников в пакет родного для вашего дистрибутива формата, с последующей его установкой. Инструменты — или универсальные типа checkinstall , или что-то более специфичное вроде debuild .
Исходники, боюсь, таки придётся скачать. make install превращает файлы из папки билда в обычные файлы, разбросанные по вашему диску. Частично, наверно, можно с этим бороться, указывая префикс пути для установки.
Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать
Скачивать заново
Смотреть что в configure является путем для установки по-умолчанию
Удалять руками
Если ставите на время, то делайте все сразу /tmp
Без make install
make собирает все в кучу в рабочий бинарник или что-то другое исполняемое
make install — делает копирование
Если ставите надолго но «для себя», то заведите себе $HOME/.bin или $HOME/.local/bin и его указывайте в настройках при ./configure
Для systemwide /opt/bin
Правильное решение — собрать пакет и поставить его
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Лёгким движением «./configure make make install» любой дистрибутив превращается в слаку помойку.
Установка софта мимо пакетного менеджера — это очень порочная практика. Если очень хочется прям вот самый свежак, то используй checkinstall вместо «make install». Он трассирует установку, собирает пакет и устаналвивает его через пакетный менеджер.
Ответ написан более трёх лет назад
./configure make make install
Понимаю, что помойка. Разве есть ещё способы скомпилировать и установить пакет с гитхаба?
Вот про checkinstall спасибо. Просто везде в мануалах пишут чтобы собрать нашу программу выполните: ./configure make make install
l4m3r, у configure обычно есть опция —prefix. Можно при конфигурации указать, например, —prefix=/opt/supersoft, тогда make install сложит бинарники в «/opt/supersoft/bin», конфиги в «/opt/supersoft/etc» и т.д. У cmake тоже есть подобные опции.
Radjah, возможно глупый вопрос. А как потом этот префикс /opt (или другая папка) «подключить», просто в PATH bin прописать?
l4m3r, можно в PATH прописать. можно симлинков в ~/.bin накидать и только ~/.bin в PATH добавить. У меня там стоит софт, который демоном работает и ручного запуска не требует.
Источник: qna.habr.com
unixforum.org
Удаление программ (установленных из исходников)
Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.
Модератор: Bizdelnick
29 сообщений • Страница 1 из 1
boot Сообщения: 289
Удаление программ
Сообщение boot » 18.09.2004 14:57
Собираю программы из исходников я недавно,и возник такой вопрос.Некоторые программы,собранные из исходников можно удалить через make uninstall находясь в каталоге с исходниками.Какие из конфигурационных файлов за это отвечают?Можно ли так,чтоб оставить конфиги скомпилированной проги,а остальное удалить,и иметь возможность удалить при необходимости всю установленную программу?Не держать же огромных размеров все скомпилированые программы.
И как можно проследить что куда ставится?
Есть ли для этого какие-то приемы в rpm-based дистрибутивах?
Спасибо сказали:
Valerius Бывший модератор Сообщения: 1469 Статус: Отпетый КДЕ’шник
Re: Удаление программ
Сообщение Valerius » 18.09.2004 15:34
Необязательно всё время держать распакованные и собранные исходники, их можно удалить. Если понадобится потом удалить прогу, достаточно распаковать исходный тарбол, сделать в нём ./configure с теми-же ключами (особенно незабыть о —prefix) а потом сразу make uninstall.
Есть такая прога — checkinstall Она может из собранных исходников сбецать обычную бинарную rpm-ку, которая ставится/удаляется любым менеджером пакетов. Я её правда не пробовал, потому как мало чего собираю.
Свобода есть тонкая полоска между диктатурой и анархией.
———————
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
Спасибо сказали:
boot Сообщения: 289
Re: Удаление программ
Сообщение boot » 18.09.2004 16:24
Спасибо,попробовал checkinstall-вроде бы работает,нормально собрал пару rpm’ок.
Спасибо сказали:
nabat Сообщения: 30
Re: Удаление программ
Сообщение nabat » 24.03.2005 18:07
Какие есть графические утилиты для удаления програм поставленных из исходников. Пробовал поставить Paco но у меня не получилось — так как ставил из исходникови ему не хватало GTK+, начал ставить gtk+ ему не хватает glib, начал ставить glib — ему нехватает pango. В общем pango мне тож неудалось поставить , есть ли какие нибудь графические утилиты и желательно в rpm. Уменя стоит ASP 10. Посоветуйте что делать
Спасибо сказали:
clx Сообщения: 3121 Статус: Think Different ! ОС: Mac OS X
Re: Удаление программ
Сообщение clx » 24.03.2005 18:11
Я не встречал таких тулз.
Способ:
Переходишь в диру с сорцами и делаешь make uninstall
iMac 20″ Core Duo.
Спасибо сказали:
JaGoTerr Сообщения: 380
Re: Удаление программ
Сообщение JaGoTerr » 24.03.2005 18:28
А что, в АСПе 10-ке нет GTK?
Спасибо сказали:
clx Сообщения: 3121 Статус: Think Different ! ОС: Mac OS X
Re: Удаление программ
Сообщение clx » 24.03.2005 18:29
Всё там есть, просто челу нужно прочитать man rpm.
iMac 20″ Core Duo.
Спасибо сказали:
demongloom Сообщения: 454 Статус: Добрый Демон Контактная информация:
Re: Удаление программ
Сообщение demongloom » 24.03.2005 18:48
make uninstall и все. А вообще лучше скачивать по возможности src.rpm.
Если жизнь твоя порвется, тебе новую сошьют.
Спасибо сказали:
nabat Сообщения: 30
Re: Удаление программ
Сообщение nabat » 24.03.2005 19:04
А почему если в ASP есть gta, при установке paco говорит мол нет gta+ 2.6? может дело в версии
nabat добавил в 24.03.2005 19:03
А почему если в ASP есть gta, при установке paco говорит мол нет gta+ 2.6? может дело в версии
nabat добавил в 24.03.2005 19:04
А почему лучше скачивать src.rpm — в чем оличие от rpm
Спасибо сказали:
clx Сообщения: 3121 Статус: Think Different ! ОС: Mac OS X
Re: Удаление программ
Сообщение clx » 24.03.2005 19:23
src.rpm — rpm, которую ты собираешь сам, а потом устанавливаешь
Скорее дело в версиях, покажи как устанавливаешь и какие ошибки возникают?
iMac 20″ Core Duo.
Спасибо сказали:
ddc Бывший модератор Сообщения: 3535 Статус: OpenBSD-compatible ОС: OpenBSD -current
Re: Удаление программ
Сообщение ddc » 25.03.2005 00:03
Если я правильно понмиаю, в случае с srpm менеджер пакетов знает только об исходниках, и проблема анинсталяции бинарников остаётся.
Спасибо сказали:
Bolverk Бывший модератор Сообщения: 1571 ОС: Cygwin Контактная информация:
Re: Удаление программ
Сообщение Bolverk » 25.03.2005 03:53
make uninstall поможет только в том случае, если он предусмотрен, а это бывает
не всегда.
src.rpm — это пакет, из которого собирается обычный бинарный rpm, который потом
и устанавливается. В принципе, пересборка из src.rpm сочетает преимущества
сборки из исходников и использования родного менеджера пакетов, но и ряд
недостатков, конечно же, тоже.
Есть еще checkinstall, который собирает rpm из исходников.
Совет — внимательнее посмотреть, что есть в дистрибутиве, и не спешить все
сразу собирать из исходников. И да, man rpm для начала.
Спасибо сказали:
t.t Бывший модератор Сообщения: 7390 Статус: думающий о вечном ОС: Debian, LMDE
Re: Удаление программ
Сообщение t.t » 26.03.2005 20:04
Не совсем так. checkinstall сам ничего не собирает из исходников — он делает пакет (в вашем случае rpm, а вообще — и deb, и tgz) из, вообще говоря, результатов выполнения какой-нибудь команды. Чаще всего эта команда — make install, которая, в свою очередь, тоже ничего не собирает, а устанавливает уже собранное. Вообще, checkinstall — самый простой и безотказный способ установить программу из исходников с возможностью последующего удаления.
¡иɯʎdʞ ин ʞɐʞ ‘ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Mr.White Сообщения: 7
Re: Удаление программ
Сообщение Mr.White » 02.06.2005 09:11
Как удалить прогу, которую собрал из исодников.
Обычно я удалял просто исполняемый файл и конфиги в /home/username.
Хотелось бы знать мнение спецов.
«Software is like SEX — it’s better when it’s FREE»
—————————————Linus Torvalds
Спасибо сказали:
VAVka Сообщения: 96
Re: Удаление программ
Сообщение VAVka » 02.06.2005 09:33
Поищи на форуме, это уже обсуждалось. Коротко:
0. Если разработчики сделали цель unistall, то можно попробовать make uninstall (естественно, исходники для этого должны быть).
1. Использовать make checkinstall при сборке (рекомендуемый способ).
2. Еще вариант, сделать rpm-пакет (для систем rpm-based) для приложения и юзать в дальнейшем его. При этом о проблеме подчистки и обновления пакета будет заботится rpm.
С уважением, VAVka ( VAVka pagе )
NimbleX 200 Mb USB Edition (krnl 2.6.24/2.4.22)
Источник: unixforum.org