«Make install» перезаписывает файлы?

Я потратил некоторое время на установку более новой версии Apache2.x на моем Mac OS X 10.6.8.

При настройке apache через ./configure я задал макет Darwin. Этот макет предполагает настройку пути существующей установки apache, чего я хочу, так как моя цель – заменить старый.

Я запустил make, затем, конечно, sudo make install.

Я проверил версию apache, выполнив

apachetcl -v 

и я получил

 Server version: Apache/2.4.1 (Unix) Server built: Mar 31 2012 01:52:54 

И это хорошо. Но вот здесь странная часть. Я проверил «старый» файл httpd.conf в файле / etc / apache2 и имел старую дату модификации.

Я действительно не понял этого до тех пор, пока не попробовал запустить apache. Apache попытался загрузить некоторые расширения, которые не были совместимы с новой версией.

Это привело меня к проверке каталога / usr / libexec / apache2, и я увидел, что модули не были недавно изменены, за исключением двух или трех. По сути, sudo make install не перезаписывал все возможные файлы.

 What is the convention here? Should make install overwrite everything or not? 

Я предполагаю, что это зависит от того, как разработчики написали скрипт configure и Makefile.

Я закончил делать некоторые rm -rf на любых существующих серверах apache, о которых я знал, прежде чем запускать make install снова. После этого все было свежо.

One Solution collect form web for “«Make install» перезаписывает файлы?”

Вы правильно относитесь к Makefile в нем определены только то, что происходит, или сопутствующие скрипты, которые запускаются. «Лучшие практики» при обновлении программного обеспечения из источника обычно используют параметр uninstall если вы не запустили make clean или не uninstall исходный каталог установки.

Вы должны быть осторожны, хотя, если программа установила файлы за пределами /usr/local вы можете удалить файлы, которые были добавлены диспетчером пакетов. Часто основные файлы конфигурации, такие как Apache, не сбиваются и просто удаляются во время установки, они могут или сохраняются. Хотя это не всегда так. Вы можете --backup резервное копирование каждого пункта назначения с --backup опции -b или --backup для установки.

Редактирование. Глядя на Makefile.in для текущей версии httpd похоже, что некоторые из их команд cp добавляют ключ -p который сохраняет права собственности и временные метки.

  • Исправить: /usr/lib/libnssutil3.so: неопределенная ссылка на `PL_ClearArenaPool '
  • TelosB mote и TinyOS
  • Ошибка компиляции Ocaml в AIX 6.1
  • Как я могу остановить Z-оболочку от сговора, чтобы вмешаться в вывод GNU Make?
  • Linux. Проверьте параметры make-файла, с помощью которых создается текущее ядро.
  • Ошибочно думать, что правило преуспело из-за 0-размерного файла, сгенерированного перенаправлением вывода
  • Файлы с файлами Makefile с шаблоном
  • модули делают: *** /lib/modules/3.7-trunk-amd64/build: Нет такого файла или каталога
  • компиляция PHP не приводит к ошибке libpcre
  • Не указаны цели и не найден файл makefile. Стоп. Makefile ubuntu
  • сделать фатальную ошибку: openssl / sha.h: нет такого файла или каталога
  • Interesting Posts

    Эхо-вывод результатов в неустойчивом порядке в BASH

    Сообщение об ошибке на терминале, несмотря на использование символа 2>

    Автоматическое решение для уменьшения размера пакета ядра Linux во время компиляции

    Как указать задержку входа в ssh

    Измените gid определенной группы

    Нет звука из приложений cli или из zsnes

    Вопрос о записях MX и доставке почты?

    Каково значение одиночных и двойных кавычек в переменных среды?

    разделите один раздел на два, используя cfdisk (будут ли uuids на других частях оставаться одинаковыми?)

    Пример ситуации, когда инструменты, не знающие ACL, предоставили непреднамеренные permssions

    Есть ли программа просмотра PDF, способная открывать несколько документов в одном окне?

    Сделать матч рофи, как dmenu

    Как рассчитать размер списка файлов (а не каталога)?

    Установка жесткого диска с FreeBSD Live CD?

    Как катавать файл с параметрами «или»

    Linux и Unix - лучшая ОС в мире.