Jak mogę ponownie zainstalować Apache HTTPD po usunięciu niektórych plików konfiguracyjnych?

38

Niedawno miałem problemy z konfiguracją Apache i chciałem zainstalować ponownie, aby móc zacząć od nowa. Śledziłem niektóre posty na forum dotyczące ponownej instalacji apache2pakietu, co skończyło się usunięciem mojego /etc/apache2folderu.

Teraz ważne, ile rzeczy próbuję, nie mogę wykonać pełnego czyszczenia instalacji Apache, a następnie ponownej instalacji. sudo apt-get install apache2lub reinstallnic nie robi. Nie mogę też tego usunąć za pomocą Synaptic.

Czy jest coś, co mogę zrobić, aby ponownie zainstalować świeżą Apache na moim komputerze?

seadowg
źródło
1
/ etc / apache2 / envvars jest w apache2.2-common, czy też przeinstalowałeś ten pakiet? Jak z poleceniemsudo apt-get --reinstall install apache2.2-common
LGB

Odpowiedzi:

75

Aby zastąpić usunięte pliki konfiguracyjne bez usuwania pakietu, możesz to zrobić

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Aby całkowicie usunąć pliki konfiguracyjne apache2, powinieneś

sudo apt-get purge apache2

co pozwoli ci ponownie zainstalować go w zwykły sposób za pomocą

sudo apt-get install apache2

Aby usunąć wszystkie pliki konfiguracyjne, wymagane jest czyszczenie - jeśli usuniesz pliki konfiguracyjne, ale usuniesz tylko pakiet, zostanie to zapamiętane, a brakujące pliki konfiguracyjne nie zostaną ponownie zainstalowane domyślnie.

ajmitch
źródło
To też nie działa. Mówi, że apache2 jest już zainstalowany, a czyszczenie nie usuwa pliku konfiguracyjnego z etc / apache2. W rzeczywistości czystka narzeka, że ​​nie może też zazdrościć.
seadowg
Czy przeinstalowanie apache2.2-common z opcją zastąpienia brakujących plików conf działało dla Ciebie?
ajmitch
Prawie rok później i znalazłem to, dziękuję bardzo.
nerdwaller,
1
bardzo pomogło, ale pakiet apache2.2-common już nie istnieje ... zrobił tę samą sekwencję tylko z pakietem apache2
Jürgen Zornig
Nie testowano z Ubuntu, ale w Debianie, aby przywrócić pliki konfiguracyjne, które są zarządzane przez ucftej --force-confmissopcji nie będzie działać, trzeba użyć sudo UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname].
Skippy le Grand Gourou
5

najpierw uruchom następujące polecenie

sudo apt-get remove --purge apache2 apache2-utils

następnie uruchomić

sudo apt-get install apache2

zadziałało dla mnie

edd
źródło
2
Spowoduje to usunięcie wszystkich konfiguracji apache. :(
tokam
5
@tokam Tak, zobacz pytanie.
Felix Rabe
1

Usuń pliki Apache2 ...

sudo apt-get remove --purge apache2*

Czysta instalacja

sudo apt-get --reinstall install apache2.2-common
sudo apt-get --reinstall install apache2
Lis
źródło
tak, musisz usunąć wszystkie powiązane pakiety, aby ponownie zainstalować pliki konfiguracyjne
hmontoliu
-1

Spróbuj tego

apt-get -f install

następnie uruchomić

sudo apt-get install apache2

Edytuj: lub ewentualnie

sudo apt-get purge apache2
sudo apt-get install apache2
Ahmed
źródło