LINUX.ORG.RU
ФорумAdmin

Не удаляются полностью программы


0

2

Приветствую!

В данный момент настраивал сервер для работы с ispmanager, дистриб Debian 5. Установка происходит с проблемами - не запускается mysql сервер и т.д.

Я подумал, что это связано с тем, что ранее был установлен пакет ISP Omega, а до него простая связка LAMP. Возможно конфликтуют при установке конфиги или что-то вроде этого. Сейчас есть идея привести сервер в NULL состояние и вчистую поставить ISPmanager.

Так вот в чем дело: при использовании aptitude purge <имя пакета>, он оставляет в /etc конфиги и апача и мускула и других программ, которые тянет за собой ISPmanager.

Как полностью удалить программу, как привести сервер в NULL состояние (переустановку предлагать только в самом крайнем случае)? Почему не удаляются конфиги этих программ? Удалять их просто вручную?

Спасибо!


используй apt

apt-get purge ....

apt-get autoremove ...

aptitude purge <имя пакета>, он оставляет в /etc конфиги и апача

aptitude purge <имя пакета>=aptitude purge apache ?

pyometra ★★★★★
()
Ответ на: комментарий от pyometra

>aptitude purge <имя пакета>=aptitude purge apache ?

да.

Сейчас попробую apt-get

noiseme
() автор топика

Можете попробовать так:

dpkg -L <пакет> | while read name ; do if [-f "$name" ] ; then rm "$name" ; fi ; done
получить список файлов пакета и в случае их наличия удалять, или хотя бы перемещать, для надёжности.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Да, перед удалением файлов удалите пакет пакетным менеджером,а список файлов получайте из deb пакета в /var/cache/archives.

kostik87 ★★★★★
()
Ответ на: комментарий от pyometra

В общем, apt-get purge и apt-get autoremove дают одно и тоже:

Package apache2 is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

Причем в /etc так и продолжает висеть папка apache2

С остальными пакетами та же история.

noiseme
() автор топика

> при использовании aptitude purge <имя пакета>, он оставляет в /etc конфиги и апача и мускула
aptitude purge $(dpkg -S /etc/путь/к/конфигу | cut -d: -f1)

Как именно Вы ставили ISP Omega? LAMP? Если хоть что-то из этого было установлено без помощи системы управления пакетами, то система уже превратилась в помойку, и вычищать конфиги нужно вручную (в этом случае dpkg -S не вернёт ни одного пакета-владельца указанного файла).

AITap ★★★★★
()
Ответ на: комментарий от AITap

Сказал: aptitude purge $(dpkg -S /etc/apache2 | cut -d: -f1)

The following packages will be REMOVED: libapache2-mod-fcgid{p} 0 packages upgraded, 0 newly installed, 1 to remove and 7 not upgraded

Пакеты ставились при помощи apt, dpkg, aptitude и такой то матери, судя по всему система уже превратилась в помойку, куда копать, чтобы привести ее в нормальное состояние? Судя по всему, вычищать конфиги вручную. Как потом отследить остались ли от того или иного пакета остатки в системе? Помню где-то читал про команду, которая показывает все директории, где прописывается пакет и все зависимости от него.

noiseme
() автор топика
Ответ на: комментарий от kostik87

dpkg -L apache2 | while read name ; do if [-f «$name» ] ; then rm «$name» ; fi ; done

дает: Package `apache2' is not installed.

перед удалением файлов удаляю всеми способами (которые по ssh возможны) apt-get, aptitude, dpkg (remove, purge и autoremove)

noiseme
() автор топика
Ответ на: комментарий от noiseme

В общем принял решение чистить систему руками, что порекомендуете сделать, чтобы привести систему в первоначальное состояние? Спасибо.

noiseme
() автор топика
Ответ на: комментарий от noiseme

укажите ему deb пакет, он у вас в /var/cache/archives, где то там. Конечно вам это скажут, вы же только что его удалили. ps деб пакет вида apach2-2.0.4-i686-squeezy.deb, название примерное.

kostik87 ★★★★★
()
Ответ на: комментарий от noiseme

> Сказал: aptitude purge $(dpkg -S /etc/apache2 | cut -d: -f1)

The following packages will be REMOVED: libapache2-mod-fcgid{p} 0 packages upgraded, 0 newly installed, 1 to remove and 7 not upgraded

Ну вот и отлично, соглашайтесь. Эта команда снесёт libapache2-mod-fcgid, который владеет директорией конфигов /etc/apache2/.

Пакеты ставились при помощи apt, dpkg, aptitude и такой то матери, судя по всему система уже превратилась в помойку, куда копать, чтобы привести ее в нормальное состояние?

Все файлы, на которые не отзывается dpkg -S, удалить (с осторожностью!).

Как потом отследить остались ли от того или иного пакета остатки в системе?

Пакеты должны удаляться при помощи менеджера пакетов. Точка.

Если от «пакета» (который на самом деле не пакет, а следствие make install или ещё какой гадости) остались ошмётки, на них не будет отзываться dpkg -S, и их нужно удалять вручную.

Внимание! dpkg -S по очевидным причинам _НЕ БУДЕТ_ отзываться на важные пользовательские данные. Поэтому я прошу действовать с осторожностью и не пишу скрипт, который пробежался бы по серверу автоматически. Перед началом работы сделайте бекап.

AITap ★★★★★
()
Ответ на: комментарий от kostik87

> получить список файлов пакета и в случае их наличия удалять, или хотя бы перемещать, для надёжности.
Я не понимаю, зачем так делать, если можно сделать dpkg -P <имяпакета>, и ВСЕ принадлежащие пакету файлы будут удалены.
Ваш способ потенциально опасен! Зачем Вы советуете его новичку?

AITap ★★★★★
()
Ответ на: комментарий от AITap

Я указал, что в целях безопасности лучше перемещать, mv.

Он уже удалили пакеты из системы я предлагаю ему удалить оставшиеся связанные с ними файлы.

Либо он может поставить их заново и удалить dpkg -P <name_package>

kostik87 ★★★★★
()
Ответ на: комментарий от noiseme

Глупое предложение: а что если пакет поставить заново (с тем, чтобы он затёр изменённые файлы), а затем удалить его?

Rakot ★★
()
Ответ на: комментарий от kostik87

>он у вас в /var/cache/archives

у меня нет там папки archives, у меня lenny, не squeezy, логику совета понял, попробую, спасибо!

noiseme
() автор топика
Ответ на: комментарий от kostik87

Удалённые пакеты сохраняются в базе dpkg, и никто не мешает просто запустить dpkg -P <имя пакета>, даже если он удалён.

Пример:

[23:43:33][aitap@flyingteapot ~]> dpkg -l mpd
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя Версия Описание
+++-====================================-====================================-========================================================================================
rc mpd 0.15.12-1 Music Player Daemon
[23:44:17][aitap@flyingteapot ~]> sudo dpkg -P mpd
[sudo] password for aitap:
(Чтение базы данных ... на данный момент установлено 169229 файлов и каталогов.)
Удаляется пакет mpd ...
Вычищаются файлы настройки пакета mpd ...
[23:44:30][aitap@flyingteapot ~]> dpkg -l mpd
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя Версия Описание
+++-====================================-====================================-========================================================================================
un mpd <none> (описание недоступно)
[23:44:32][aitap@flyingteapot ~]>

AITap ★★★★★
()
Ответ на: комментарий от kostik87

Зачем вообще что-то делать вручную с файлами, которые описаны в базе данных dpkg, если это можно сделать при помощи dpkg?

AITap ★★★★★
()
Ответ на: комментарий от AITap

Я написал предложенный мной способ, т.к. считаю, что если пакет удалён, то оставшиеся после него файлы ни к чему не привязаны, если предложенный вами способ поможет, хорошо.

kostik87 ★★★★★
()
Ответ на: комментарий от AITap

>Ну вот и отлично, соглашайтесь

С первого раза согласился - и он что-то удалил, ребутнул машину, еще раз дал эту команду, теперь что-то типа:

0 packages upgraded, 0 newly installed, 1 to remove and 7 not upgraded.
Need to get 0B of archives. After unpacking 3498kB will be freed.
The following packages have unmet dependencies:
libapache2-mod-ruby: Depends: apache2.2-common but it is not installable
apache2-mpm-prefork: Depends: apache2.2-common (= 2.2.9-10+lenny9) but it is not installable
apache2-suexec: Depends: apache2.2-common but it is not installable
libapache2-mod-fastcgi: Depends: apache2.2-common (>= 2.2.4) but it is not installable
The following actions will resolve these dependencies:

Remove the following packages:
apache2-mpm-prefork
apache2-suexec
libapache2-mod-fastcgi
libapache2-mod-ruby

Install the following packages:
webfs [1.21-5.1 (oldstable, oldstable)]

Leave the following dependencies unresolved:
libapache-ruby1.8 recommends libapache2-mod-ruby
Score is -243

Я так понимаю, что он мне говорит удалить пакеты типа prefork и т.д.
Согласился, все остатки от apache из etc исчезли, отлично, теперь попробую это же средство с остальными пакетами.

Все файлы, на которые не отзывается dpkg -S, удалить (с осторожностью!).


Понял, сделаем.

Пакеты должны удаляться при помощи менеджера пакетов. Точка.


Ну да, иначе я их и ставить пока не умею, без всяких make install.

не пишу скрипт, который пробежался бы по серверу автоматически


Сервак пустой - на нем нет критичных данных, я сейчас пробую его привести в чувство, если не справлюсь - попрошу прова переставить ОСь, так что можно смело писать скрипт %)

Спасибо за помощь!



noiseme
() автор топика
Ответ на: комментарий от noiseme

На самом деле всё более сложно, чем кажется.
Только что у себя на ноутбуке запустил команду find /etc -type f -exec sh -c «dpkg -S '{}' >/dev/null» \;, и та вывела довольно большое количество файлов, среди них - несколько жизненно важных для системы (например, /etc/inittab, /etc/group, /etc/hosts, /etc/passwd, /etc/fstab).

Хотя большая часть найденных файлов, конечно, не поставлена из пакета, а создана либо вручную, либо скриптом-настройщиком.

AITap ★★★★★
()
Ответ на: aptitude purge ~c от dhameoelin

читаю и о%уеваю. скоро у апта появится ключ «удалить все неправильные проги» и ключ «поставить годные проги».

Komintern ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.