Архив рубрики «FreeBSD»

PostHeaderIcon RuTorrent и PHP8

После обновления php с 5.7 до 8.1 перестали добавляться закачки в RuTorrent  с ошибкой в логе

2023/01/09 06:48:24 [error] 12716#100281: *1667 FastCGI sent in stderr: «PHP message: PHP Warning: Cannot modify
header information — headers already sent in /usr/local/www/rutorrent/php/addtorrent.php on line 135PHP message:
PHP Warning: Cannot modify header information — headers already sent in /usr/local/www/rutorrent/php/addtorrent
.php on line 138″ while reading upstream, client: 91.202.207.206, server: rtorrent.skielf.local, request: «POST /
php/addtorrent.php?dir_edit=%2Fusr%2Fhome%2Frtorrent%2Fdownloads%2F%D0%A4%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B%2F%D0%91%
D0%BE%D0%B5%D0%B2%D0%B8%D0%BA%2F HTTP/1.1″, upstream: «fastcgi://127.0.0.1:9000», host: «rtorrent.skielf.local»,
referrer: «http://rtorrent.skielf.local/»

Полечилось втыканием в php.ini

short_open_tag = on

Кроме того, переполз с apache на nginx, стал ловить ошибку

2023/01/09 11:25:01 [error] 19585#100327: *13 FastCGI sent in stderr: «PHP message: PHP Warning: File upload err
or — unable to create a temporary file in Unknown on line 0″ while reading response header from upstream, client:
91.202.207.206, server: rtorrent.skielf.local, request: «POST /php/addtorrent.php?dir_edit=%2Fusr%2Fhome%2Frtorr
ent%2Fdownloads%2F HTTP/1.1″, upstream: «fastcgi://127.0.0.1:9000», host: «rtorrent.skielf.local», referrer: «htt
p://rtorrent.skielf.local/»

Решилось созданием папки /tmp/http_upload, chown www:www /tmp/http_upload  и добавлением в /usr/local/etc/php-fpm.d/www.conf (ну это у меня так, у вас может быть в другом файле описаны www сервисы)

следующих строк:

env[TMP] = /tmp/http_upload
env[TMPDIR] = /tmp/http_upload
env[TEMP] = /tmp/http_upload

PostHeaderIcon nextcloud: обновление

Взялся тут обновлять свой nextcloud. Изначально стояла версия 20.0.4, в портах уже 23.0.4. Как выяснилось, обновляться через несколько мажорных версий нельзя, пришлось с помощью portdowngrade сначала получить и установить 21.0.5, а вот 22 версию portdowngrade уже не смог найти, пришлось качать дерево портов от 12.3-release и собирать оттуда. В результате уже из портов накатил 23 версию, все более-менее  нормально, однако вылезло два косяка. При обновлении до 22 версии не запускался occ с сообщением

1038 Out of sort memory, consider increasing server sort buffer size

Вылечилось выполнением запроса в консоли mysql:



SET GLOBAL sort_buffer_size=256000000

Однако, действует до перезагрузки сервера. Чтобы сделать изменения постоянными, добавляем в файл my.cnf (у меня это /usr/local/etc/mysql/my.cnf)



sort_buffer_size = 256M

Кроме того, получил ошибку

PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes)

Вылечилось добавлением строчки

apc.enable_cli=1

в файл /usr/local//etc/php/7.4/cli/conf.d/20-apcu.ini

PostHeaderIcon Google календарь — новшества

Приделывал я себе как-то Google calendar на рабочий стол во FreeBSD  и все отлично работало, описание есть в этой статье: Google календарь во FreeBSD.

Однако, затеялся я тут обновить себе все порты, и оказалось, что синтаксис запуска gcalcli немножко изменился: вместо параметра —nolineart появился параметр —lineart, у которого значение может быть  fancy, unicode,  ascii.  Параметр —military теперь обязательно должен следовать после указания временного интервала, иначе не распознается, а у calw кроме количества выводимых недель появился параметр начала, задаваемый числом месяца, без него выводится одна неделя и хоть ты тресни, пришлось использовать awk. Теперь строчка вызова для conky выглядит вот так:

${execi 300 gcalcli --nocolor --lineart=unicode calw `date|awk '{-f " "; print $2}'` 2 --military -w 12}

 

PostHeaderIcon Nextcloud и vulnxml

Решил попробовать Nextcloud,

При сборке из портов вылезла ошибка:

pkg-static: unable to open vulnxml file (null): Invalid argument

И дале жалобы на то, что порт имеет уязвимости и надо обновить дерево портов, что,  естественно, не возымело.

Гугление интернетов выдало совет сделать:

cp /usr/ports/security/vuxml/vuln.xml /var/db/pkg/

Попробовал — помогло. Ура.

PostHeaderIcon Unexpected soft update inconsistence. The following disk blocs could not be read.

Просто задрали доблестные электрики. Выключают электричество по пять раз на дню. После одного из выключений машина выпала в однопользовательский режим по причине неполадок с файловой системой корневого раздела. fsck выдал следующую ошибку:

Unexpected soft update inconsistence. The following disk blocs could not be read.

После этого сообщение «file system still dirty» и предложение перезапустит fsck, что приводит к тому же результату. Прочитать остальную часть записи »

PostHeaderIcon Туннель внутри туннеля (pptp over pptp)

Перестал у меня как-то на рабочей машине работать pptp туннель до конторы, в которой я немножко админю. А так-как там все настроено и работает как надо, и из дома доступ сохранился, то руки никак не доходили разобраться. Тогда я не связал этот отвал и обновление до FreeBSD 12. Надо заметить, что у нас доступ организован так, что в интернет я выхожу с помощью pptp туннеля, а потом внутри этого туннеля уже у меня поднимаются pptp туннели до нужных мне локальных сетей. Прочитать остальную часть записи »

PostHeaderIcon libtool: error: required file ‘./ltmain.sh’ not found

Давно не брал я в руки шашек. А тут пришлось. С полгода назад уже обновил FreeBSD с десятки сразу до двенадцатой, и попервой все было хорошо, а тут что-то после чего-то стали порты падать на сборке с ошибкой

configure.ac:35: error: required file './ltmain.sh' not found

Репу почесал, интернеты почитал, единственное распространенное обсуждение проблемы нашел в доброй старой фидошной ru.unix.bsd, радостно туда полез и увидел, что умные дядьки советуют человеку сначала переустановит libtool, а после того, как ничего не получилось, переустановить систему. Что человек и сделал. А мне лень и неохота, поэтому я полез копаться. Накопал, что этот ltmain.sh лежит где ему и положено: в /usr/local/share/libtool/build-aux

Ради интереса запустил его, получил ошибку

libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.

Пошарился по скриптам, как советуют, libtoolize, autoconf, autoreconf etc, ничего не помогло, тогда сделал следующие вещи:

Удалил libtool, удалил его папку, поставил по новой:

$ cd /usr/ports/devel/libtool $ sudo make deinstall $ sudo rm -r /usr/local/share/libtool/ $ sudo portmaster -d devel/libtool

И все заработало.

PostHeaderIcon mysql-server: пароль root

Нынче mysql сервер устанавливается сразу с назначенным паролем для root. Найти его можно в

/root/.mysql_secret

по идее, если запустить mysql от рута, то войдем без ввода пароля:

$ sudo mysql
root@localhost [(none)]>

После этого меняем пароль на привычный:
root@localhost [(none)]> use mysql
root@localhost [mysql]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

И, по желанию, отключаем ему expire, иначе, если он устареет, надо будет его менять с бОльшим количеством телодвижений. Однако, не забываем тогда иногда его менять во избежание всякого рода инцестов.

root@localhost [mysql]> ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;

PostHeaderIcon Google календарь во FreeBSD

После прочтения этой статьи, прочитайте еще и эту: «Google календарь — новшества». В ней содержатся обновления, без который ничего не заработает.

Стал я пользоваться Google calendar, потому-что удобно, он всегда в кармане в телефоне и даже на windows календарь умеет туда смотреть и напоминать всякое. Собственно, эта вот штука во вражеской ОС и натолкнула меня на хотение чего-нибудь такого же на FreeBSD. Поскакав по портам, нашел /usr/ports/gcalcli — забавная штука, выводящая календарь в консоль. После установки доступна масса команд, например: — gcalcli calw Nx, где Nx — количество недель (gcalcli calw 2 выведет две ближайшие недели); gcalcli calm — выводит месяц; gcalcli remind Nx (Nx — количество минут) оповестит о предстоящих в ближайшие Nx минут делах, о этом позднее.
Собственно, устанавливаем, запускаем gcalcli, при первом запуске он откроет нам браузер с входом в аккаунт google, где надо авторизоваться и разрешить ему доступ к календарю. Дальше начинаем работать. Прочитать остальную часть записи »

PostHeaderIcon serviio: Could not lock User prefs. Unix error code 2.

Пришлось тут поставить dlna-сервер serviio. Из коробки странно глючит, то работает, то нет. В лог пишет

[PluginCompilerThread] Plugins folder '/var/db/serviio/home/plugins' does not exist. No plugins will be compiled.

и

[prefs] Could not lock User prefs. Unix error code 2.
[prefs] Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

Все дело в том, что порт при установке хотя и создает пользователя dlna, под которым все это дело крутится, но создает его без домашней папки, отсюда грабли. На wiki проекта есть howto, как установить его под FreeBSD, но к реальности оно имеет примерно то же отношение, что и Минские соглашения, так что берем в руки напильних, к счастью, небольшой, и подпиливаем:

# mkdir /var/db/serviio/home/plugins
# chown dlna:wheel /var/db/serviio/home/plugins
# pw usermod dlna -m -d /var/db/serviio/home
# /usr/local/etc/rc.d/serviio restart

Радуемся жизни.

PR-CY.ru