Если я создам пакет из источника, как я могу полностью удалить или удалить?

107

Я использовал исходный код для создания одного пакета, например ниже:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib --with-package-name="Myplugin" --with-package-origin="http://www.ubuntu.org/" --enable-gtk-doc --disable-static
make
make install

Но, к сожалению, я обнаружил, что его последняя версия и множество ошибок, поэтому мне нужно удалить ее / удалить. Но как я могу это сделать? Я попробовал make clean; make uninstall , но все же вижу, что он существует:

# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....

Как удалить это сейчас?     

задан YumYumYum 12.12.2011 в 12:42
источник

5 ответов

134

Обычно вы можете просто использовать:

make uninstall

или

sudo make uninstall

, если приложение было установлено как root.

Но это будет работать только в том случае, если разработчик пакета позаботился о правильном правиле удаления.

Вы также можете попытаться просмотреть шаги, используемые для установки программного обеспечения, запустив:

make -n install

И затем попробуйте вручную отменить эти шаги.

В будущем, чтобы избежать подобных проблем, попробуйте использовать checkinstall вместо make install по возможности ( AFAIK всегда, если вы не хотите одновременно сохранить скомпилированную и упакованную версию). Он создаст и установит файл deb, который вы можете удалить с помощью своего любимого менеджера пакетов.

make clean обычно очищает каталоги зданий, не удаляет пакет. Он используется, когда вы хотите быть уверенным, что все это скомпилировано, а не только измененные файлы.

    
ответ дан Javier Rivera 12.12.2011 в 12:49
источник
26

Я не думаю, что это ошибка, было бы неплохо прочитать и научиться использовать checkinstall при установке из исходного кода.

вы можете установить checkinstall из репозиториев, краткое описание пакета;

CheckInstall отслеживает все созданные файлы или измененный вашим сценарием установки ("make install" «make install_modules», «setup» и т. д.), создает стандартный бинарный пакет и устанавливает его в вашем система, предоставляющая вам возможность удалить ее с помощью стандартные утилиты управления пакетами.

Эти ссылки ниже могут быть полезны для лучшего понимания. Ссылка

Ссылка

    
ответ дан Sabacon 20.01.2011 в 23:36
15

Это не ошибка. Компиляция из источника - это неподдерживаемый метод установки программного обеспечения, полностью обходя систему управления пакетами (которая используется Центром программного обеспечения).

Нет стандартного способа, чтобы программное обеспечение, скомпилированное из источника, было установлено или удалено, поэтому Ubuntu не знает, что делать. Программное обеспечение даже не указано как установленная программа.

Вы должны следовать инструкциям дистрибьютора для установки и удаления такого программного обеспечения. Вы также можете связаться с разработчиком, чтобы попросить их создать пакет Debian, чтобы можно было использовать систему управления пакетами.

    
ответ дан dv3500ea 20.01.2011 в 23:38
3

Это не ошибка, это то, что происходит, когда разработчики прибегают к распространению через источник, а не через собственные методы упаковки.

Вы можете заставить исходные файлы стать debian-пакетами с помощью checkinstall или dhbuild. Честно говоря, по-моему, новым пользователям следует избегать установки из источника, и разработчикам следует избегать распространения только по источнику.

    
ответ дан RolandiXor 20.01.2011 в 23:36
0

Нам нужно обсудить тот факт, что сделать удаление будет не , поэтому ниже является более активным решением.

 Это связано с использованием программы paco который доступен в программном центре Ubuntu. Как только мы установили paco, мы можем использовать его в режиме журнала, когда мы «устанавливаем» программу. Paco действует как обертка для вашей «make install» и создает журнал в каталоге / var / log / paco со списком файлов, скопированных в различные каталоги. Кроме того, вы можете увидеть файлы в конце Paco Front.

Например, когда я скомпилировал php из исходного кода, я сделал следующее:

paco -lp php5 "make install"

Параметр l запускает paco в режиме журнала. Это создало файл журнала в / var / log / paco с именем php5 (имя, которое я дал в команде). Он содержал все файлы, которые копируются в различные стандартные местоположения во время установки. Вы можете использовать редактор командной строки или paco gui для просмотра файлов.

Ниже приведен пример получения список файлов с помощью редактора командной строки sed
(Замените php5 на ваше имя файла).

cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'

Как только вы получили список файлов, вы знаете, как их удалить, не так ли? В самом деле, вы можете передать результаты вышеуказанной команды rm с помощью обратных тактов, как показано ниже:

sudo rm 'cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p''

Задание выполнено!

Примечание. Из-за ограничений LD_PRELOAD, paco не может следовать следам suid-программ. См. Справочную страницу.

    
ответ дан sjsam 09.03.2015 в 13:56