Новый модератор CrX
Приветствуем нового модератора CrX!
От лица модераторского состава: «Добро пожаловать в стройные ряды».
От лица остальных, как обычно ЦВИМ(или КВИМ, поправь, если ошибаюсь)!
Приветствуем нового модератора CrX!
От лица модераторского состава: «Добро пожаловать в стройные ряды».
От лица остальных, как обычно ЦВИМ(или КВИМ, поправь, если ошибаюсь)!
Поднял дома на подкроватном сервере-одноплатнике kvm. Не хочется менять настройки сети, доступ с самого одноплатника на виртуальные машины не нужен, поэтому настроил сеть на госте через macvtap. А далее что-то странное. Другие компы в сети, видят mac-адрес самой сетевой карты одноплатника, а не виртуального интерфейса. Соответственно, если попытаться стукнуться на виртуалку по ssh, оно идёт на хост, а не на виртуальную машину. Если потом с помощью ip neigh replace на десктопе или ноуте поставить айпишнику виртуальной машины правильный mac-адрес, всё работает как задумано.
Кто-нибудь встречал подобное поведение? Много лет использую kvm с macvtap и такое поведение вижу впервые.
Если это важно, на хосте-одноплатнике gentoo. На других машинах в локалке или gentoo, или debian.
В качестве роутера всей сети noname-китайский роутер от провайдера. Я сначала решил, что он виноват, так как проблему заметил, подключаясь с ноутбука по wi-fi. Но потом попробовал с десктопа, подключённого как и одноплатник по проводу, и проблема повторилась. Такое впечатление, что хост-система на одноплатнике на arp who-has отдаёт неверный ответ.
В очередной раз решил потыкать палочкой wayland в KDE. В общем, эксперимент в очередной раз считаю неудачным. В целом, работает, но есть несколько очень неприятных багов.
Тест длился около недели. Ни в одном из багов не разбирался, логи не читал, фиксить не пытался сверх ковыряния в настройках мышей. Переключился назад в иксы. Никакой заметной на глаз плавности или повышенной производительности по сравнению с иксами в Wayland не замечено.
Ноут древний и слабый, в качестве видео - встройка от AMD. Дрова дефолтные. Calculate Linux.
С моей точки зрения обычному пользователю пока рано в wayland.
Привет.
В свободное время потихоньку пилю свои велосипеды для gentoo. Дошёл черёд equery, а в частности equery size.
[cppmm@damned mportage]$ equery s bash -b
* app-shells/bash-5.1_p16-r2
Total files : 45
Total size : 2889615
Проверяем. Для проверки я смотрю в CONTENTS, достаю оттуда только то, что является по типу obj и суммирую:
foreach my $line (<$contents_handle>) {
my @line = split / /, $line;
$files++;
if ($line[0] eq 'obj') {
my $file_size = (stat $line[1])[7];
$size = $size + $file_size if defined($file_size);
}
}
for size in $(ls -l $(grep -E '^obj' CONTENTS | awk '{print $2}') | awk '{print $5}') ; do let "FSIZE = FSIZE + $size" ; echo $FSIZE ; done ; unset FSIZE
Иду смотреть в код gentoolkit
seen = set()
size = n_files = n_uncounted = 0
for path in self.parsed_contents(prefix_root=True):
try:
st = os.lstat(_unicode_encode(path, encoding=_encodings["fs"]))
except OSError:
continue
# Remove hardlinks by checking for duplicate inodes. Bug #301026.
file_inode = st.st_ino
if file_inode in seen:
continue
seen.add(file_inode)
try:
size += st.st_size
n_files += 1
except OSError:
n_uncounted += 1
return (size, n_files, n_uncounted)
За исключением дополнительной проверки на хардлинки(в bash'е, взятом для примера, хардлинков нет), всё выглядит так же, как у меня. Но почему тогда итоговая сумма различается? Где я просчитался и откуда equery берёт ещё почти три сотни килобайт?
Содержание CONTENTS:
dir /usr
dir /usr/share
dir /usr/share/info
sym /usr/share/info/bashref.info.bz2 -> bash.info.bz2 1673668093
obj /usr/share/info/bash.info.bz2 393a14a5ef4f7a9fd1f972fe722e1b4c 1673668089
dir /usr/share/man
dir /usr/share/man/man1
obj /usr/share/man/man1/rbash.1.bz2 7d8fa9646b44685ce5b435251a755669 1673668091
obj /usr/share/man/man1/bash.1.bz2 89a2fe46e383d7f6bf247d8f8dfeb2d0 1673668089
obj /usr/share/man/man1/bashbug.1.bz2 9d12dc1958d8e640264182b801e24316 1673668089
obj /usr/share/man/man1/bash_builtins.1.bz2 e84268f4670be0fa8ed185a43ca1d233 1673668091
dir /usr/share/doc
dir /usr/share/doc/bash-5.1_p16-r2
obj /usr/share/doc/bash-5.1_p16-r2/CHANGES.bz2 5c43139aae5703fe86c394c3e45b66ea 1673668090
obj /usr/share/doc/bash-5.1_p16-r2/POSIX.bz2 e641b4188c5824c1441b97b594da69ac 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/NEWS.bz2 6c47111c691f28fdf8822ae2c16b7536 1673668090
obj /usr/share/doc/bash-5.1_p16-r2/RBASH.bz2 ed3e9e7fe6ce0e83d05cfb994e0cecdb 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/INTRO.bz2 0adb1e98d3ad2a3a012d696ea17e5547 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/COMPAT.bz2 7029427047217c824828bf2fa4c3816f 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/AUTHORS.bz2 65f88febe33195919919139655121a7f 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/FAQ.bz2 c54d1bdf18849c74a94d5dcebce4e623 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/README.bz2 a9ebdee593521b64c96fad5bb7b3a3c3 1673668089
dir /usr/share/doc/bash-5.1_p16-r2/html
obj /usr/share/doc/bash-5.1_p16-r2/html/bashref.html b0bf8f6881f88d1fd2aff973ae1975af 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/html/bash.html c9336f41ad159aa7d606a1999d75e020 1673668089
obj /usr/share/doc/bash-5.1_p16-r2/ChangeLog.bz2 83aeece17d29263f5ff312228c1e71ca 1673668091
dir /usr/share/locale
dir /usr/share/locale/ru
dir /usr/share/locale/ru/LC_MESSAGES
obj /usr/share/locale/ru/LC_MESSAGES/bash.mo 39c19d7b6487b5108893f42bf2a74638 1673668089
dir /usr/bin
obj /usr/bin/bashbug 53b7bde997005b1c10aa3d182111b397 1673668089
dir /etc
dir /etc/bash
obj /etc/bash/bash_logout 229ccc2980a94877f2e87f957e9da7bf 1673668090
obj /etc/bash/bashrc 4ba9eb2e8e8e5a503477a6445a11200c 1673668091
dir /etc/bash/bashrc.d
obj /etc/bash/bashrc.d/.keep_app-shells_bash-0 d41d8cd98f00b204e9800998ecf8427e 1673668090
dir /etc/skel
obj /etc/skel/.bash_logout 7d8a8ef90c1818a0cd66808ac2740638 1673668091
obj /etc/skel/.bash_profile d3322040528c46743ea8e4b0b9a186bc 1673668091
obj /etc/skel/.bashrc d210b9cd7fc07420736480f2062d7d7f 1673668091
dir /bin
sym /bin/rbash -> bash 1673668090
obj /bin/bash 7e6a211d8a6e4a14b8c8ffbc49a38fcd 1673668093
Всем привет.
Возникла одна идея для реализации которой нужно добавить немного 2D-графики. Графика нужна простейшая - пиксели, линии, графики. Нужно уметь реагировать на нажатия клавиш, минимальная поддержка каких-нибудь простых шрифтов.
Лет двадцать назад, будучи школьником, я что-то такое делал на Pascal, стандартного модуля Graph хватало с головой. А что есть из такого простого сейчас?
Лучше всего я знаю Perl, но тут с этим всё не просто. Можно рисовать отличные графики, генерировать или обрабатывать картинки, но вот для рисования «в реалтайме» и создания движущихся картинок сходу я ничего не нашёл. Есть Tk, в котором можно что-то похожее делать в окне, да и всё вроде бы. Как запасной вариант оставлю, но хотелось бы что-нибудь по новее.
Бегло посмотрел на python, из того, то заинтересовало - его биндинги к QT, но я пока не понял, можно ли там произвольную графику рисовать или же только шлёпать формочки из готовых компонентов.
На golang в принципе сходу не понял, есть ли что-нибудь подобное. Возможно плохо искал - я тут в модулях не очень хорошо ориентируюсь.
На Си или плюсах не искал, так как наверняка там всё это есть, но мне понадобится относительно много времени, чтобы найти и вникнуть.
Собственно, видимо, гуглить я разучился. Подскажите, что сейчас есть для максимально простой графики? Игровые движки я не рассматриваю - это уже как мне кажется сильный overhead. Мне нужно по сути нарисовать оси координат, разместить и двигать там простейшие фигурки. Суть в расчётах, а не в красивой графике. Реализация какой бы то ни было физики не нужна. Т.е. нужна минимальная визуализация. В целом, думаю, ЯП не важен, но желательно что-нибудь живое и не особо низкоуровневое. В идеале, чтобы не было слишком жирным. Платформа - только GNU/Linux. Можно в консоли(framebuffer?), можно с использованием каких-либо тулкитов. Как мне это видится было бы круто что-то типа подобного псевдокода:
my $pixel1 = {
x = 10;
y = 20;
color = green;
}
put_pixel($pixel1);
if ($keycode = 'Up') {
my $x = $x + 1;
$pixel1->{x = $x};
clrscr();
put_pixel($pixel1);
}
if ($keycode = 'Left') {
my $y = $y - 1;
$pixel1->{y = $y};
$pixel1->{color = 'red'};
clrscr();
put_pixel($pixel1);
}
Всем привет.
Решил тут поиграть немного, запустил War Thunder, пару часиков покатался, всё отлично. Но после выхода из игры случилось странное. Всё начало моргать, окна будто сами переключаются, а шрифты превратились в древние заклинания по вызову демонов из преисподней. Как-то так. Рестарт сессии всё вылечил, после чего я попробовал другие игры. Half-Life 2, Crimsonland, Euro Truck Simulator 2. После любой из игр происходит то же самое, хотя в самих играх всё нормально - ни глюков, ни тормозов. Собственно вопрос, кто виноват и что делать? В логах иксов никаких ошибок не вижу. Раньше такого не было, но я давно не игрался, поэтому не знаю, после какой из обнов такое произошло.
└─> uname -a
Linux damned 5.15.63-gentoo-dist #1 SMP Thu Aug 25 12:40:44 -00 2022 x86_64 AMD Athlon(tm) X4 840 Quad Core Processor AuthenticAMD GNU/Linux
└─> lspci -vs 01:00.0
01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2) (prog-if 00 [VGA controller])
Subsystem: Palit Microsystems Inc. GM107 [GeForce GTX 750 Ti]
Flags: bus master, fast devsel, latency 0, IRQ 56, IOMMU group 1
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [258] L1 PM Substates
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
└─> eix nvidia-drivers
[I] x11-drivers/nvidia-drivers
Доступные версии: 390.154(0/390) 470.141.03(0/470) 510.85.02(0/510) [M]~515.49.15(0/vulkan) 515.65.01(0/515) {+X dist-kernel (+)driver kernel-open persistenced +static-libs +tools wayland ABI_X86="32 64"}
Установленные версии: 515.65.01(0/515)(20:37:30 04.09.2022)(X driver -dist-kernel -kernel-open -persistenced -static-libs -tools -wayland ABI_X86="32 64")
Домашняя страница: https://www.nvidia.com/download/index.aspx
Описание: NVIDIA Accelerated Graphics Driver
└─> eix plasma-desktop
[I] kde-plasma/plasma-desktop
Доступные версии: (5) 5.24.6-r2^t ~5.25.5^t
{debug emoji +handbook ibus +kaccounts scim +semantic-desktop telemetry test}
Установленные версии: 5.24.6-r2(5)^t(22:04:38 14.08.2022)(-debug -emoji -handbook -ibus -kaccounts -scim -semantic-desktop -telemetry -test)
Домашняя страница: https://kde.org/plasma-desktop
Описание: KDE Plasma desktop
└─> eix xorg-server
[I] x11-base/xorg-server
Доступные версии: [M]1.20.14-r1(0/1.20.14)^t 21.1.3-r2(0/21.1.3)^t 21.1.3-r3(0/21.1.3)^t 21.1.4(0/21.1.4)^t **9999(0/9999)*l^t {debug dmx +elogind kdrive minimal selinux suid systemd test +udev unwind xcsecurity xephyr xnest xorg xvfb}
Установленные версии: 21.1.4(0/21.1.4)^t(23:54:04 21.07.2022)(elogind udev xorg -debug -minimal -selinux -suid -systemd -test -unwind -xcsecurity -xephyr -xnest -xvfb)
Домашняя страница: https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/xserver/xorg-server
Описание: X.Org X servers
Есть у кого идеи, как дебажить и куда копать? Пока что переключился на дефолтное dist-ядро, подумал, может проблемы с моей сборкой, но лучше не стало.
Всем привет.
Имеется хост Gentoo stable.
└─> eix sys-apps/flatpak
[I] sys-apps/flatpak
Доступные версии: 1.12.3^t ~1.12.7^t ~1.13.2^t ~1.13.3^t {X doc introspection policykit seccomp systemd}
Установленные версии: 1.12.3^t(03:38:56 14.07.2022)(X policykit -doc -introspection -seccomp -systemd)
Домашняя страница: https://flatpak.org/
Описание: Linux application sandboxing and distribution framework
└─> flatpak list --app
Имя ID Приложения Версия Ветка Тип установки
calibre com.calibre_ebook.calibre 6.2.1 stable user
Flatseal com.github.tchx84.Flatseal 1.8.0 stable user
LibreOffice org.libreoffice.LibreOffice 7.3.5.2 stable user
Запускаю calibre никаких ошибок, приложение открывается. Кнопочки нажимаются, но при попытке открыть любой диалог выбора директории или файла, ничего не происходит. Т.е. ни добавить книгу, ни изменить местополжение библиотеки, вообще никаких манипуляций с файлами. Проверял права как руками, так и через Flatseal, на работу с файлововй системой ограничений нет. В установленном рядом LibreOffice всё работает нормально.
Попробовал запускать с дебагом и в strace через
LANG=C flatpak run --command=sh --devel com.calibre_ebook.calibr
Но не вижу ничего особо критичного(либо я не знаю, что искать в том же strace в данном случае).
xdg-desktop-portal стоит. Доустанавливать дополнительно версии kde/gtk пробовал - поведение не меняется.
└─> eix -c xdg-desktop
[N] gui-libs/xdg-desktop-portal-lxqt (0.2.0): Backend implementation for xdg-desktop-portal using Qt/KF5/libfm-qt
[N] gui-libs/xdg-desktop-portal-wlr (0.5.0(0/9999)): xdg-desktop-portal backend for wlroots
[N] kde-plasma/xdg-desktop-portal-kde (5.24.6(5)): Backend implementation for xdg-desktop-portal that is using Qt/KDE Frameworks
[I] sys-apps/xdg-desktop-portal (1.14.4@14.07.2022): Desktop integration portal
[N] sys-apps/xdg-desktop-portal-gnome (~42.3): Backend implementation for xdg-desktop-portal using GNOME
[N] sys-apps/xdg-desktop-portal-gtk (1.14.0): Backend implementation for xdg-desktop-portal using GTK+
Куда ещё можно копнуть?
P.S. Ставить appimage, snap или устанавливать нативный пакет - не предлагать. Меня в данный момент интересует именно flatpak.
portage-2.3.2 Обновлял мир командой emerge -uND world. В какой-то момент по ошибке прервал процесс с помощью Ctrl+C. Выдало несколько штатных сообщений по поводу пакетов, которые уже обновились, последним было:
* Messages for package media-libs/harfbuzz-1.3.1:
* ERROR: media-libs/harfbuzz-1.3.1::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-libs/harfbuzz-1.3.1::gentoo'`,
* the complete build log and the output of `emerge -pqv '=media-libs/harfbuzz-1.3.1::gentoo'`.
* The complete build log is located at '/tmp/portage/media-libs/harfbuzz-1.3.1/temp/build.log'.
* The ebuild environment file is located at '/tmp/portage/media-libs/harfbuzz-1.3.1/temp/environment'.
* Working directory: '/tmp/portage/media-libs/harfbuzz-1.3.1/work/harfbuzz-1.3.1-abi_x86_32.x86'
* S: '/tmp/portage/media-libs/harfbuzz-1.3.1/work/harfbuzz-1.3.1'
└─> emerge -uND world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Traceback (most recent call last):
File "/usr/lib/python-exec/python2.7/emerge", line 50, in <module>
retval = emerge_main()
File "/usr/lib64/python2.7/site-packages/_emerge/main.py", line 1224, in emerge_main
return run_action(emerge_config)
File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 3261, in run_action
retval = action_build(emerge_config, spinner=spinner)
File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 338, in action_build
settings, trees, myopts, myparams, myaction, myfiles, spinner)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 9247, in backtrack_depgraph
myaction, myfiles, spinner)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 9284, in _backtrack_depgraph
success, favorites = mydepgraph.select_files(myfiles)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3606, in select_files
return self._select_files(args)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3949, in _select_files
return self._resolve(myfavorites)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 4100, in _resolve
if not self._create_graph():
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 2401, in _create_graph
allow_unsatisfied=allow_unsatisfied):
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3112, in _add_pkg_deps
allow_unsatisfied):
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3128, in _add_pkg_dep_string
allow_unsatisfied)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3208, in _wrapped_add_pkg_dep_string
pkg, dep_priority, root_config, selected_atoms[pkg]):
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 3407, in _minimize_children
root_config.root, atom, parent=parent)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 5364, in _select_pkg_highest_available
ret = self._select_pkg_highest_available_imp(root, atom, onlydeps=onlydeps, parent=parent)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 5576, in _select_pkg_highest_available_imp
root, atom, onlydeps=onlydeps, parent=parent)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 5872, in _wrapped_select_pkg_highest_available_imp
onlydeps=onlydeps):
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 5282, in _iter_match_pkgs_atom
installed=installed, onlydeps=onlydeps, myrepo=repo)
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 6580, in _pkg
if not self._pkg_visibility_check(pkg) and \
File "/usr/lib64/python2.7/site-packages/_emerge/depgraph.py", line 5620, in _pkg_visibility_check
if pkg.visible:
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 177, in visible
self._visible = self._eval_visiblity(self.masks)
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 171, in masks
self._masks = self._eval_masks()
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 403, in _eval_masks
self.cpv, self._metadata)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/config.py", line 2041, in _getMissingLicenses
cpv, metadata["USE"], metadata["LICENSE"], metadata["SLOT"], metadata.get('repository'))
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 872, in __getitem__
v = self._pkg._init_use()
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 664, in _init_use
use_str = self._get_pkgsettings()["PORTAGE_USE"]
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 639, in _get_pkgsettings
pkgsettings.setcpv(self)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/config.py", line 1384, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/config.py", line 1559, in setcpv
self.puse = self._use_manager.getPUSE(cpv_slot)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/_config/UseManager.py", line 555, in getPUSE
puse_matches = ordered_by_atom_specificity(cpdict, pkg)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/_config/helper.py", line 34, in ordered_by_atom_specificity
bestmatch = best_match_to_list(pkg, keys)
File "/usr/lib64/python2.7/site-packages/portage/dep/__init__.py", line 2058, in best_match_to_list
for x in match_to_list(mypkg, mylist):
File "/usr/lib64/python2.7/site-packages/portage/dep/__init__.py", line 2026, in match_to_list
if x not in matches and match_from_list(x, pkgs):
File "/usr/lib64/python2.7/site-packages/portage/dep/__init__.py", line 2341, in match_from_list
use = getattr(x, "use", None)
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 633, in use
self._init_use()
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 664, in _init_use
use_str = self._get_pkgsettings()["PORTAGE_USE"]
File "/usr/lib64/python2.7/site-packages/_emerge/Package.py", line 639, in _get_pkgsettings
pkgsettings.setcpv(self)
File "/usr/lib64/python2.7/site-packages/portage/package/ebuild/config.py", line 1381, in wrapper
raise AssertionError('setcpv recursion detected')
AssertionError: setcpv recursion detected
└─> equery u bash
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for app-shells/bash-4.3_p48:
U I
- - afs : Add OpenAFS support (distributed file system)
- - bashlogger : Log ALL commands typed into bash; should ONLY be used in restricted environments such as honeypots
- - examples : Install examples, usually source code
- - mem-scramble : Build with custom malloc/free overwriting allocated/freed memory
+ + net : Enable /dev/tcp/host/port redirection
+ + nls : Add Native Language Support (using gettext - GNU locale utilities)
- - plugins : Add support for loading builtins at runtime via 'enable'
- + readline : Enable support for libreadline, a GNU line-editing library that almost everyone wants
- - vanilla : Do not add extra patches which change default behaviour; DO NOT USE THIS ON A GLOBAL SCALE as the severity of the meaning changes drastically
Есть у кого идеи, что именно я сломал? Я посмотрел в код, где добавили этот эксепшн, но моего знания питона не хватило, чтобы конкретно понять, что там происходит.
Собрал из исходников себе пакетик с gearmand-1.1.2
Написал для него unit такого вида:
[Unit]
Description=gearman job control server
[Service]
EnvironmentFile=/etc/default/gearmand
ExecStartPre=/usr/bin/install -d -o gearman /run/gearman
PermissionsStartOnly=true
User=gearman
PIDFile=/run/gearman/server.pid
ExecStart=/usr/sbin/gearmand ${PARAMS}
[Install]
WantedBy=multi-user.target
В /etc/default/gearmand прописал все необходимые параметры:
PARAMS="--listen=127.0.0.1 \
--pid-file=/run/gearman/server.pid \
--log-file=/var/log/gearman-job-server/gearman.log \
--queue-type=postgres \
--libpq-conninfo='host=localhost user=gearman password=password dbname=gearman' \
--libpq-table=queue \
--daemon"
Активировал всё это дело с помощью systemctl enable gearmand.service
Запускаю systemctl start gearmand.service, всё вроде бы как запустилось, но в статусе пишет предупреждение
● gearmand.service - gearman job control server
Loaded: loaded (/etc/systemd/system/gearmand.service; enabled)
Active: active (running) since Thu 2015-10-15 11:12:30 UTC; 4s ago
Process: 14595 ExecStartPre=/usr/bin/install -d -o gearman /run/gearman (code=exited, status=0/SUCCESS)
Main PID: 14598 (gearmand)
CGroup: /system.slice/gearmand.service
└─14598 /usr/sbin/gearmand --listen=127.0.0.1 --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log --queue-type=postgres --libpq-conninfo='host=localhost user=gearman password=password...
Oct 15 11:12:29 giveya.com systemd[1]: Starting gearman job control server...
Oct 15 11:12:30 giveya.com systemd[1]: Started gearman job control server.
Oct 15 11:12:30 giveya.com gearmand[14598]: /usr/sbin/gearmand: Could not open log file "/usr/var/log/gearmand.log", from "/", switching to stderr. (No such file or directory)
Т.е. демон пытается запуститься с дефолтными параметрами, игнорируя все опции командной строки, хотя в ps пишет, что опции были переданы
# ps waux | grep [g]earman
gearman 14598 0.0 0.1 451188 5872 ? Ssl 11:12 0:00 /usr/sbin/gearmand --listen=127.0.0.1 --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log --queue-type=postgres --libpq-conninfo='host=localhost user=gearman password=password dbname=gearman' --libpq-table=queue --daemon
Однако lsof явно показывает, что логи не открылись где надо и в /run никаких pid-файлов не создалось.
Я подумал было, что сам gearmand глючит, но если со всеми моими опциями запустить его ручками из консоли, он запускается нормально, логи и пиды создаются, в lsof видно, что демон приконнектился к постгресу.
# ps waux | grep [g]earman
root 14662 0.0 0.1 459732 6708 ? Ssl 11:22 0:00 /usr/sbin/gearmand --listen=127.0.0.1 --pid-file=/run/gearman/server.pid --log-file=/var/log/gearman-job-server/gearman.log --queue-type=postgres --libpq-conninfo=host=localhost user=gearman password=password dbname=gearman --libpq-table=queue --daemon
postgres 14663 0.0 0.3 228564 14740 ? Ss 11:22 0:00 postgres: gearman gearman 172.30.0.166(35460) idle
# lsof -n | grep gearman | grep -E '(var|postgr)' | head -n 2
gearmand 14662 root 4w REG 202,1 0 395116 /var/log/gearman-job-server/gearman.log
gearmand 14662 root 5u IPv4 42645 0t0 TCP 127.0.0.1:35460->127.0.0.1:postgresql (ESTABLISHED)
Почему опции не отработали через systemd? Хочется сделать всё нормально через юнит, а не добавлять команду запуска gearmand'а тупо в rc.local.
Есть некая самописная приблуда. Большая и страшная. Стартует сразу после того, как запустилась сеть и подрубились сетевые диски. С них тянет часть данных, в них ковыряется, разбирает, берёт входные данные и только потом начинает работать.
При останове аналогично. Сперва лезет на диски, смотрит, проверяет, считает, пишет и только потом останавливается.
Я в упор не могу понять, как сделать юнит с зависимостями от сетевых дисков(они у меня монтируются после поднятия сети в /etc/network/interfaces с помощью post-up по sshfs) и потом только поднимать эту самую приблуду.
Ладно с ним, с ресурсами, там же ещё действия нужно перед запуском произвести. Посчитать, посмотреть и только потом стартовать.
В общем, где подробно почитать, как в этом systemd писать развёрнутые условия и как при старте системы использовать произвольные параметры?
Debian testing.
Система установлена с нуля, нет никаких нестандартных настроек. Только базовый набор и xfce4.
systemd и соответсвенно logind.
Есть в системе юзер user1, я залогинился этим пользователем, через su получил рута, создал пользователя user2, вышел из su, разлогинился из user1.
Логинюсь под вновь созданным user2, получаю рута и пытаюсь удалить user1, но система не даёт, так как имеются какие-то процессы, запущенные от имени этого пользователя. Смотрю по ps и вижу, что есть таких два штуки:
/lib/systemd/systemd --user
и какая-то мутотень(как вообще понимать, что это за процесс?)
(sd-pam)
Ну я-то их прибил и пользователя удалил, но осадочек остался. Как и вопросы.
1. Какой логикой обусловлено то, что после того, как пользователь полностью вышел из системы, остались процессы, запущенные от его имени?
2. Где искать документацию по поводу того, как подобные паразитные процессы убивать и где искать документацию по поводу того, как подобное предотвратить?
Занялся тут конвертированием имеющейся у меня музыки из mp3 в ogg и вот, что заметил.
Имеется файл.
$ file ~/random/music/Accept/\(2014\)\ Blind\ Rage/02\ -\ Dying\ Breed.mp3
/home/cppmm/random/music/Accept/(2014) Blind Rage/02 - Dying Breed.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo
$ ls -l ~/random/music/Accept/\(2014\)\ Blind\ Rage/02\ -\ Dying\ Breed.mp3
-rw-r--r-- 1 cppmm cppmm 12944868 авг 14 18:34 /home/cppmm/random/music/Accept/(2014) Blind Rage/02 - Dying Breed.mp3
$ ffmpeg -y -i /home/cppmm/random/music/Accept/\(2014\)\ Blind\ Rage/02\ -\ Dying\ Breed.mp3 -acodec libvorbis -vn audio-q0.ogg
$ file audio-q0.ogg
audio-q0.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~112000 bps
$ ls -la audio-q0.ogg
-rw-r--r-- 1 cppmm cppmm 4478311 авг 31 22:42 audio-q0.ogg
$ file audio-q60.ogg
audio-q60.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~499821 bps
$ ls -la audio-q60.ogg
-rw-r--r-- 1 cppmm cppmm 18453977 авг 31 22:42 audio-q60.ogg
По ощущениям все файлы звучат одинаково. Но откуда такая разница в размере файлов и почему в ogg в первом случае указан битрейт 112, во втором 490? Особенно это интересно с учётом того, что в изначальном, mp3'шном файле указано 320.
Ну и попутно ещё такой небольшой вопрос, почему опция -aq не обращает внимания, сколько там указано и при любых значениях выдаёт совершенно одинаковый результат?
P.S. Меня не интересует, всё, что связано с лослессом и прочими аудиофильскими вещами, любители flac могут не тратить время. Меня интересует исключительно поведение программы ffmpeg.
Я так понимаю, несмотря на все указания в манах и хендбуке о том, что опцию buildpkg можно при желании включить, она и без этого включена по умолчанию. Добавляю в FEATURES -buildpkg, но судя по emerge --info, ничего не меняется. Если же запустить emerge --info --buildpkg=n, эта опция из FEATURES пропадает.
Почему игнорируется FEATURES="-buildpkg"? Что делать, если я хочу отключить сборку бинарных пакетов? Не лепить же костыль alias'ом на emerge.
Имеется gentoo. Комп доставшийся в наследство от другого админа. Решил обновить до актуального состояния по возможности ничего не меняя. Апдейт системы сделал, возникшие блоки разлулил, всё хорошо, а вот с ядром незадача.
Там ядро 3.6.2-gentoo, ставлю 3.13.5-gentoo. Взял конфиг от старого, подсунул новому, запустил разок make menuconfig, бегло посмотрел основные опции, сохранил и собрал genkernell'ом новое ядро. В качестве загрузчика использует Lilo, поэтому подправил его конфиг, записал в mbr и ребутаюсь. Стабильно получаю kernel panic с сообщением о том, что не получается примонтировать корень. В ядре libata и ext4(в неё отформатирован корень) включены. Что ещё мог забыть, почему не пашет? Уже просмотрел конфиг ядра несколько раз, не могу понять. Конфиг можно посмотреть вот тут.
UPD: Вот ещё на всякий случай конфиг загрузчика.
Собственно, я про эту тему: www.linux.org.ru/forum/talks/9547559
Мало того, что модераторам на неё пофиг(а репорт они видели, так как последующие обработаны), так её ещё и корректор подправил. Я пропустил изменения в правилах?
Ладно, фиг с ним, может я один считаю, что автор этой темы толстый тролль и не несёт полезной информации на ЛОР, но конкретно эта тема-то явный оффтоп. От начала и до конца, включая комменты.
Я тут недавно поднимал тему по поводу всех этих семантических десктопов. Там я справился и пока замаскировал всё, что связано с этим. Но многие в теме писали о том, что я не прав и что аконади быстро и удобно работает.
Я поверил и решил снова в очередной раз это дело попробовать. Пробовал не на генте(там меня и так всё устраивает и менять пока желания нет). Пробовал на другом компе. Debian testing. KDE4. nepomuk с akonadi включены. Включено хранилище virtuoso. Индексирование только на домашнюю директорию.
Сперва нормально работал(ни разу так толком и не воспользовавшись этими плюшками, проставив лишь несколько тегов с помощью dolphin). А вот через пару дней начались какие-то странные глюки. Памяти свободной ещё около гига, но система уже на гиг ушла в своп. Топы показывают, что больше всего ест virtuoso. Зачем? Почему? В настройках для неё указано использовать не более 50-ти метров памяти.
Отрубаю половину программ, чищу своп, не успеваю даже запустить и тут же virtuoso снова залазит в своп на гиг. В итоге, во всех возможных настройках поотключал всё, что связано с этими аконадями, непомуками и прочими виртуозами. Что не мешает им висеть в процессах, кстати. Но хотя бы теперь оно не тормозит систему.
Итак, вопрос к тем, у кого красиво и хорошо работает семантический десктоп kde4 и ничего не тормозит. Что мне надо сделать на почти дефолтном дебиане, чтобы машина с 4-мя гигами памяти не уползала в своп при вполне пользовательских задачах и при этом можно было ощутить хотя бы прелести поиска по тегам? Я серьёзно хочу понять, как этим пользоваться. Докупать память - не вариант.
Пишу тут один небольшой проектик. На perl'е, как можно догадаться из заголовка. По задумке, основной функционал аккуратно разложен по библиотекам, которые подключаются по мере надобности в конечном приложении. Так, на данный момент реализован демон и консольная утилита для управления им. Хотелось бы ещё привинтить к нему web-интерфейс. Вот тут я как-то пока растерялся. Сперва думал использовать что-нибудь простенькое из cpan, но всяких разных модулей очень много, во-первых, а во-вторых что-то я начитался про то, что тот же mod_perl в апаче память сильно ест со временем, а для очистки надо ещё дополнительные модули тянуть или костыли какие-то городить. После этого стал рыть в сторону фреймворков. У меня проект не сложный и решил остановиться на mojolicious. Даже начал писать, потом обновился и понял, что всё поменялось, новая документация ещё не появилась и придётся разбираться во всех внутренностях mojolicious с нуля.
Собственно, решил спросить, пишет ли кто-нибудь ещё web-приложения на perl и, если да, что для их запуска использует(mod_perl, cgi, отдельно запускаемые фреймворки, ещё что-нибудь)?
Конкретно по моей задаче, от web-морды не требуется ничего особенного: показать то, что возвращают мои библиотечные функции, иногда передать им данные для обработки и записи в базу.
Другие языки не предлагать, переписывать всё мне лень, к тому же меня устраивает на все 100% нынешняя реализация демона и консоли. К тому же других языков помимо perl, php и bash'а я не знаю и знать не хочу пока что. И с другой стороны, если для решения такой задачи понадобится какой-то специализированный софт на сервере для более удобной работы perl'а(например как thin для ruby) - это не проблема, главное, чтобы работало быстро и без глюков.
Сейчас захотел обновиться и получил вот такой вот выхлоп:
$ emerge -uNDp world
These are the packages that would be merged, in order:
Calculating dependencies... done!
emerge: there are no ebuilds built with USE flags to satisfy ">=kde-base/kdelibs-4.8.4:4[aqua=,opengl?,semantic-desktop(+)]".
!!! One of the following packages is required to complete your request:
- kde-base/kdelibs-4.10.4::gentoo (Change USE: +semantic-desktop)
(dependency required by "media-sound/amarok-2.7.1" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
Прикладываю на всякий случай emerge --info.
Система Debian testing.
Имеется процессор вот с таким встроенным видео:
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. P8H77-I Motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 45
Region 0: Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at f000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
$ glxgears
Error: couldn't get an RGB, Double-buffered visual
$ glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
Если возможно, то где искать драйверы? В дистрибутиве вроде бы нет. На сайте интела, если я правильно понял, написано, что в скомпилированном виде дрова должны быть в дистре, а у них там только исходники.
В общем, поделитесь историей успеха запуска opengl на таком железе.
Возник такой вопрос, а есть ли нормальные GUI к MySQL на QT? Какие-нибудь аналоги MySQL Workbench или может даже что получше? Из обязательных условий помимо собственно удобной работы с данными возможность подключаться к удалённым базам через ssh. Возможность администрирования сервера бд помимо непосредственно работы с базой приветствуется, но не главное.
следующие → |