Страница 1 из 1

Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 12:41:32
Gamerman
При установке с портов делал и так и так. Разницу не увидел. В чем разница?

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 13:34:18
BirdGovorun
man ports

Код: Выделить всё

reinstall        Use this to restore a port after using pkg_delete(1)
                      when you should have used deinstall.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 13:44:42
Gamerman
А разве install в таком случае себя по иному ведет?

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 14:19:54
zingel

Код: Выделить всё

man ports

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 14:34:25
Gamerman
Почитал:
install
Установка и регистрация порта в системе пакетов.
Ето все что вам нужно

reinstall
Переустановка порта после pkg_delete или deinstall.

Если я после деинсталяции использую make install - пакет ставиться.
Если я на чистой системе делаю впервые make reinstall - пакет ставиться.

Если результат выполнения одинаков, то я не вижу разницы.
Приведите пример, когда результат будет разным.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 15:44:59
gloom
когда пакет установлен а его надо пересобрать (например с другими опциями)
reinstall соберет его и попробует установить
ругнется если хотите установить деинсталируйте установленый иснова запустите reinstall

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 15:52:51
Gamerman
gloom писал(а): попробует установить
ругнется если хотите установить деинсталируйте установленый иснова запустите reinstall
Он ругается что в первом что во втором варианте.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 15:59:28
BirdGovorun
Если разницы не было, был-бы один install
reinstll-ом пользуюсь в одном случае, если в порту сделал make config

Код: Выделить всё

# make reinstall -D FORCE_PKG_REGISTER

Код: Выделить всё

# make install -D FORCE_PKG_REGISTER
не срабатывает
И если установили порт так:

Код: Выделить всё

#make install
и потом удалили:

Код: Выделить всё

#make deinstall
и сделали

Код: Выделить всё

#make reinstall  
то порт восстановится за несколько секунд.
а если сделали

Код: Выделить всё

#make deinstall clean
сборка порта пойдет по новой.
Вот выдержка из РукоКниги

Код: Выделить всё

# cd /usr/ports/sysutils/lsof
# make deinstall
===>  Deinstalling for lsof-4.57

Это было достаточно легко. Вы удалили lsof из вашей системы. Если вам захочется переустановить эту программу, то это можно будет сделать, выдав команду make reinstall из каталога /usr/ports/sysutils/lsof.

Последовательность команд make deinstall и make reinstall не сработает, если вы запустите команду make clean. Если вы хотите убрать порт из системы после очистки каталога, используйте команду pkg_delete(1), как это описано в разделе о пакетах Руководства.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:09:28
Gamerman
BirdGovorun писал(а):Если разницы не было, был-бы один install
Так я это и хочу понять, я ж не спорю :)
BirdGovorun писал(а): reinstll-ом пользуюсь в одном случае, если в порту сделал make config

Код: Выделить всё

# make reinstall -D FORCE_PKG_REGISTER

Код: Выделить всё

# make install -D FORCE_PKG_REGISTER
не срабатывает
Стараюсь не пользоваться -D FORCE_PKG_REGISTER. Но если это так, то спасибо за пример.
BirdGovorun писал(а): И если установили порт так:

Код: Выделить всё

#make install
и потом удалили:

Код: Выделить всё

#make deinstall
и сделали

Код: Выделить всё

#make reinstall  
то порт восстановится за несколько секунд.
а если сделали

Код: Выделить всё

#make deinstall clean
сборка порта пойдет по новой.
После clean обе команды будут работать долго, потому что будет все пересобираться.
BirdGovorun писал(а): Вот выдержка из РукоКниги

Код: Выделить всё

# 
Последовательность команд make deinstall и make reinstall не сработает, если вы запустите команду make clean. 
Что значит не сработает? Часто так делаю и все срабатывает.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:17:15
Gamerman
В принципе логику немного понял, того примера хватило. При установленом пакете имеем:

Код: Выделить всё

ks***# make install
ks***# make reinstall
===>  Installing for wget-1.11.4_1
===>   wget-1.11.4_1 depends on file: /usr/local/lib/libcrypto.so.5 - found
===>   wget-1.11.4_1 depends on shared library: intl - found
===>   Generating temporary packing list
===>  Checking if ftp/wget already installed
===>   wget-1.11.4_1 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of ftp/wget
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1
По ходу такой вопрос.
Бывает ли, чтобы

Код: Выделить всё

# make  deinstall
удалял конф-файлы? Если да, то как об этом узнать и делать реинсталяцию?
Или лучше, всегда использовать

Код: Выделить всё

# make reinstall -D FORCE_PKG_REGISTER
?

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:38:52
BirdGovorun
Вот выдержка из РукоКниги
Последовательность команд make deinstall и make reinstall не сработает, если вы запустите команду make clean.
Что значит не сработает? Часто так делаю и все срабатывает.
Это значит будет собираться по новой, а не за несколько секунд восстановится.

Код: Выделить всё

# make reinstall -D FORCE_PKG_REGISTER
Не трогает конфиги и проблем не было, по крайней у меня.

Код: Выделить всё

# make  deinstall
Наверное от порта зависит , удалять конфиги или нет, я обычно их копирую на всякий случай.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:42:37
Gamerman
BirdGovorun писал(а): Это значит будет собираться по новой, а не за несколько секунд восстановится.
Понятно.
BirdGovorun писал(а):

Код: Выделить всё

# make  deinstall
Наверное от порта зависит , удалять конфиги или нет, я обычно их копирую на всякий случай.
Я тоже копирую.
Спасибо.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:47:07
Гость
Gamerman писал(а):Или лучше, всегда использовать

Код: Выделить всё

# make reinstall -D FORCE_PKG_REGISTER
?
лучше никогда не использовать. При использовании FORCE_PKG_REGISTER файлы от старого релиза не удаляются, так и останутся лежать мусором. Например, функционал отдельной программы переместили в общую утилитку или данные из одной подпаки переместили в другую (документацию или локализацию из share/foo/ в share/doc/foo/ и share/locale/).

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 16:55:59
Гость
да и reinstall от install отличается только удалением INSTALL_COOKIE. Толк есть только при запоротой инсталяции, когда предыдущий install не все файлы установил. Вот тогда - да, есть смысл использовать FORCE_PKG_REGISTER.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 17:01:31
Гость
BirdGovorun писал(а):man ports

Код: Выделить всё

reinstall        Use this to restore a port after using pkg_delete(1)
                      when you should have used deinstall.
если использовать pkg_delete(1), то INSTALL_COOKIE внутри WRKDIR не удаляется. Т.е. повторная инсталяция не сработает. *_COOKIE являются затычками, чтобы make(1) знал какие цели уже выполнены.

Но можно всегда делать

Код: Выделить всё

$ make deinstall install
тогда "печенька" будет всегда вычищаться. Так делают portmaster/portupgrade.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 17:02:35
Gamerman
лучше никогда не использовать
Понятно.
Но так как есть пакеты, которые перезаписывают файлы настроек поверх старых, желательно таки делать их копии. Или таких пакетов уже нет?
Знаю, что "дружелюбные" пакеты проверяют наличие файлов конфигурационных или сами файли имеют другое расширение. Но также знаю, что были (а может и есть) такие, которые пишут поверх.

Re: Какая разница между make install i make reinstall?

Добавлено: 2009-10-29 17:37:25
Гость
Gamerman писал(а):Но так как есть пакеты, которые перезаписывают файлы настроек поверх старых, желательно таки делать их копии. Или таких пакетов уже нет?
есть, наверное. Можешь написать PR.
Обычно файлы конфигурации копируются с расширением .sample. Иногда такой файл копируются рядом без суффикса .sample и удаляется только тогда, когда не было в нем изменения согдасно

Код: Выделить всё

$ cmp foo.conf.sample foo.conf
иначе файл вообще не трогается.
Gamerman писал(а):Но также знаю, что были (а может и есть) такие, которые пишут поверх.
такие лучше отстреливать из PR-gun'а ;)