удалить из системы самосборный пакет ((RH-based linux))

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

удалить из системы самосборный пакет

Сообщение Doka »

CentOS 5.4 x86_64

давно дело было
поставил в систему git собранный из исходников. теперь в системе живут два git, причём по умолчанию запускается не тот, который надо :

Код: Выделить всё

[doka@conroe data]$ whereis git
git: /usr/bin/git /usr/local/bin/git

[doka@conroe data]$ /usr/bin/git --version
git version 1.6.5.2

[doka@conroe data]$ /usr/local/bin/git --version
git version 1.5.6.2

[doka@conroe data]$ git --version
git version 1.5.6.2


хочется избавиться от самосбоhного git, но что-то не вижу путей - в makefile не нашёл целей - distclean или какой-нить remove



================================================

та же проблема и с xmlrpc-с:

установил в систему "правильно собранную для EL5" RPM xmlrpc-c версии 1.14.8
но приложение (rtorrent), установленное из того же источника пытается втянуть "старую" (самосборную - были установлены xmlrpc-c-1.06.32.tgz и xmlrpc-c-1.11.00.tgz) xmlrpc-c, а они увы не годятся ...

Код: Выделить всё

$ ldd /usr/bin/rtorrent
        libncursesw.so.5 => /usr/lib64/libncursesw.so.5 (0x0000003eea200000)
        libsigc-2.0.so.0 => /usr/lib64/libsigc-2.0.so.0 (0x00000036b9e00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003ee6e00000)
        libidn.so.11 => /usr/lib64/libidn.so.11 (0x0000003ef3000000)
        libssl.so.6 => /lib64/libssl.so.6 (0x0000003ef2400000)
        libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003eeda00000)
        libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x0000003efac00000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003eeae00000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000003ef2000000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000003ef1400000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000003ef1800000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003ef1000000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000003ee6200000)
        libtorrent.so.11 => /usr/lib64/libtorrent.so.11 (0x00002b4b0a7bb000)
        libxmlrpc_server.so.3 => /usr/local/lib/libxmlrpc_server.so.3 (0x00002b4b0aa63000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000036b9200000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003ee6a00000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000036b8e00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003ee6600000)
        liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x0000003ef2800000)
        libxmlrpc.so.3 => /usr/local/lib/libxmlrpc.so.3 (0x00002b4b0ac6a000)
        libxmlrpc_util.so.3 => /usr/local/lib/libxmlrpc_util.so.3 (0x00002b4b0ae7a000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ee5e00000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003eef200000)
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003efb000000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ee7200000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x0000003ef1c00000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003ef0c00000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003ef4000000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003eed600000)
        libsepol.so.1 => /lib64/libsepol.so.1 (0x0000003eed200000)
[doka@conroe ~]$ file /usr/local/lib/libxmlrpc.so.3
/usr/local/lib/libxmlrpc.so.3: symbolic link to `libxmlrpc.so.3.11.0'


менеджер пакетов видит только версии установленные через RPM-пакеты:

Код: Выделить всё

$ locate libxmlrpc.so
/usr/lib64/libxmlrpc.so
/usr/lib64/libxmlrpc.so.3
/usr/lib64/libxmlrpc.so.3.14
/usr/local/lib/libxmlrpc.so
/usr/local/lib/libxmlrpc.so.3
/usr/local/lib/libxmlrpc.so.3.11.0
/usr/local/lib/libxmlrpc.so.3.6.15

$ rpm -qa | grep -i xmlrpc
xmlrpc-c-devel-1.14.8-1.el5
xmlrpc-c-apps-1.14.8-1.el5
xmlrpc-c-1.14.8-1.el5


в makefile исходников xmlrpc-c чёрт ногу сломит((

вопрос - как удалить из системы самосборные пакеты??
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Atolstoy
Сообщения: 1654
Статус: Tux in the rain
ОС: Linux x86_64
Контактная информация:

Re: удалить из системы самосборный пакет

Сообщение Atolstoy »

Если сохранилась папка, откуда было сделано make install, то делается просто make uninstall (от рута). Если был поставлен rpm, то rpm -e <имя пакета>
Всего лишь 26 литров пива достаточно человеку для удовлетворения ежедневной потребности в кальции. Здоровое питание - это так просто!
http://atolstoy.wordpress.com
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: удалить из системы самосборный пакет

Сообщение watashiwa_daredeska »

Можно воспользоваться checkinstall, поставить с помощью него еще раз, а потом удалить.
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: удалить из системы самосборный пакет

Сообщение Doka »

Atolstoy писал(а):
12.11.2009 14:37
Если сохранилась папка, откуда было сделано make install, то делается просто make uninstall (от рута). Если был поставлен rpm, то rpm -e <имя пакета>



так в том-то и вся трагедия, что:

Код: Выделить всё

[doka@conroe xmlrpc-c-1.11.00]$ sudo make uninstall
make: *** No rule to make target `uninstall'.  Stop.

[doka@conroe git-1.5.6.2]$ sudo make uninstall
GIT_VERSION = 1.5.6.2
make: *** No rule to make target `uninstall'.  Stop.
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: удалить из системы самосборный пакет

Сообщение Doka »

watashiwa_daredeska писал(а):
12.11.2009 15:00
Можно воспользоваться checkinstall, поставить с помощью него еще раз, а потом удалить.


поставил checkinstall и собрал им пакет. удалить не даёт, пытаюсь сначала установить:

Код: Выделить всё

 [root@conroe xmlrpc-c-1.11.00]# rpm -i /usr/src/redhat/RPMS/x86_64/xmlrpc-c-1.11.00-1.x86_64.rpm
        package xmlrpc-c-1.14.8-1.el5.x86_64 (which is newer than xmlrpc-c-1.11.00-1.x86_64) is already installed

[root@conroe xmlrpc-c-1.11.00]# rpm -e /usr/src/redhat/RPMS/x86_64/xmlrpc-c-1.11.00-1.x86_64.rpm
error: package /usr/src/redhat/RPMS/x86_64/xmlrpc-c-1.11.00-1.x86_64.rpm is not installed
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: удалить из системы самосборный пакет

Сообщение Doka »

и загадочнее всего с git:

Код: Выделить всё

[root@conroe git-1.5.6.2]# rpm -i /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64.rpm
[root@conroe git-1.5.6.2]# rpm -e /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64.rpm
error: package /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64.rpm is not installed

т.е. вроде как нормально встал, а удалиться не может
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: удалить из системы самосборный пакет

Сообщение Ali1 »

А если просто поискать

Код: Выделить всё

 find /usr/local/bin/ -name \* -exec rpm -qf {} \; | grep -i "не при"
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: удалить из системы самосборный пакет

Сообщение Doka »

Ali1

Код: Выделить всё

$ find /usr/local/bin/ -name \* -exec rpm -qf {} \; | grep xmlrpc
file /usr/local/bin/xmlrpc_transport is not owned by any package
file /usr/local/bin/xmlrpc-c-config is not owned by any package
file /usr/local/bin/xmlrpc is not owned by any package


а по git очень много выводит.. (у меня вторая версия тоже не дистрибутивная стоит, а 1.6.5.2 с другим prefix при сборке)

но ведь по rpm -i ( после checkinstall ) должны были затереться эти все установочные файлы.... в этом и странность..
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: удалить из системы самосборный пакет

Сообщение Ali1 »

Doka писал(а):
12.11.2009 16:18
[root@conroe xmlrpc-c-1.11.00]# rpm -e /usr/src/redhat/RPMS/x86_64/xmlrpc-c-1.11.00-1.x86_64.rpm
error: package /usr/src/redhat/RPMS/x86_64/xmlrpc-c-1.11.00-1.x86_64.rpm is not installed

Без .rpm

Doka писал(а):
12.11.2009 16:59
а по git очень много выводит.. (у меня вторая версия тоже не дистрибутивная стоит, а 1.6.5.2 с другим prefix при сборке)

По идее, git с другим префиксом должен остаться, но -- "По идее ".
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: удалить из системы самосборный пакет

Сообщение Doka »

Ali1 писал(а):
12.11.2009 17:10
Без .rpm


Код: Выделить всё

# rpm -e /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64
error: package /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64 is not installed

# ll /usr/src/redhat/RPMS/x86_64/
-rw-r--r-- 1 root root 42387730 Nov 12 16:25 git-1.5.6.2-1.x86_64.rpm
-rw-r--r-- 1 root root   928224 Nov 12 16:11 xmlrpc-c-1.06.32-1.x86_64.rpm
-rw-r--r-- 1 root root  1048882 Nov 12 16:12 xmlrpc-c-1.11.00-1.x86_64.rpm
Never stop thinking..................................................................
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: удалить из системы самосборный пакет

Сообщение watashiwa_daredeska »

Если Вы говорите, что у Вас уже стоят git и xmlrpc из дистрибутива, причем более новые, то естественно, что Вам не дают поставить.

Можно попробовать воспользоваться rpm -q -l для получения списка файлов и скормить его в xargs rm. Точную команду сейчас не скажу, потому что не знаю точно, что выводит rpm -q -l.

Doka писал(а):
12.11.2009 17:46
rpm -e /usr/src/redhat/RPMS/x86_64/git-1.5.6.2-1.x86_64
Без пути, только имя. И я даже предполагаю, что без указания версии и архитектуры. Т.е. просто "git".
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: удалить из системы самосборный пакет

Сообщение Ali1 »

watashiwa_daredeska писал(а):
12.11.2009 18:23
Без пути, только имя. И я даже предполагаю, что без указания версии и архитектуры. Т.е. просто "git".

Да, Конечно же без пути! Можно и без версии. :blush:
Спасибо сказали:
Ответить