Этот файл описывает процесс сборки и установки CUPS из исходного кода. Для получения более подробной информации о CUPS обратитесь к файлу "README.md". Полный список изменений можно найти в файле "CHANGES.md".
Использование CUPS требует наличия стороннего программного обеспечения и драйверов принтеров. Эти компоненты обычно включены с вашей операционной системой. Apple не одобряет или не поддерживает стороннее программное обеспечение для CUPS.
Примечание: Современные версии macOS НЕ позволяют установку в директорию
/usr
при использовании стандартных настроек защиты системы Integrity Protection (SIP). Кроме того, мы не рекомендуем заменять CUPS, поставляемый вместе с macOS, поскольку:а. не все версии CUPS совместимы со всеми выпусками macOS,
б. цифровое шифрование препятствует замене системных библиотек и доступу к системному ключу шифрования (необходимому для зашифрованного использования принтера),
в. обновления программного обеспечения часто заменяют части локальной установки, что может сделать систему неработоспособной.
Apple поддерживает использование компилятора Clang, поставляемого с Xcode, для сборки CUPS на macOS.
ПЕРЕД НАЧАЛОМ
-------------Вы должны иметь ANSI-совместимые компиляторы C и C++, а также программу make и POSIX-совместимую оболочку командной строки (/bin/sh). Инструменты GNU и Bash хорошо подходят, и мы протестировали текущий код CUPS с несколькими версиями GCC, получив хорошие результаты.Makefile проекта должны работать с большинством версий программы make. Мы тестировали их с GNU make, а также с программами make, поставляемыми Compaq, HP, SGI и Sun. Пользователи BSD должны использовать GNU make (gmake), так как BSD make не поддерживает include
.
Кроме этих инструментов вам потребуется библиотека ZLIB для поддержки сжатия данных, библиотека GNU TLS для поддержки шифрования на платформах, кроме iOS, macOS или Windows, а также либо библиотека MIT (версия 1.6.3 или выше), либо Heimdal для поддержки Kerberos. CUPS будет собран и запущен даже без этих библиотек, однако вы потеряете многие возможности, предоставляемые CUPS.
На стандартной установке Ubuntu следующая команда установит необходимые зависимости:
sudo apt-get install autoconf build-essential libavahi-client-dev \
libgnutls28-dev libkrb5-dev libnss-mdns libpam-dev \
libsystemd-dev libusb-1.0-0-dev zlib1g-dev
Также обратите внимание, что CUPS не включает печатные фильтры для поддержки печати PDF или растровых изображений. Вам нужно скачать GPL Ghostscript и/или пакет фильтров печати OpenPrinting отдельно для печати на операционных системах, кроме macOS.
CUPS использует GNU autoconf, поэтому вы должны найти обычный скрипт configure
в основной директории исходного кода CUPS. Чтобы настроить CUPS для вашей системы, выполните команду:
./configure
```По умолчанию установка будет размещать программное обеспечение CUPS в директориях "/etc", "/usr" и "/var" вашей системы, что приведёт к перезаписи любых существующих команд печати на вашей системе. Используйте опцию `--prefix`, чтобы установить программное обеспечение CUPS в другое место:```
./configure --prefix=/some/directory
Примечание: Современные версии macOS НЕ позволяют установку в
/usr
с использованием стандартных настроек защиты системы (System Integrity Protection).
Чтобы просмотреть полный список вариантов конфигурации, используйте опцию --help
:
./configure --help
Если какие-либо зависимые библиотеки не установлены в стандартных местах системы (обычно это "/usr/include" и "/usr/lib"), вам потребуется установить переменные окружения CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS и LDFLAGS до запуска скрипта configure:
setenv CFLAGS "-I/some/directory"
setenv CPPFLAGS "-I/some/directory"
setenv CXXFLAGS "-I/some/directory"
setenv DSOFLAGS "-L/some/directory"
setenv LDFLAGS "-L/some/directory"
./configure ...
или:
CFLAGS="-I/some/directory" \
CPPFLAGS="-I/some/directory" \
CXXFLAGS="-I/some/directory" \
DSOFLAGS="-L/some/directory" \
LDFLAGS="-L/some/directory" \
./configure ...
Опция --enable-debug
компилирует CUPS с включенными данными отладки. Дополнительную поддержку логирования отладки можно включить с помощью опции --enable-debug-printfs
. Эти сообщения отладки могут быть включены при помощи переменных окружения CUPS_DEBUG_xxx
.
CUPS также включает широкий набор модульных тестов, которые можно использовать для поиска и диагностики различных распространённых проблем — используйте опцию --enable-unit-tests
для запуска этих тестов во время сборки.
На macOS используйте опцию --with-archflags
для сборки с правильным набором архитектур:
./configure --with-archflags="-arch i386 -arch x86_64" ...
```После настройки просто выполните команду:
выполните ENTER
или если у вас FreeBSD, NetBSD или OpenBSD, введите:
gmake ENTER
чтобы скомпилировать программное обеспечение.
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
-------------------------------------
Кроме встроенных модульных тестов, CUPS включает автоматическую систему тестирования для проверки всего печатного комплекса. Чтобы запустить тесты, просто введите:
make check ENTER
или если у вас FreeBSD, NetBSD или OpenBSD, введите:
gmake check ENTER
Система тестирования запускает копию распорядчика CUPS (cupsd) на порту 8631 в `/tmp/cups-$USER` и создаёт красивый отчёт в формате HTML с результатами.
УСТАНОВКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
----------------------------------
После сборки программного обеспечения вам потребуется его установить. Целевой объект `install` предоставляет быстрый способ установки программного обеспечения на вашей локальной системе:
make install ENTER
или для FreeBSD, NetBSD или OpenBSD:
gmake install ENTER
Используйте переменную `BUILDROOT` для установки в альтернативную корневую директорию:
make BUILDROOT=/some/other/root/directory install ENTER
Вы также можете создать двоичные пакеты, которые можно установить на других машинах, используя спецификационный файл RPM (`packaging/cups.spec`) или список файлов EPM (`packaging/cups.list`). Последний также поддерживает создание двоичных пакетов RPM, поэтому он может быть более удобным для использования.Вы можете найти программное обеспечение RPM по адресу:
http://www.rpm.org/
Программное обеспечение EPM доступно по адресу:
https://michaelrsweet.github.io/epm
СОЗДАНИЕ ДВОЙНЫХ РАСПОЗНАВАТЕЛЕЙ С ПОМОЩЬЮ EPM
------------------------------------------------
Основной файл Makefile поддерживает генерацию многих типов двойных распознавателей с помощью EPM. Чтобы создать двойной распознаватель, введите:
make <format> ENTER
или
gmake <format> ENTER
для FreeBSD, NetBSD и OpenBSD. Объект <format> один из следующих:
- "epm": Создает скрипт + tarfile пакет
- "bsd": Создает пакет BSD
- "deb": Создает пакет Debian
- "pkg": Создает пакет Solaris
- "rpm": Создает пакет RPM
- "slackware": Создает пакет Slackware
ПОЛУЧЕНИЕ ЛОГИРОВАНИЯ В КОНСОЛИ ОТ CUPS
----------------------------------------
Перевод:
Вы можете найти программное обеспечение RPM по адресу:
http://www.rpm.org/
Программное обеспечение EPM доступно по адресу:
https://michaelrsweet.github.io/epm
Создание двойных распознавателей с помощью EPM
------------------------------------------------
Основной файл Makefile поддерживает генерацию различных типов двойных распознавателей с помощью EPM. Чтобы создать двойной распознаватель, выполните команду:
make <формат> ENTER
или
gmake <формат> ENTER
для FreeBSD, NetBSD и OpenBSD. Объект `<формат>` может быть одним из следующих:
- `"epm"`: создаёт скрипт + tarfile пакет
- `"bsd"`: создаёт пакет BSD
- `"deb"`: создаёт пакет Debian
- `"pkg"`: создаёт пакет Solaris
- `"rpm"`: создаёт пакет RPM
- `"slackware"`: создаёт пакет Slackware
Получение логирования в консоли от CUPS
----------------------------------------Когда конфигурация выполняется с помощью опции `--enable-debug-printfs`, CUPS компилируется с дополнительной поддержкой отладочного логирования в распорядчике, CUPS API и CUPS Imaging API. Следующие переменные окружения используются для включения и контроля отладочного логирования:
- `CUPS_DEBUG_FILTER`: Указывает POSIX регулярное выражение для контроля над теми сообщениями, которые записываются в журнал.
- `CUPS_DEBUG_LEVEL`: Указывает число от 0 до 9 для контроля за подробностью журналирования. По умолчанию уровень равен 1.
- `CUPS_DEBUG_LOG`: Указывает файл журнала для использования. Укажите имя "-", чтобы отправлять сообщения в stderr. Предварите имя файла с "+" для добавления к существующему файлу. Вы можете включить одно "%d" в имя файла для встраивания текущего идентификатора процесса.
ЗАПОЛНЕНИЕ ОБСУЖДЕНИЙ ПРОБЛЕМ
-------------------------------Если у вас возникли проблемы, сначала *проверьте документацию*! Если документация
не решает ваши проблемы, пожалуйста, опубликуйте сообщение на форуме пользователей по адресу:
https://www.cups.org/
Укажите вашу операционную систему и её версию, компилятор и его версию, а также любые ошибки
или проблемы, с которыми вы столкнулись. Файл "config.log", вывод скрипта configure и команды make
также следует отправить, так как это часто помогает в определении причины ваших проблем.
Если вы используете версию Linux, обязательно предоставьте информацию о вашей линуксовской дистрибутиве.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )