Как установить PHP 7.3 на веб-сервере Arch Linux
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер с доступом Apache или Nginx Sudo. Команды требуют
Пакет Devtools изначально был создан для доверенных пользователей, чтобы правильно создавать пакеты для официальных репозиториев. Тем не менее, он может использоваться как обычными пользователями, так и для создания пакетов AUR или даже модифицированных официальных пакетов.
Обратитесь к этому руководству для понимания и использования AUR в целом, включая получение PKGBUILD
. Этот документ показывает только шаги, специфичные для Devtools, если это метод, который вы выбрали для компиляции пакета.
Devtools поддерживает отдельную чистую установку Arch, расположенную в /var/lib/archbuild/<TARGET>/root
, которая содержит только группы пакетов base
и base-devel
. Если эта чистая установка не существует, она автоматически создает ее. Если он существует, он автоматически обновляет все пакеты в нем. Когда Devtools используется для сборки пакета, он запускается с копии этой чистой установки, устанавливает необходимые пакеты только в копию, копирует в нее исходный код, выполняет в нем компиляцию и упаковку и только копирует полученный пакет, в том же виде, что и в официальных репозиториях.
У Devtools есть свои преимущества перед makepkg
непосредственным запуском . Одним из преимуществ является то, что base-devel
и другие пакеты, необходимые для компиляции, но не для запуска, пакет, который вы делаете, никогда не попадет в вашу основную систему. Это меньше пакетов, которые нужно периодически обновлять, и есть проблемы. Несмотря на то, что в первую очередь преимущество для сопровождающих пакетов Arch, этот процесс легко раскрывается, когда PKGBUILD
неверно a , например, если в списке пропущена зависимость, которая, как оказалось, сопровождающая уже установлена в их основной системе. Вы также можете использовать компьютер, который быстрее собирает пакеты, и скопировать полученный пакет на более медленный компьютер, который будет его запускать, не загрязняя установку строительного компьютера.
Основным недостатком является то, что всегда есть чистый корень, занимающий около 800 МБ, и обычно одна копия занимает больше места. Обратите внимание, что если /var/lib/archbuild/
используется Btrfs, копия чистого корня начинаетс�� со снимка Btrfs, поэтому эти файлы не занимают двойного пространства. Чистый корень всегда хранится там, чтобы не переустанавливать его каждый раз при создании пакета.
Установите Devtools:
# pacman -S devtools
Devtools включает в себя создание пакета, archbuild
но вы не запускаете его напрямую. Он также включает в себя символические ссылки {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build
. Символьная ссылка, используемая для запуска, будет проверена archbuild
, чтобы определить, какую цель вы хотите использовать. Он может быть запущен для использования этих нестабильных / промежуточных / тестовых репозиториев, которые могут иметь более новые версии, чем выпущенные в официальных репозиториях. Чтобы использовать официальные репозитории для пакетов не AUR, в каталоге с PKGBUILD
, например, каталогом, созданным пользователем git clone
, выполните следующее:
$ extra-x86_64-build
Примечание: остальная часть этого руководства будет просто ссылаться на extra-x86_64-build
.
После того, как он завершит работу, будут получены следующие результаты:
/var/lib/archbuild/extra-x86_64/root
- Чистый chroot , который является современной установкой только с группами пакетов base
и base-devel
./var/lib/archbuild/extra-x86_64/<USERNAME>
- Это будет содержать сборку chroot . Это копия чистого chroot со всеми зависимостями, необходимыми для сборки или запуска создаваемого пакета, а также с его исходным кодом, результатами компиляции и пакетом.В конце вы можете заметить « Checking PKGBUILD
» и « Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
». Любые строки после них выводятся из namcap
, что автоматически ищет проблемы, такие как искаженные PKGBUILD
файлы, зависимости, включенные в то, что пакет, по-видимому, не использует, зависимости, не включенные в то, что пакет использует, и многое другое. Ложные срабатывания часто генерируются namcap
, но это отличный инструмент для того, чтобы дать информацию для расследования. Если ваш пакет работает правильно, не стоит предупреждать сопровождающего о namcap
выводе, если вы не изучили его и не убедились, что необходимо внести изменения.
Вы можете использовать pacman
для установки пакета, который установит все зависимости, необходимые для запуска пакета, если они находятся в официальных репозиториях или локальном репозитории.
Либо используйте локальный репозиторий, как описано здесь , либо установите файл напрямую:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Если вам нужно будет запустить extra-x86_64-build
снова, прямо сейчас или в любое время позже с этим или другим пакетом, он обновит чистый chroot, если необходимо, удалит сборочный chroot и сделает его новой копией чистого chroot, и выполнит тот же процесс. Если в вашем каталоге все еще есть исходный код, загруженный с прошлого раза, он будет использовать его. Если пакет является развивающим пакетом AUR, он будет извлекать новые изменения, а не перекодировать.
Внутренне extra-x86_64-build
работает makechrootpkg
, что внутренне вызывает makepkg
. Варианты для extra-x86_64-build
включают в себя следующее:
-c
: Очистите chroot, удалив и воссоздав весь /var/lib/archbuild/extra-x86_64/
каталог, включая его чистый chroot и все каталоги сборки chroot. Это редко требуется, только если чистый chroot поврежден или Devtools обновлен таким образом, что нарушает обратную совместимость.-r <dir>
: Используйте другой каталог, чем /var/lib/archbuild/extra-x86_64/
для хранения chroot.Все аргументы extra-x86_64-build
после --
передаются makechrootpkg
, когда он внутренне использует его. Несколько аргументов всегда автоматически передаются из extra-x86_64-build
в makechrootpkg
. Эти автоматические аргументы есть -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n
. Они говорят makechrootpkg
удалить chroot сборки и сделать его новой копией чистого chroot, и запускать namcap
пакет, если он успешно собирается. Широко используемый вариант , который может быть передан makechrootpkg
в -l <copy name>
. Это имя каталога, чтобы вместо него использовать chroot сборки <USERNAME>
, что полезно для поддержки нескольких копий или компиляции нескольких пакетов одновременно.
Все аргументы makechrootpkg
после --
передаются makepkg
, когда он внутренне использует его для сборки пакета. Первый раз makepkg
запускается makechrootpkg
с помощью своих собственных неизменяемых опций, чтобы загружать исходные файлы, если необходимо, и выполнять проверки целостности; таким образом, ничто не может быть передано в этом пробеге. Он запускается makepkg
во второй раз для сборки пакета и всегда автоматически передает makepkg
аргументы, --syncdeps --noconfirm --log --holdver --skipinteg
которые говорят, makepkg
чтобы в пределах chroot сборки автоматически установить недостающие зависимости, необходимые для сборки и использования пакета, не запрашивать подтверждения во время pacman
, записать процесс сборки в текст в дополнение к файлам stdout
, не обновляйте исходный код, если в системе контроля версий, и не выполняйте проверки исходного файла.
Вы можете связать их вместе, используя следующую форму:
$ extra-x86_64-build <DEVTOOLS-OPTIONS> -- <MAKECHROOTPKG-OPTIONS> -- <MAKEPKG-OPTIONS>
Обратите внимание, что /var/lib/archbuild
это можно рассматривать как временный каталог. Если у вас несколько жестких дисков Vultr, стоит смонтировать здесь файловую систему RAID0 (полоса). Если у вас много ОЗУ, вы также можете смонтировать файловую систему с поддержкой ОЗУ, например tmpfs
. После того, как пакет собран, он копируется в каталог, из которого вы запустились, extra-x86_64-build
и, если вы хотите, в этот момент вы можете удалить его /var/lib/archbuild
. Следующий запуск будет медленнее, потому что для этого потребуется создать новый чистый корень. Кроме того, вы можете удалить, /var/lib/archbuild/<USERNAME>
чтобы освободить дополнительное пространство из chroot сборки, прежде чем он будет автоматически удален при следующем запуске Devtools. Таким образом, даже если у вас не получится смонтировать файловую систему RAID0, самое большое, что вы потеряете, - это процесс компиляции.
Есть несколько особенностей, которые следует отметить с файлами конфигурации Devtools. Они расположены в /usr/share/devtools/
, таких как makepkg-x86_64.conf
и pacman-extra.conf
:
/etc
таких файлов, как makepkg.conf
и pacman.conf
, вы можете безопасно редактировать их на месте, и при обновлении пакета ваши изменения не будут перезаписаны. Скорее он сохранит новые файлы конфигурации (если они изменились по сравнению с предыдущей версией), заканчивающиеся на .pacnew
. Тем не менее, файлы конфигурации Devtools /usr/share/
не предназначены для редактирования пользователем, поэтому при обновлении Devtools он полностью перезапишет ваши изменения этих файлов без предупреждения. Изменение в этом поведении было предложено и отклонено, потому что это помогает гарантировать, что пакеты отправляются в официальные репозитории с одинаковыми настройками компиляции.MAKEFLAGS
, PACKAGER
и {SRC,SRCPKG,PKG,LOG}DEST
взяты из, /etc/makepkg.conf
а не /usr/share/devtools/makepkg-x86_64.conf
.Если вы собираете пакеты, которые имеют зависимости от других пакетов, которые вы собрали, вам нужно использовать локальный репозиторий, чтобы при pacman
запуске в пределах chroot сборки он обнаруживал зависимости.
Чтобы настроить локальный репозиторий, обратитесь к разделу «Локальный репозиторий» данного руководства .
Создайте пользовательскую цель:
# ln -s archbuild /usr/bin/custom-x86_64-build
# cp /usr/share/devtools/pacman-{extra,custom}.conf
Отредактируйте /usr/share/devtools/pacman-custom.conf
и добавьте следующее в конце:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
Отредактируйте /etc/pacman.conf
и добавьте следующее. Это заставляет каталог быть подключенным в chroot:
CacheDir = /var/cache/pacman/pkg/ /archLocalRepo/
Теперь вместо использования extra-x86_64-build
используйте это:
$ custom-x86_64-build
Если вы всегда хотите использовать пользовательскую цель, вы можете удалить /var/lib/archbuild/extra-x86_64-build/
каталог, если он существует, поскольку chroot теперь будет в /var/lib/archbuild/custom-x86_64-build/
.
Обратите внимание, что включение многопоточной упаковки включает в себя редактирование /usr/share/devtools
файлов конфигурации, которые официально не поддерживаются, поэтому вам придется вносить эти изменения при каждом обновлении Devtools.
Devtools объединяет весь пакет в формат архива. По умолчанию .tar.xz
используется один поток для xz
сжатия.
В многопроцессорных системах вы можете разрешить xz
использовать несколько потоков путем редактирования /usr/share/devtools/makepkg-x86_64.conf
и изменить следующую строку:
COMPRESSXZ=(xz -c -z -)
Чтобы разрешить столько потоков, сколько у вас есть виртуальных ядер:
COMPRESSXZ=(xz -c -z - --threads=0)
Чтобы разрешить использование нескольких виртуальных ядер, но не всех, чтобы уменьшить влияние на общую производительность системы, добавьте конкретное число:
COMPRESSXZ=(xz -c -z - --threads=21)
Указание большего количества потоков, чем количество имеющихся у вас виртуальных ядер, снизит производительность.
Если вы не возражаете против того, чтобы файл пакета был (возможно, намного) больше, отключите сжатие путем редактирования /usr/share/devtools/makepkg-x86_64.conf
и измените следующую строку:
PKGEXT='.pkg.tar.xz'
Измените его, чтобы он выглядел следующим образом:
PKGEXT='.pkg.tar'
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер с доступом Apache или Nginx Sudo. Команды требуют
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo Требуются команды t
В этом руководстве объясняется, как настроить сервер Mumble (Murmur) в Arch Linux. Все, что сделано в этом уроке, сделано от имени пользователя root. Установка
Vultr предоставляет вам удивительные функциональные возможности, позволяющие вам использовать собственное изображение в дополнение к их отличным шаблонам, которые позволяют вам запускать
Предисловие Arch Linux - это дистрибутив общего назначения, известный своими передовыми технологиями и гибкой конфигурацией. С снимками Btrfs мы можем взять
Из этого туториала Вы узнаете, как настроить сервер Counter-Strike: Global Offensive в Arch Linux. В этом руководстве предполагается, что вы вошли со стандартным использованием
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo. Команды, необходимые для запуска с правами root, начинаются с префикса #, и один
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo. Команды, необходимые для запуска от имени пользователя root, начинаются с префикса #. Th
Введение Arch Linux имеет меньшие, но все же сильные, следующие более популярные дистрибутивы. Его философия совершенно другая, с преимуществами и
Если вы используете makepkg напрямую, это несколько загрязняет вашу систему. Группа пакетов base-devel должна быть установлена. Таким образом, по умолчанию зависимости нужны только
В этом руководстве объясняется, как настроить сервер Team Fortress 2 в Arch Linux. Я предполагаю, что вы вошли в систему с учетной записью пользователя без полномочий root с доступом sudo
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux. Смотрите это руководство для получения дополнительной информации. Доступ в судо. Команды, необходимые для запуска от имени пользователя root
В этом руководстве объясняется, как настроить сервер Minecraft с помощью Spigot в Arch Linux. В этом руководстве предполагается, что вы обычный пользователь (не root) и имеете
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo: требуются команды
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью) Доступ к Sudo: Команды, необходимые для запуска с правами root, начинаются с префикса #, а один
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo: Команды, необходимые для запуска с правами root, начинаются с префикса #, а один
На Arch Linux официальными репозиториями являются: core, extra и community. Эти пакеты уже скомпилированы, и они устанавливаются через pacman. Для го
Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo: требуются команды
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше