Получите версию пакета файла

Сценарий установки Devtools является небольшим багги. Можно установить его довольно легкий, просто клонировав код от мерзавца и создать символьную ссылку на phalcon.php.

  1. перейдите к некоторой папке (позвольте, говорят, что это - домашняя папка пользователя), и клонируйте devtools с:

    CD ~
    клон мерзавца https://github.com/phalcon/phalcon-devtools.git

  2. создайте символьную ссылку и изменение, это - полномочия:

    ln-s ~/phalcon-devtools/phalcon.php/usr/bin/phalcon
    chmod ugo+x/usr/bin/phalcon

И это должно быть этим. При выполнении phalcon в терминале, он должен дать Вам список команд. Если это жалуется на phalcon, не установленный, то необходимо добавить строку

extension=phalcon.so

к php.ini Вашего cli, так как Вы, вероятно, изменили просто php.ini апача или безотносительно сервера, который Вы используете.

3
31.07.2014, 03:28
2 ответа

Сначала вы можете узнать, какой пакет предоставляет файл:

dpkg -S /path/to/file

Затем вы можете загрузить текущую версию пакета.

apt-get download package-name

Если по какой-то причине вам нужна версия пакета, которую вы изначально установили, вам нужно будет найти ее в журналах APT в / var / log / apt / или ] /var/log/dpkg.log* (если они еще не постарели). Определив номер версии или дату, вы можете найти ее на snapshot.debian.org (Debian) или Launchpad (Ubuntu).

После того, как вы загрузили пакет .deb , вы можете извлечь его во временный каталог с помощью

dpkg-deb -x package_name-1.42.deb

. Если вы хотите распечатать содержимое только одного файла, вы можете использовать

dpkg-deb --fsys-tarfile package_name-1.42.deb | tar xO ./path/to/file

Вы можете скопировать содержимое на место, но помните, что некоторые файлы должны иметь определенные разрешения. Чтобы извлечь файл с нужными разрешениями, вам необходимо извлечь его как root. Вы можете использовать dpkg-deb -x , а затем скопировать файл:

# as root
dpkg-deb -x package_name-1.42.deb
cp -p path/to/file /path/to/file

Или вы можете извлечь архив (замените sudo на su или любым другим способом используйте для получения root):

dpkg-deb --fsys-tarfile package_name-1.42.deb | sudo tar x -C / ./path/to/file

В качестве альтернативы вы можете переустановить весь пакет. Если файл является conffile (т.е.если он помечен как файл конфигурации для сохранения при обновлении), вам потребуется указать dpkg восстановить измененный или отсутствующий файл. Немного проще иметь дело с отсутствующим файлом conffile, потому что вы можете захотеть сохранить изменения в других файлах conffile. Поэтому, если файл представляет собой файл конфигурации, который вы изменили и хотите восстановить до его первоначального состояния, сначала переименуйте свою версию, чтобы файл не существовал. Затем запустите

dpkg -i --force-confmiss package_name-1.42.deb

. Вы можете использовать apt-get , чтобы загрузить и переустановить пакет за один раз. Если вы хотите восстановить конфигурацию, дайте команду apt-get передать дополнительный параметр в dpkg .

apt-get --reinstall -o 'DPkg::options="--force-confmiss"' install package_name

Чтобы избежать этой и других трудностей в будущем, установите etckeeper ( apt-get install etckeeper ), отредактируйте /etc/etckeeper/etckeeper.conf чтобы выбрать вашу любимую поддерживаемую систему контроля версий, и запустите etckeeper init .Изменения в / и т.д. будут сохранены в системе контроля версий. Запустите etckeeper commit со значимым сообщением журнала при изменении файлов конфигурации. Затем, если вы хотите отменить изменение в / etc , вы можете восстановить старую версию затронутого файла.

3
27.01.2020, 21:19

Короткий ответ - да. Так как /etc в основном содержит конфигурационные файлы, вы должны иметь возможность загрузить пакет .deb, распаковать файлы, а затем скопировать файл в нужный каталог.

mkdir ~/temp
dpkg -x somepackage.deb ~/temp/
cp ~/temp/somefile /etc

Будет ли ванильный файл сконфигурирован правильно или нет - это другой вопрос.

1
27.01.2020, 21:19

Теги

Похожие вопросы