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?


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.


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


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.