Alpine 3.8.0: Установка приложения, ошибка: "Невозможно создать метаданные ORC для CONFIG_UNWINDER_ORC=y"

Проблемы OP с PNG-файлами совпадают с моим опытом использования groff для справочной страницы xterm и документации по управляющим последовательностям. Проблема в том, что groff пытается визуализировать таблицы как изображение, вырезанное из файла PDF, и что в нем уже несколько лет есть ошибки.Хотя я использовал Perl-скрипт man2html с 1990-х годов для документации ncurses, для других программ мне было проще сгенерировать специальные html- и pdf-файлы с помощью groff. PDF-файлы работают нормально; файлы html этого не делают.

В то же время у Perl-скрипта были свои проблемы.

Поскольку ни то, ни другое не исчезло (и поскольку предложенные альтернативы не были улучшением из-за добавления зависимостей или введения других ограничений), я решил проблему, внося улучшения в man2html (помимо тех, которые я внес в в течение нескольких лет) и добавил новую опцию скрипта configure для каждой программы, позволяющую использовать groff в качестве конвертера man-страницы по умолчанию в html, но с использованием man2html, когда я установил эту опцию. Сделав это, в этом году я удалил все HTML-файлы, созданные groff, с моего веб-сайта . На веб-сайте есть страница "man2html" , где это документируется; фактический сценарий доступен на моей странице различных сценариев .

Похоже, что некоторые из предложений и комментариев не заметили, что есть (по крайней мере) две программы с именем man2html:

  • Perl-скрипт Эрла Гуда (ссылка на @ criveti-mihai ), и
  • программа на языке C, первоначально написанная Ричардом Верховеном (и использованная в примере, приведенном @ criveti-mihai ).

Программа C выполняет собственное форматирование, не полагаясь на nroff / groff / что-то еще. Он может читать страницу руководства со стандартного ввода или в виде реального файла (среди прочего - см. Его страницу руководства ). Учитывая справочную страницу nroff-syntax "foo.1 ", вы можете отформатировать его, используя любую из этих команд:

man2html - foo.1.html
cat foo.1 |man2html - >foo.1.html
man2html foo.1 >foo.1.html

Сценарий Perl читает отформатированные страницы руководства, например, из nroff (который, на вопрос OP, является оболочкой для groff ). Вы можете использовать его так:

nroff -man foo.1 |man2html >foo.1.html

Я исследовал использование программы C в качестве альтернативы сценарию Perl, но отказался от нее, потому что

  • она не дает хорошего ] по форматированию вывода. При быстрой проверке с помощью файла terminfo.5 ncurses я вижу ошибки в форматировании вывода.
  • программа C имеет встроенное понятие макросов страницы руководства, которое не охватывает различные случаи (включая написание новых макросов), которые мне нужны для страниц руководства на моем веб-сайте.

Между прочим, он действительно обрабатывает множественные перенаправления, используемые в этом файле (что является проблемой с устаревшим troff - причина, по которой инструкции по установке ncurses рекомендуют использовать groff за последние 20 лет).

2
12.07.2018, 12:08
4 ответа

Вы хотите передать файл (, если это файл ), или части каталога (, если это каталог ).

if ! scp user@host:/path/to/dir-or-file local/path
then
    scp user@host:/path/to/dir-or-file/some-specific-file local/path
fi

Если scpуказано передать каталог без опции -r, это не удастся. Вы можете использовать это, чтобы определить, является ли данный путь на удаленном хосте каталогом или нет, а затем вызвать scpвторой раз, чтобы получить определенные файлы внутри каталога, если первый scpне смог получить путь как имя пути. файл.

Конечно, если вы хотите передать весь каталог (, если это каталог ), вы можете просто сделать

scp -r user@host:/path/to/dir-or-file local/path

, который будет работать независимо от того, указан ли путь к каталогу или файлу.

6
27.01.2020, 21:51

Вы можете запустить следующую команду:

ssh user@host file /path/to/dir-or-file

Результат будет одним из возможных типов файлов:

/path/to/dir-or-file: directory
/path/to/dir-or-file: symbolic link to `whatever'
/path/to/dir-or-file: UTF-8 Unicode text
/path/to/dir-or-file: ELF 64-bit LSB executable... 
....

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

ssh user@host test -d /path/to/dir-or-file
if [ $? -eq 0 ]; then 
  echo this is a dir
else 
  echo this is not a dir
fi
2
27.01.2020, 21:51

Эта информация также доступна в выводе ls :первый символ в первом столбце :"d" для каталога "l" для ссылок

-1
27.01.2020, 21:51

Один быстрый и грязный подход, если вы не возражаете против сообщения об ошибке и вам нужно только скопировать не -точечные файлы, это

scp -p asuser@host:'/path/to/dir-or-file/*' asuser@host:'/path/to/dir-or-file'.

Точка в конце копирует удаленные файлы в текущий каталог. Отрегулируйте по вкусу. Флаг -pсохраняет отметку времени и разрешения. Опустите, если они не требуются.

1
27.01.2020, 21:51

Теги

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