4

Я хотел установить tomcat на мою машину с Debian 6.0.4. Я попытался apt-get install tomcat6-user который работал нормально. Но потом я передумал об установке пользователя и захотел установить пакет tomcat6. Это привело к куче ошибок (см. Ниже).

Теперь все, что я пытаюсь сделать с apt-get или с aptitude (пытаясь удалить tomcat6-user, пытаясь удалить tomcat6, пытаясь выполнить apt-get upgrade, ...), просто приводит к тому же списку ошибок.

Как мне это удалось? И как я могу это исправить?

# apt-get install tomcat6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  authbind
Suggested packages:
  tomcat6-docs tomcat6-admin tomcat6-examples libtcnative-1
The following NEW packages will be installed:
  authbind tomcat6
0 upgraded, 2 newly installed, 0 to remove and 32 not upgraded.
Need to get 56.6 kB of archives.
After this operation, 442 kB of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://mirror.hetzner.de/debian/packages/ squeeze/main authbind amd64 1.2.0 [17.3 kB]
Get:2 http://mirror.hetzner.de/debian/security/ squeeze/updates/main tomcat6 all 6.0.35-1+squeeze2 [39.3 kB]
Fetched 56.6 kB in 0s (441 kB/s)
Preconfiguring packages ...
Selecting previously deselected package authbind.
(Reading database ... 34717 files and directories currently installed.)
Unpacking authbind (from .../authbind_1.2.0_amd64.deb) ...
Selecting previously deselected package tomcat6.
Unpacking tomcat6 (from .../tomcat6_6.0.35-1+squeeze2_all.deb) ...
Processing triggers for man-db ...
Setting up authbind (1.2.0) ...
Setting up tomcat6 (6.0.35-1+squeeze2) ...

Creating config file /etc/default/tomcat6 with new version
Adding system user `tomcat6' (UID 108) ...
Adding new user `tomcat6' (UID 108) with group `tomcat6' ...
Not creating home directory `/usr/share/tomcat6'.
insserv: warning: script 'S99iptables-custom' missing LSB tags and overrides
insserv: warning: script 'iptables-custom' missing LSB tags and overrides
insserv: There is a loop at service iptables-custom if started
insserv: There is a loop between service rmnologin and mountnfs if started
insserv:  loop involving service mountnfs at depth 6
insserv:  loop involving service networking at depth 5
insserv:  loop involving service kbd at depth 9
insserv: There is a loop between service rmnologin and mountall-bootclean if started
insserv:  loop involving service mountall-bootclean at depth 5
insserv:  loop involving service mountall at depth 4
insserv: There is a loop between service iptables-custom and lvm2 if started
insserv:  loop involving service lvm2 at depth 2
insserv:  loop involving service udev at depth 1
insserv: There is a loop at service rmnologin if started
insserv: There is a loop between service iptables-custom and checkroot if started
insserv:  loop involving service checkroot at depth 2
insserv:  loop involving service keyboard-setup at depth 1
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service courier-imap-ssl at depth 1
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv:  loop involving service hwclockfirst at depth 2
insserv:  loop involving service mountoverflowtmp at depth 9
insserv:  loop involving service checkfs at depth 6
insserv:  loop involving service mdadm-raid at depth 4
insserv:  loop involving service hostname at depth 3
insserv: There is a loop between service iptables-custom and ifupdown-clean if started
insserv:  loop involving service ifupdown-clean at depth 5
insserv: There is a loop between service rmnologin and mountall if started
insserv: There is a loop between service iptables-custom and mountdevsubfs if started
insserv:  loop involving service mountdevsubfs at depth 1
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv:  loop involving service mtab at depth 6
insserv: There is a loop between service rmnologin and mountoverflowtmp if started
insserv: Starting iptables-custom depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing tomcat6 (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
 tomcat6
E: Sub-process /usr/bin/dpkg returned an error code (1)

2 ответа2

4

Ладно, я понял. Я создал свой собственный скрипт iptables-common, который содержит только некоторые статические правила iptables. Удаление этого скрипта решило проблему. Хотя я смущен, что это никогда не было проблемой. Может быть, потому что Tomcat добавляет неприемлемые правила ...

3

Когда вы смотрите на другие скрипты в /etc/init.d/, вы можете заметить, что они начинаются с определенного раздела, подобного следующему:

#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:    iptables
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Initialize iptables rules.
# Description:
### END INIT INFO

При добавлении такого раздела ошибок, с которыми вы столкнулись при установке tomcat, больше не было бы.

Для получения дополнительной информации: Debian Wiki LSBInitScripts

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .