LINUX.ORG.RU

Сообщения CYB3R

 

sudoers: запустить команду от имени www-data без пароля

 , ,

Вот мой sudoers:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults	targetpw

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
Добавил в него такое:
# Allow running anything as www-data without password
www-data ALL=(ALL) NOPASSWD:ALL
Хочу, чтобы sudo -u www-data anycmd выполнялось без пароля. Команды же, выполняемые от имени других пользователей, должны тебовать пароли соответствующих пользователей. Как правильно написать это в конфиге?

CYB3R
()

lsusb не показывает названия устройств

 , , ,

Взял usb.ids, положил в /share/misc/. Собрал usbutils, предварительно сконфигурировав так: ./configure --prefix="" --datadir=/share/misc:

	usbutils 010
	=============

	prefix:                 
	datarootdir:            ${prefix}/share
	datadir:                /share/misc
	mandir:                 ${datarootdir}/man

	usb.ids:                /share/misc/usb.ids

	compiler:               cc
	cflags:                 -g -O2
	ldflags:                

Почему-то не показываются названия устройств на целевой системе. А на хостовой системе, где этот файл расположен вообще по другому пути, этот же бинарник нормально работает. Может, проблема в libusb? Когда запускаю через strace вообще не вижу вызовов open с usb.ids в качестве параметра.

CYB3R
()

Как лучше организовать беспроводную сеть в офисе?

 , , , ,

Площадь офиса: около 200м²
Максимум девайсов в сети: около 100 (людей гораздо меньше, но у каждого смартфон, плюс всякие девайсы без оператора)
Дано: гигабит по витой паре с DHCP
Надо раздать сеть всем по Wi-Fi (802.11n/ac)
Я думаю, нужно взять проводной роутер и четыре беспроводных точки доступа, ткнуть их примерно по углам офиса. Как сделать так, чтобы переключение с одной точки доступа на другую происходило прозрачно? Достаточно выставления одинаковых SSID? Посоветуйте оборудование для этого дела.

CYB3R
()

А как относительно маленькие компании делают ноутбуки?

 , , ,

Я понимаю, как этим занимаются Samsung, HP, Lenovo, DELL и подобные гиганты: у них есть сотни специалистов на зарплате, которые разводят сложные многослойные платы, оптимизируют BOM и придумывают какие-то инновации, у них есть многомиллионные контракты с производителями компонентов, которые также предоставляют им конфиденциальную документацию, у них есть свои фабрики, где печатают платы, монтируют компоненты, льют корпуса и собирают всё это дело вместе, а также налажена логистика между всеми этими фабриками.

Но есть мелкие локальные производители (например, iRU, Irbis, KREZ), их продукция выглядит довольно заурядно, но вполне может конкурировать по цене с продукцией гигантов. Вряд ли они сами проектируют платы, вряд ли у них есть производство плат, скорее всего они покупают готовые болванки из Китая, кладут в свой корпус, закручивают пару винтиков, тестируют и продают. А судя по одинаковому внешнему виду этих корпусов, они тоже все сделаны на одном китайском заводе, а эти «производители» просто просят лепить на них разные логотипы. А если электронная часть производится недалеко от механической, то и винтики крутить логично посадить китайцев в том же городе, чтобы сократить расходы на логистику и ввозить в страну уже собранные ноутбуки, а не по частям. Подозреваю, что со смартфонами/планшетами та же история.

Меня интересуют эти китайские компании, которые разрабатывают и производят печатные платы. Откуда у них поставки от Intel, AMD и NVIDIA? Откуда у них документация? Кто вообще реально всё это производит и сколько это стоит? Как такие компании гуглить? Да, хочу запилить свои ноутбуки.

CYB3R
()

Виртуалка с Windows и одним приложением в ней

 , ,

А можно ли Windows настроить таким образом, чтобы при старте не запускался ни декоратор, ни менеджер рабочего стола, ни проводник, а только одно необходимое приложение на полный экран?

Если да, то как? Интересуют и win9x, и winxp, и win7-10.

Можно ли запустить Windows без графики вообще, только с консолью на COM1?

Возможно, виртуалка с такой виндой покроет все требования многих дуалбутчиков.

CYB3R
()

Типы нестандартного размера в Kaitai Struct

 , , ,

Пытаюсь написать парсер для ar при помощи Kaitai Struct (cast GreyCat). Заголовок должен выглядеть следующим образом:

Offset 	Length 	Name 	 	 	 	Format
0 	16 	File identifier 	 	ASCII
16 	12 	File modification timestamp 	Decimal
28 	6 	Owner ID 	 	 	Decimal
34 	6 	Group ID 	 	 	Decimal
40 	8 	File mode 	 	 	Octal
48 	10 	File size in bytes 	 	Decimal
58 	2 	Ending characters 	 	0x60 0x0A
Там есть переменные типа decimal размером 6, 10 и 12 байт. Как их правильно обозначить в kaitai struct?
Пока мой ksy выглядит так:
meta:
  id: ar
  file-extension: a
seq:
  - id: sections
    type: section
types:
  section:
    seq:
      - id: artype
        type: str
        encoding: ascii
        terminator: 0x0a
      - id: arhead
        type: header
      - id: file
        size: arhead.filesize
  header:
    seq:
      - id: fileid
        type: str
        encoding: ascii
        size: 16
      - id: timestamp
        size: 12
      - id: owner
        size: 6
      - id: group
        size: 6
      - id: mode
        size: 8
      - id: filesize
        size: 10
      - id: ending
        contents: [0x60, 0x0a]

CYB3R
()

Упаковать несколько пакетов из одного исходного кода, используя opkg

 , , , сборка пакета

Использую opkg (dpkg-like пакетный менеджер, используемый в openwrt). Для сборки пакета использую скрипт opkg-buildpackage.

Интересует следующий нюанс: при сборке библиотеки бинарники и заголовочные файлы попадают в единый opk, а хотелось бы, чтобы бинарники попадали в один opk, а хедеры в другой с суффиксом -dev. Возможно ли такое? Правильно ли я понимаю, что для этого придется написать особый control, в котором будет указано, что куда попадает? Если да, пожалуйста приведите пример такого файла control.

CYB3R
()

virt-bootstrap: cannot initialize fsdev 'fsdev-fs2' (Permission denied)

 , , , ,

Пытаюсь создать виртуалку debian sid с virt-bootsprap в virt-manager на fedora 29. Фейл:

Unable to complete install: 'virt-bootstrap did not complete successfully'

Command 'virt-sandbox -c qemu:///session --name=bootstrap_5434 -m host-bind:/mnt=/home/user/.local/share/libvirt/filesystems/debian-sid -- /bin/tar xf /home/user/.cache/virt-bootstrap/docker_images/16e82e17faef9e90ceefcd8175e9899edce768aa6008cc16dd1e3fe7d3b88bb8 -C /mnt --exclude dev/* --overwrite --absolute-names' returned non-zero exit status 1.
All extracted files will be owned by the current unprivileged user.
Checking cached layers
Checking layer: /home/user/.cache/virt-bootstrap/docker_images/16e82e17faef9e90ceefcd8175e9899edce768aa6008cc16dd1e3fe7d3b88bb8
Downloading container image
Extracting container layers
Extracting layer (1/1) with size: 46.98 MiB
Untar layer: /home/user/.cache/virt-bootstrap/docker_images/16e82e17faef9e90ceefcd8175e9899edce768aa6008cc16dd1e3fe7d3b88bb8
Call command:
virt-sandbox -c qemu:///session --name=bootstrap_5434 -m host-bind:/mnt=/home/user/.local/share/libvirt/filesystems/debian-sid -- /bin/tar xf /home/user/.cache/virt-bootstrap/docker_images/16e82e17faef9e90ceefcd8175e9899edce768aa6008cc16dd1e3fe7d3b88bb8 -C /mnt --exclude dev/* --overwrite --absolute-names
Stderr:
Unable to start sandbox: Failed to create domain: internal error: qemu unexpectedly closed the monitor: 2018-11-18T14:56:44.411088Z qemu-system-x86_64: -device virtio-9p-pci,id=fs2,fsdev=fsdev-fs2,mount_tag=sandbox:mount0,bus=pci.0,addr=0x4: cannot initialize fsdev 'fsdev-fs2': failed to open '/home/user/.local/share/libvirt/filesystems/debian-sid': Permission denied
Интересно, чей это фейл — virt-bootstrap, skopeo, qemu или федоры?

CYB3R
()

nenuzhnix 0.0.5

 ,

Гордо представляю на ваш суд своё наколеночное поделие — дистрибутив без компонентов проекта GNU. Возможен ли Linux без GNU? Ну почти.
На данный момент в составе дистрибутива целых 18 пакетов:

base-files 0.1
curl 7.62.0
dash 0.5.10.2
dropbear 2018.76
e2fsprogs 1.44.4
kernel-headers 3.12.6-6
libarchive 3.3.3
libedit 3.1-20180525
libgit2 0.27.7
libressl 2.8.2
libssh2 1.8.0
lynx 2.8.9-1
miniz 2.0.8
musl 1.1.20
netbsd-curses 0.2.2
opkg 0.3.6
simplegit 20180325
toybox 0.7.8
Все они собраны моим тулчейном без компонентов GNU (используется clang-8).
Для успешной компиляции ядра мне всё ещё предстоит превозмочь пару багов. Пока своего ядра нет, пользуемся хостовым — запускать можно, например, в chroot или lxc. А когда будет, можно будет и на реальном железе запускать, потом и wayland соберу с каким-нибудь легковесным композитором.
Попробовать nenuzhnix очень просто — бесплатно без регистрации и смс:
git clone https://github.com/tpimh/nenuzhnix-build && cd nenuzhnix-build && ./install_nenuzhnix.sh

CYB3R
()

LXC с неродной архитектурой

 , , , ,

Можно ли в LXC запустить контейнер с архитектурой, отличной от архитектуры хоста? Технически можно реализовать с помощью qemu-user, но кто-нибудь реально это делал? Есть поддержка в самом LXC?
Судя по этому скриншоту, возможность выбора архитектуры в virt-manager предусмотрена, однако у себя я этой опции не нашёл.
При попытке ручного редактирования xml, так что блок os стал выглядеть так:

  <os>
    <type arch='aarch64'>exe</type>
    <init>/sbin/init</init>
  </os>
Чуда не случилось и я получил следующую ошибку: invalid argument: could not find capabilities for ostype=exe arch=aarch64 domaintype=lxc.

CYB3R
()

PaaS в России

 , ,

Хочется чего-то типа Heroku: чтобы при помощи обычного git закинул свой код в облако, он там крутится, раз в день восстанавливает девственность, если нагрузка возросла, всё скейлится. И чтобы можно было модульно добавить туда всякие плюшки: redis, mysql/mariadb, postgresql, mongodb... Это уже кому что надо, тот сам себе это добавит, мне хватит первых двух. И чтобы сервера были в России, счёт в рублях.

Heroku всем устраивает, но у них только USA/Europe.

CYB3R
()

Ubuntu 18.04 спрашивает пароль администратора при подключении к Wi-Fi

 , , ,

Физического доступа к компу с проблемой нет, есть только описание: при подключении к новой точке доступа запрашивается пароль администратора. Вероятно, есть какая-то настройка NetworkManager, позволяющая это отключить. Вот только нагуглить я её не могу, потому спрашиваю тут.

CYB3R
()

ffmpeg wayland захват экрана

 , , ,

Сабж вообще возможен? Какой сурс использовать? fbdev?

CYB3R
()

X-сессия в контейнере в окне с аппаратным ускорением поверх Wayland

 , , , ,

Хочется очень странного: на основной системе иметь только Wayland, без иксов и контейнеры с разным софтом. Например, захотел я веб посёрфить, запустил контейнер (например, LXC) с браузером в нём, иксы из контейнера рисуются в хостовой системе в окне при этом используют возможности видеокарты, если вдруг понадобилось видео декодировать или 3D через WebGL нарисовать. Это вообще реально? Если нет, то почему, если да, то как?

CYB3R
()

Где найти заглушки 5.25" по адекватной цене?

 ,

Хочу впихнуть дисплей в корпус ПК. Слот 5.25" для этого подходит идеально. Хочу взять заглушку типа этой, но только без отверстий, вырезать в ней дыру по форме экрана и установить в корпус. Но вот ведь беда – нигде не могу найти такие заглушки по адекватной цене. Может, навыка поиска по алиэкспрессу не хватает? Может, есть какая-то альтернатива?

CYB3R
()

ARM semihosting

 , , , ,

Тыкаю STM32, пытаюсь заставить нормально работать semihosting. У меня есть STM32F103C8T6, китайский ST-LINK/V2 (SWD), GNU Arm Embedded Toolchain, openocd и stlink.

Хочу, чтобы при выполнении make debug запускался gdb, подключался к отлаживаемому контроллеру и по continue начинал выполнение программы, выводя все сообщения из printf.

Вариант первый: запускаю st-util --semihosting, в gdb выполняю: target extended-remote localhost:4242, load, monitor semihosting enable, continue. Вывод printf попадает не на терминал gdb, а в файл с именем ":tt".

Вариант второй: запускаю openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg, в gdb выполняю: target extended-remote localhost:3333, load, monitor arm semihosting enable, continue. Вывод printf попадает в терминал openocd, а не в терминал gdb, что уже лучше, но все равно не так удобно.

Другие варианты: собрать JTAG-отладчик на коленке, модифицировать прошивку китайского ST-LINK/V2, чтобы gdb-server крутился прямо на нем и openocd с stlink стали не нужны (не рассматриваются из-за нетривиальности).

Поясните, как вы это настроили для себя и реально ли вообще добиться, чего я хочу, без патчей на openocd/stlink? cast Vit, ncrmnt, Eddy_Em

Для желающих потыкать, выкладываю полный исходный код:

#include <libopencm3/stm32/rcc.h>
#include <stdio.h>

/* For semihosting on newlib */
extern void initialise_monitor_handles(void);

static void clock_setup(void) {
	rcc_clock_setup_in_hse_8mhz_out_72mhz();
}

int main(void) {
	clock_setup();
#if defined(ENABLE_SEMIHOSTING) && (ENABLE_SEMIHOSTING)
	initialise_monitor_handles();
#endif

	printf("Hello World\n");

	/* Wait forever and do nothing. */
	while (1)
		__asm__("nop");

	return 0;
}
BINARY = test

OPENCM3_DIR = ../libopencm3
LDSCRIPT = $(OPENCM3_DIR)/lib/stm32/f1/stm32f103x8.ld

# To disable, run "make ENABLE_SEMIHOSTING=0" or comment next line out
ENABLE_SEMIHOSTING ?= 1

ifeq ($(ENABLE_SEMIHOSTING),1)
LDFLAGS		+= --specs=rdimon.specs
LDLIBS		+= -lrdimon
DEFS		+= -DENABLE_SEMIHOSTING=1
endif

include ../libopencm3.target.mk

CYB3R
()

Помогите подобрать корпус

 ,

От корпуса требуется

  • 2U, 19"
  • ATX или mATX мать с портами на задней панели
  • вертикальные низкопрофильные платы расширения
  • ATX или SFX БП (не со стороны процессора, только со стороны плат расширения или модулей памяти)
  • 2 USB 3.0 спереди
  • два отсека 5,25" спереди (желательно)
  • чем короче, тем лучше

Линукс при том, что в корпус будет помещён компьютер с линуксом.

CYB3R
()

Интерфейс для подключения MIPI CSI-2 камеры и одноплатник с таким интерфейсом

 , ,

Сейчас неторопливо ищу камеру и одноплатник, который будет обрабатывать изображение, получаемое с неё. Насколько я понял, хорошим тоном в embedded будет использование интерфейса MIPI CSI-2. Cпецификация интерфейса не описывает никакого механического разъёма для него, однако стандартом де-факто является FPC-коннектор с распиновкой, как на Raspberry Pi, я прав?
С другой стороны есть варианты подключения микро-коаксиальными кабелями, что дороже и не так распространено.
Итак, посоветуйте камеру (1080p или 2-3MP, MIPI CSI-2) и одноплатник (ARM или AArch64, хардварный MIPI CSI-2, лучше даже два таких интерфейса, если вдруг потом буду делать апгрейд до стереокамеры).

CYB3R
()

Мелкие шрифты, вкомпиленные в ядро

 , , , ,

Посоветуйте мелкие шрифты (мельче, чем CONFIG_FONT_8x8). Нужна только латиница, чем мельче тем лучше (что-то типа 5x6 было бы идеально — и очень мелко, и ещё читаемо). Различие строчных и заглавных букв не нужно, пускай все выглядят одинаково.
Мне нравится такой шрифт, но самостоятельно его перерисовывать лень, потому что я уверен, что кто-то уже сделал это и велосипед изобретать не придётся.

CYB3R
()

Создать non case preserving filesystem

 , , , ,

Хочу создать файловую систему, которая не только была бы нечувствительной к регистру, но и вообще не сохраняла информацию о регистре (т.е. все имена файлов преобразуются в верхний или нижний регистр).
Согласно этой статье в википедии, мне подойдёт FAT12 или FAT16 без LFN (long file name). Покурив ман к mkdosfs, я не нашёл никаких упоминаний LFN.
Я не боюсь ограничений размера этой ФС (мне хватит и пары мегабайт), не боюсь 8.3 и исключительно латиницы в именах файлов. Всё, я попробовал создать FAT12 и FAT16 без каких-либо особых параметров, файлы test1 и TEST2 прекрасно создаются и лежат рядом (монтируется такой раздел как vfat и проблем длинными именами файлов и кириллическими символами у него не наблюдается).
Как правильно создать (или смонтировать) такую файловую систему?

CYB3R
()