LINUX.ORG.RU

Сообщения ls-h

 

Как ограничить количество ядер (или процессорного времени), доступных контейнеру?

Форум — Admin

Привет!

Есть много контейнеров LXC, некоторым из них надо ограничить количество ядер (предпочтительный вариант), чтобы внутри контейнера было видно, например, не больше двух ядер. Или ограничить процент использования процессора (менее предпочтительный вариант).

Используется чистый LXC, без LXD. Система Ubuntu 16.04

Нагуглил, что:
1. Можно в конфиг контейнера прописать lxc.cgroup.cpuset.cpus = n-m, что ограничит контейнер физическими ядрами с n по m. Надо самому следить, у какого контейнера какие ядра. Это неудобно, т.к. контейнеров много, они останавливаются и запускаются.
2. Можно прописать одному lxc.cgroup.cpu.shares = n, другому - lxc.cgroup.cpu.shares = m. Тоже не очень удобно и не понятно, что достаётся хосту в этом случае. Нужно, чтобы у него был всегда некий запас.

Как можно решить проблему?
Если я установлю LXD, я смогу рулить существующими контейнерами?
Какие грабли в этом случае могут быть?

 , , ,

ls-h
()

Монтирование ext4 со смещением uid и gid. Как?

Форум — Admin

Привет!

Есть контейнеры LXC.
Для безопасности у них настроены диапазоны UID/GID через lxc.id_map.
Хранилище LVM, файловая система ext4.
С них делаются бекапы: снапшот, монтирование снапшота, собственно копирование.
В принципе всё хорошо.

Но есть неудобство:
Если бекап нужно развернуть в другое место или просто перенести файлик из контейнера, то появляются проблемы из-за UID/GID.

Вопрос:
Как смонтировать ext4 со сдвигом UID/GID?
Т.е., чтобы, например, uid 10000 у файла отображался как 0 в точке монтирования, а 10001, соответственно, отображался как 1?

P.S.: Система Ubuntu 16.04.

 , , , ,

ls-h
()

Найти недавно СОЗДАННЫЕ файлы в скрипте

Форум — Desktop

Привет всем!

Что-то туплю... Для скрипта надо получить список файлов, которые были созданы N минут назад или более свежие. Нагугливается только «find -cmin -N». Но, насколько я понимаю, это не то, т.к. -cmin это время модификации inode. Т.е. найдутся не только созданные файлы, но и, те, у которых поменялись атрибуты.

Как сделать правильно?
Спасибо!

 , ,

ls-h
()

Thunderbird и метки яндекс-почты

Форум — Desktop

Привет всем!

Есть почта на яндексе. Там есть достаточно удобная штука - цветные метки. Это такие с произвольным текстом и отображающиеся слева, под папками, а также перед темой письма в списке писем.

А Thunderbird их не показывает, предлагает только стандартные «Важно», «Срочно», т.д. или настроить свои. Как бы синхронизировать с теми, что уже есть в яндекс почте? Может быть кто-то сталкивался...

Спасибо!

 , ,

ls-h
()

Хитрый проброс порта.

Форум — Admin

Привет!

Есть сервак, у которого в настройках ssh проброс портов запрещён да и вообще он за 10-ю фаерволами. А надо.
Пришла в голову вот такая мысль:

mkfifo /tmp/tossh
mkfifo /tmp/fromssh
nc -v -l 127.0.0.1 3306 < /tmp/fromssh > /tmp/tossh &
ssh user@host.com nc 127.0.0.1 3306 < /tmp/tossh > /tmp/fromssh

MySQL клиент к 127.0.0.1 подключиться не может. Да и даже telnet просто отваливается, ничего не выводит.
Что-то мне подсказывает, что так просто нельзя и тут случается какой-нибудь дедлок с fifo.
Но как это починить?

Спасибы!

 , ,

ls-h
()

Сделал из ssh «прокси» для ssh. Насколько это плохая идея?

Форум — Admin

Привет всем!

Есть, кучка контейнеров. Они создаются, они удаляются, ip у них жёстко не заданы. Для доступа к ним с хоста используется имя_контейнера.lxc. Настроено вот так.
Теперь появилась надобность ходить в них по ssh снаружи. Сделал это вот так:

Match Group proxyusers
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand ssh -o 'StrictHostKeyChecking no' $USER.lxc $SSH_ORIGINAL_COMMAND

Т.е. в хостовой системе есть специальный прокси-пользователь, который состоит в группе proxyusers. Имя его, как можно догадаться из конфига, совпадает с именем контейнера и пользователя внутри этого контейнера. Я подумал, что это будет более удобным, чем пробрасывать порты и указывать их при подключении.
На всякий случай, домашняя директория прокси-пользователя на хостовой системе огорожена от него самого:
# ls -la /home/proxyuser/
total 24
drwxr-xr-x 3 root      root      4096 Nov 17 11:26 .
drwxr-xr-x 9 root      root      4096 Nov 18 22:48 ..
-rw-r--r-- 1 root      root       220 Sep  1  2015 .bash_logout
-rw-r--r-- 1 root      root      3771 Sep  1  2015 .bashrc
-rw-r--r-- 1 root      root       655 Jun 24 18:44 .profile
drwx------ 2 proxyuser proxyuser 4096 Nov 17 11:29 .ssh

Аутентификация хостового прокси-пользователя внутри контейнера происходит по ключу. Контейнеры непривилегированные, для каждого задается своё отображение id-шников (у всех разное стартовое число):
lxc.id_map = g 0 2148794368 65536
lxc.id_map = u 0 2148794368 65536


Вопрос, уважаемые знатоки. На какие грабли с т.з. безопасности я могу встать при таких настройках? Какие вообще возможны косяки?

 , ,

ls-h
()

Как общаться с LXC контейнером по имени?

Форум — Admin

Привет всем!

Разбираюсь с LXC контейнерами. Хочу, чтобы в них жили nginx'ы. Их будет много, они будут появляться и удаляться. Хочется, чтобы с контейнером можно было работать по его имени. Пингануть, например или получить страничку с 80-го порта.
Сейчас «получается» только так:

ping: unknown host containername
Гугл мне подсказывает, что мне надо поставить внутри контейнера mDNS, типа avahi, тогда оно будет доступно по containername.local Но оно не ставится:
Setting up avahi-daemon (0.6.32~rc+dfsg-1ubuntu2) ...
Job for avahi-daemon.service failed because the control process exited with error code. See "systemctl status avahi-daemon.service" and "journalctl -xe" for details.
invoke-rc.d: initscript avahi-daemon, action "start" failed.
dpkg: error processing package avahi-daemon (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of libnss-mdns:amd64:
 libnss-mdns:amd64 depends on avahi-daemon (>= 0.6.16-1); however:
  Package avahi-daemon is not configured yet.

dpkg: error processing package libnss-mdns:amd64 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 avahi-daemon
 libnss-mdns:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
И не очень понятно, почему так.
# systemctl status avahi-daemon.service
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2016-11-12 21:00:50 UTC; 9min ago
  Process: 342 ExecStart=/usr/sbin/avahi-daemon -s (code=exited, status=255)
 Main PID: 342 (code=exited, status=255)

Nov 12 21:00:50 misterelitru systemd[1]: Starting Avahi mDNS/DNS-SD Stack...
Nov 12 21:00:50 misterelitru avahi-daemon[342]: Found user 'avahi' (UID 109) and group 'avahi' (GID 113).
Nov 12 21:00:50 misterelitru systemd[1]: avahi-daemon.service: Main process exited, code=exited, status=255/n/a
Nov 12 21:00:50 misterelitru systemd[1]: Failed to start Avahi mDNS/DNS-SD Stack.
Nov 12 21:00:50 misterelitru systemd[1]: avahi-daemon.service: Unit entered failed state.
Nov 12 21:00:50 misterelitru systemd[1]: avahi-daemon.service: Failed with result 'exit-code'.
# avahi-daemon 
Found user 'avahi' (UID 109) and group 'avahi' (GID 113).
Successfully dropped root privileges.
chroot.c: fork() failed: Resource temporarily unavailable
failed to start chroot() helper daemon.
Не знаю, к чему тут чрут. Как лучше решить эту задачу?
Ubuntu 16.04
Спасибо!

 , ,

ls-h
()

Низкоуровневое «форматирование» microsd.

Форум — Talks

Привет!

У меня сдохла карточка на 64G, SP elite micro sdxc 64gb. На неё перестала записываться информация (перешла в read-only). Что забавно, система видит её как read-write, но ничего записать нельзя (включая прямое обращение к блочному устройству), точнее операции записи отрабатывают, но это не меняет содержимое. Если карточку извлечь и вставить обратно, то она показывает неизменное содержимое вне зависимости от того, что с ней происходило. В общем, понятно, что она исчерпала ресурс (резервные ячейки?).

Уже куплена другая, но из спортивного интереса хочется странного.
Возможно ли такую карточку как-либо «переформатировать» на меньший объём (например на 32G) и перераспределить область резервных ячеек?

Я понимаю, что это может быть сильно вендеро-специфично. Поэтому, если это не возможно для данной конкретной, то интересно, возможно ли хоть для какой.

Помнится раньше мне попадались утилиты для Flash накопителей некоторых вендеров, которые позволяли менять ёмкость и даже прикидываться DVD, если контроллер такое умел.

Линукс тут при том, что карточка использовалась для Android'а и ковырял её я на компе с линуксом.

 , , , ,

ls-h
()

Софт для предпросмотра дизайна на мобильном

Форум — Talks

Привет!

Для Development вроде не совсем подходит, для Multimedia - тоже, поэтому тут.
Короче говоря, ищу софтинку под андроид для предпросмотра дизайна мобильных приложений и мобильных версий сайтов на устройстве. Именно дизайна, т.е. для этапа, когда есть только макет из графического редактора, а не приложение.

Хочется следующее:
Чтобы можно было указать имя файла (или файлов и переключаться между ними) на компе (т.е., вероятно есть серверная часть), а приложение следило бы за его обновлением и обновляло бы картинку на телефоне. А на телефонной части были бы различные опции просмотра: масштабирование по ширине, уместить всё, масштаб 100%, вкл/выкл прокрутки и масштабирования, переход по файлам (если на компе их выбрано несколько).

Попробовал:

1. Android Design Preview достаточно старая софтинка с серверной частью на Джаве. Умеет показывать область экрана или файл. Никаких опций отображения нет, масштабирует путём растяжения (т.е. портит пропорции), за обновлением файла не следит, прокучивать нельзя.

2. The Preview. работает только с фотопопом, показывает содержимое холста. Опций отображения нет. Изменения показывает с заметным лагом.

Больше ничего путного не нашёл. Что посоветуете?

P.S. Хотелось бы таки использовать именно с файлом, чтобы рисовать можно было хоть в Inkscape, хоть в чём.
P.P.S. Linux тут при том, что Inkscape под него есть, и Android на нём работает, да и вообще!

 , , , ,

ls-h
()

Знания ради излечения болезных

Форум — Talks

на всю голову

Заметил у одного, вроде адекватного, (но прогулявшего всю физику) знакомого книженцию про здоровье, где были фотографии эффекта Кирлиана (т.е. фото коронного разряда). Рассказал в общих чертах суть явления, объяснил, что даже гвоздь «светится» и это никак не отражает состояние печени этого гвоздя. Человек задумался, но, я чувствую, до конца эту наивную веру не отбросил.

Решил погуглить на тему, чтобы скинуть знакомому статей, где бы объяснялось, что это полная фигня и не надо в это верить. Но нашёл только всякий шлак, вроде диагностики состояния ануса чего-только-можно по этим картинкам.

Это была предыстория. Так вот вопрос:
Есть ли какой-нибудь сайт, где учёные (я понимаю, что это им нафиг не надо, но вдруг) занимаются разоблачением всяких псевдонаучных бредней?

При чём тут линукс? Ну как же! Биополе у жесткого диска с линуксом гораздо лучше и красивее, чем у жиска с виндой. Да начнётся срачъ Не, ну правда, иногда человеки нормальные и адекватные в остальных вопросах, но верят в такую чушь. Бывает хочется помочь.

 ,

ls-h
()

echo 0 > /proc/sys/net/ipv4/ip_forward

Форум — Admin

Привет!

Добавил стартап скрипт с
echo 0 > /proc/sys/net/ipv4/ip_forward
, а оно всё равно 1 после загрузки. Но, если повторить команду уже по ssh, то устанавливается в 0 и так и остаётся.

Где оно задаётся? Хочу, чтобы всегда было 0.

DD-WRT v3.0-r29968 mega (06/17/16)

P.S.: Где подробно почитать про порядок загрузки DD-WRT?
P.P.S: OpenWrt в рабочем виде на эту железку не завезли.

 , , ,

ls-h
()

Контейнеры. Бекапы.

Форум — Admin

Привет!

Вопрос пока теоретический, хочу, чтобы меня наставили на путь истинный, и я был во всеоружии к моменту его практичности. =)
Есть сервак на ubuntu, lvm, mysql, nginx, php-fpm, python. Раньше он использовался для пары родственных проектов(сайтов). Потом, волею судеб, много всего поменялось и туда стали подселять другие проекты какого-нибудь знакомого знакомого.
И началось: надо дать доступ Васе, но мы ему полностью не доверяем, пусть будет только sftp без шела (хотя что ему мешает залить php-скрипт с шелом?); Пете надо поставить вот эту версию php, но она не подходит Саше.....

Короче говоря, это медленно превращается в мелкий хостинг с 15 - 20 сайтами и проектами (т.е. не только тупо сайты, но и всякие скрипты в кроне, которые куда-нибудь ходят, обновляют базы и пр.). Надо таки наводить порядок. Я подумал, что LXC будет хорошим вариантом.
Вот тут вопрос №1: Что лучше, LXC или какой-нибудь docker? Какие плюсы и минусы?

Второй вопрос про бекапы и базы данных. Сейчас для бекапа файлов делается снепшот LVM, база (вне lvm) дампится средствами самой БД в файлики, потом всё это собирается с помощью duplicity. Как лучше поступить после перехода на контейнеры? Желательно, чтобы его не нужно было останавливать и бекап был наиболее полным и атомарным. Я не очень понимаю, как бекапить БД. Если просто сделать бекап контейнера на уровне ФС, то х.з., что будет в базе на момент бекапа, так нельзя. Т.е. надо заходить в контейнер и там либо останавливать БД, либо делать дамп? Мне на эту тему попался criu. Я правильно понимаю, что с его помощью можно сделать единовременный снимок и памяти и файловой системы контейнера? Насколько оно работает?

 , , ,

ls-h
()

Cortana, say Ubuntu is cool!

Галерея — Скриншоты

Привет вам из Ubuntu GNU/kWindowsNT!

Поскольку большая часть скриншота содержит открытое ПО,я думаю можно. =)
Работает оно кривовато, но работает. Например, еще не реализовали нормальные PTYs, поэтому со всякими screen и просто эмуляторами терминала облом. Эмулятор терминала на данный момент один самый лучший - CMD!

Графика наиболее хорошо заработала с Х'ами из Cygwin'а с опцией включения композиции. Пробовал XMing - падает больше приложений. Но, всё равно, многие приложения вываливаются с жалобами на Bad Request. Связано ли это с Х'ами или с кривой реализацией какого-нибудь вызова этого монстра Франкенштейна, я пока не разобрался. Вот, даже Abiword и Gimp запустились. В Abiword'е можно печатать, к сожалению Gimp уходит в задумчивость при попытке создания изображения.

Консольные приложения работают вполне ничего, если не сильно увлекаются псевдографикой, таки сказываются ограничения консоли Windows. Можно ставить пакеты из репозиториев 14.04.

Система живет в домашней папке пользователя. Похоже, предполагается, что каждый пользователь Windows может установить свою Ubuntu. Внутри системы пользователь является root'ом, но других пользователей создавать можно.

Дружба народов двух систем: https://i.imgur.com/99xor12.png

P.S. Да, офтопик без активации, использовать не собираюсь, только пощупать интересно было.
P.P.S. Вот тут https://wpdev.uservoice.com/forums/266908-command-prompt/filters/top?page=1 можно голосовать за фишки, которые хотелось бы видеть в дальнейшем.
Предлагаю голосовать за вот эту: https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubun... Чтобы они сделали наоборот и Windows запускалась поверх Linux ядра. Конечно, они не сделают. Просто для прикола.

 

ls-h
()

Linux Meetup Нижний Новгород. 22 января 2016

Форум — Talks

https://mdday.timepad.ru/event/279578/

"
22 января в Нижнем Новгороде пройдет первый Linux Meetup. Тема митапа — разработка в Linux ядре. К нам приедут эксперты из компаний Auriga и Virtuozzo, чтобы выступить с «хардкорными» докладами, поделиться опытом разработки и ответить на все вопросы. Встреча будет интересна системным программистам и всем, кто интересуется разработкой в Linux kernel. Участие бесплатное, обязательна предварительная регистрация. Соорганизатор события — компания Auriga.
"

P.S. Я не организатор. Ссылку скинул знакомый.

 , , ,

ls-h
()

Canvas и работа с отдельными пикселями.

Форум — Development

Привет всем!

Я тут колупаюсь с алгоритмом путешествия по лабиринту.
Для визуализации работы и отлова багов мне понадобилось выводить это дело в некотором виде на экран.
Имея небольшой опыт работы с PyGTK, я решил попробовать PyObject+GTK3+GooCanvas.
Скудных возможностей GooCanvas-а мне достаточно, всего-то надо отобразить карту из png и поверх нее рисовать путь движения.
Возможно, потом добавится вывод информации об объекте по клику.
Карта загружается через GdkPixbuf, и тут появляется проблема с доступом к отдельным пикселям. Если раньше был метод get_pixels_array(), и с полученным массивом еще можно было более менее удобно работать, то сейчас есть только get_pixels(). Этот get_pixels() возвращает питоновский bytes, который надо самому делить на пиксели.
Я не говорю, что это невозможно. Но, может быть есть готовое решение, чтобы не велосепидировать?
В идеале, GdkPixbuf заменить бы на что-нибудь, с методом типа get_pixel_from_xy().

Что посоветуете?

 , ,

ls-h
()

Туннель до немцев хорошо?

Форум — Talks

Привет!

Что-то мой провайдер вдруг вздумал исполнять предписания одного органа, что контролирует интернет в этой стране, хотя раньше за ним не замечали такого. И делает это очень топорно, т.е. по IP.

Есть выделенный сервак у немцев. Ограничение по объему трафика там 30ТБ, хватит до попы.
Хорошо ли его использовать для целей туннеля средствами vpn, ssh, просто поднять socks-проксю?
Кто-нибудь такое делал? Не ругаются ли они?
Тут http://wiki.hetzner.de/index.php/VServer/ru вот у них написано, что даже на виртуальном можно поднять VPN. Но, VPN до сервера это ведь не тоже самое, что гонять через него трафик.

Вообще, совсем нехорошие сайты я не посещаю, но на торренты (есессно, качаться они будут мимо vpn, речь только о заходе на сайт) иногда заносит. С другой стороны, не снифают же они весь трафик?

P.S. Кстати, не вызывает ли у них напрягов использование TOR с их сервера? Этот вопрос уже из другой оперы, просто за одно. Там крутится небольшой полезный скриптик, который ходит по сайтам и собирает статистику. TOR для того, чтобы были разные IP.

 , ,

ls-h
()

Возможно, GNUstep форкнется и переедет на GitHub

Форум — Talks

Оригинал: https://lists.gnu.org/archive/html/discuss-gnustep/2015-12/msg00150.html
На опеннете: http://www.opennet.ru/opennews/art.shtml?num=43472
Ъ: Цель в том, чтобы сделать разработку более удобной и поднять темпы развития проекта.

Да всем насране интересно это, скажите вы.
Вот я к чему эту тему и создал. Интересно, неужели кто-то уже почти в 2016 году пользуется GNUstep? Прямо вот чтобы каждый день, в качестве основного DE. Я сам лет шесть назад ставил его, чисто чтобы пощупать историю (NeXTSTEP), забавы ради. Оно уже тогда было старым, скрипучим и засохшим в районе 95-го года. Чего там сейчас развивать и зачем оно надо?

 , ,

ls-h
()

Какой выбрать? Как настроить?

Форум — Desktop

Привет всем!

У меня знакомый хочет купить 4G свисток от Мегафона по акции (800р.).
http://nn.shop.megafon.ru/modems/modems.html
А я, к сожалению, сам никогда usb модемами не пользовался, поэтому перед покупкой решил спросить совета.

Какой из этих акционных лучше брать? Или вообще какой-нибудь другой?
Пульните, пожалуйста, в меня мануалом по настройке.
Я правильно понимаю, что его надо переключить из режима накопителя, тогда он будет виден как usb сетевая карта (вне зависимости от его текущего режима 4G/3G/2G) и на этом всё, дальше просто получение адреса по DHCP?
Как им рулить (менять настройки мобильной сети, смотреть статистику, т.п.).

Спасибо!

P.S. ОС Ubuntu 14.04, точнее Минт на ней, ЕМНИП.

 , ,

ls-h
()

Обертка для модуля

Форум — Development

Всем привет!
Есть модуль, который представляет собой .pyd файл. Импортируется он через .pyc следующего содержания:

def __load():
	import imp, os, sys
	try:
		dirname = os.path.dirname(__loader__.archive)
	except NameError:
		dirname = sys.prefix
	path = os.path.join(dirname, 'modulename.pyd')
	mod = imp.load_dynamic(__name__, path)
__load()
del __load

В нем есть куча классов с кучей методов и просто функций в самом модуле.
Есть какой-нибудь трюк, чтобы обернуть весь модуль и отслеживать вызовы любого метода?

 ,

ls-h
()

TOR, распараллеливание питона и другие вопросы

Форум — Development

Привет всем!

Есть скриптик на python 3, он ходит по сайтам через TOR, скачивает отдельные странички, парсит и собирает полезные ссылки на ресурсы.
Через n запросов тор перезапускается (в будущем планируется дописать общение с тором по tcp) для создания новой цепочки.

Через тор он ходит вот так:

socks.set_default_proxy(socks.SOCKS5, "127.0.0.1",9050)
socket.socket = socks.socksocket

Для получения контента используется httplib2, парсится полученное безобразие с помощью BeautifulSoup.

Вопрос первый:
Довольно часто случается исключение IncompleteRead, а если тор не использовать, то не случается. Как правильно готовить питона под соусом из тора? Сейчас проблема решается множеством повторений запросов.

Вопрос второй:
Посоветуйте, чего почитать про распараллеливание для такой связки, какую библиотеку использовать. Запросы к сайтам могут висеть достаточно долго, зависит от сайтов, тора и погоды на Марсе. Конечные ссылки собираются в несколько этапов: стянуть с сайта страничку со ссылками верхнего уровня (разделы), отобрать чего надо, повторить n раз, получить конечные ссылки на ресурсы. Также в планах есть проверка конечных ссылок с помощью некоторой софтины на локальном хосте, т.е. через запросы http://127.0.0.1/chechGrabbedURLPlease?url=<url>
В итоге получается три списка, которые могут обрабатываться параллельно:
1. Список запросов к сайтам верхнего уровня.
2. Список запросов к 127.0.0.1 для проверки.
3. Список проверенных ссылок для записи в файл.

UPD
Ах, да... Забыл написать, что было бы неплохо использовать несколько торов одновременно (на разных портах). И, в связи с этим, насколько я понимаю, используемый код для работы с тором не подойдет, т.к. это изменения на весь процесс, а надо на поток. Чем его заменить?

 , ,

ls-h
()

RSS подписка на новые темы