Рубрика «linux» - 250

Я Draw
В начале было «Я»
xRain Logo
Привет!
Я часто исследую разные задачи, проблемы и вот одна из них — оказалось, что есть много много GNU дистрибутивов, но все они так или иначе работают по принципам unix, то есть как такового развития не происходит, развиваются программы, ядро, а вот структура как была x-летней давности так и осталась, в общем-то это объясняется проблемами совместимости, которые могут возникнуть в случае попытки прыжка на месте. Я решил задуматься о том какие могут быть возможности развития GNU/Linux и в то же время о вариантах объединения сообществ разных дистрибутивов, поэтому подозреваю, что есть адепты в том числе и оконных поделок, и бсделок, а для меня и не-иксы примерно все одинаковые, по крайней мере в плане распределения транзакций между кэшэмкэшами ядер процессоров, предлагаю сразу же git дружно.
Задача этого поста — привлечь внимание аудитории к проблеме, оценить степень её важности и попробовать найти более совершенное исполняемое решение, хотелось бы добрых намерений и возможной добровольной помощи в реализации.
Читать полностью »

Устанавливаем любой Linux дистрибутив на Digital Ocean

Digital Ocean — лоукостер на рынке облачных VPS провайдеров. Пользуется технологией виртуализации KVM. Хорош по соотношению цена/качество и бла-бла-бла, вы сами всё это знаете.

Но есть в нём и несколько минусов, одним из которых является ограничение в поддерживаемых операционных системах. Официальная позиция хостера состоит в том, что место на дисках в дроплетах (образах виртуальных машин) может быть расширено из панели управления без необходимости переустановки системы, поэтому загрузчик туда лучше не ставить. В связи с этим, libvirt не читает загрузчик внутри образа, а использует предустановленное в панели управления ядро с хостовой машины.

Поддержку загрузки пользовательских ядер они обещают сделать со дня на день… уже чуть больше года.

Мы ждать и клянчить не будем :)

Читать полностью »

Abstract: использование cgroups для ограничения прожорливости компилятора по процессору и диску.

Лирика

Дано:
программист 1шт,
ноутбук с ноутбучным диском на 5200 rpm — 1шт,
исходных файлов на хаскеле 300 шт
Файлы coffee-script (будущий JS) — 300 шт
время компиляции — 40 минут.

Задача: компилировать в бэкграунде не ставя всю систему в состояние «ад и погибель». Можно даже ценой увеличения времени сборки до 50-60 минут.

Решение?

cgroups

Читать полностью »

image

Несмотря на амбициозный старт, когда менее чем за сутки было набрано более 3 миллионов долларов из необходимых 32 миллионов, интерес к смартфону довольно быстро упал и сегодня, Canonical анонсировали что с сегодняшнего дня и до конца кампании снижает цену на смарфтон до фиксированой цены 695$.

Canonical пообещал компенсировать разницу в цене всем тем, кто заплатил за телефон больше,

За прогрессом кампании можно следить на сайте ubuntu-edge.info.

Кампания: Indiegogo
Источник: Читать полностью »

Привет. Вместо очередной инструкции на тему «как сделать роутер из Raspberry Pi» мы решили сделать специальную сборку Raspbian под задачи домашнего роутера. Эту сборку достаточно развернуть на SD карту, вставить ее в RPi — и роутер готов.

Основные возможности такого решения — как у любого домашнего роутера. Раздача адресов устройствам внутри сети, перенаправление портов, DDNS и другие привычные вещи. Есть и приятные отличия — поддержка Pandora и Netflix, возросшая производительность при работе через VPN и практически неограниченные возможности по кастомизации.

Читать полностью »

Недавно я выложил под BSD лицензией небольшой проект на 8 килострочек C кода. Официально это коллекция бенчмарков для моих клиентов — вендоров промавтоматики. Код очень специфический, и, на первый взгляд, малоприменим за пределами узкой области PLC и motion control. Но есть небольшая изюминка, на которой я не очень акцентировал внимание в статье на IDZ. В поставку бенчмарков включена baremetal среда для их исполнения. В этом посте я опишу, что это такое, и как ее можно использовать.
Читать полностью »

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

  • Нет возможности оптимизировать автоматически много файлов
  • Сложно и неудобно использовать в рабочем процессе

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

Оптимизация изображений с помощью командой строки

Для каждого png файла используются optipng и pngcrush, а для jpg — jpegtran. Для начала опробуем optipng:

Оптимизация изображений bash скриптомЧитать полностью »

Доступна для загрузки специализированная сборка Ubuntu GamePack 13.04 — операционная система на базе Ubuntu, которая обеспечит гарантированный запуск более чем 1 420 игр, как оригинальных, разработанных специально для платформы GNU/Linux, так и значительного количества игр для MS Windows.

Данный дистрибутив создан на базе Ubuntu OEM 13.04.
В GamePack добавлено:
Читать полностью »

Предыдущие статьи серии:
О построении провайдерской сети в небольшом городе. Часть 1

Общая схема сети

image

Пояснения к схеме.
1) Присутствуют следующие Vlan сети:
vlan0 172.16.0.0/24
vlan1 10.1.0.0/16
vlan2 10.2.0.0/16

На предыдущем месте работы была реализована сеть на четыре vlan, не считая главного. Город маленький и я посчитал достаточным наличие двух сетей для пользователей. С задачей же подавления широковещательных штормов вполне справляется встроенное ПО управляемых коммутаторов.

2) Шейпер работает в режиме bridge. Контроль трафика осуществляется посредством пакета iproute2 и в частности утилиты tc, а еще точнее tc htb. Правила для обработки трафика заносятся скриптом, получающим входные параметры от биллинга UTM5.

3) На головной станции ведомые коммутаторы D-Link DGS-3627G соединены, через один главный D-Link DGS-3627G, чтобы уменьшить эффект каскадирования. Связь между главным коммутатором и ведомыми может быть как оптическая, так и коротким отрезком витой пары, для снижения затрат на SFP модули.
Читать полностью »

XRDP хорошая штука, но есть один недостаток — если ты уже открыл к сессию, а потом разъединился (без выхода из сессии), то впоследствии не факт, что ты к ней сможешь соединиться. Маялся с этим приличное время пока неудобство достигло критической точки и я решил таки взяться и глянуть в исходники, чтобы выяснить как же это поправить.

Способ не претендует на идеальность, было бы хорошо конечно вообще выложить коммит разработчику, но для этого нужно не просто тупо закомментировать указанные ниже строки, но добавить хотя бы опцию, которая позволяет включать менее разборчивый режим при определении — открыть новую сессию или использовать старую. К тому же необходимо проверить на корректность работы алгоритма с отключенным разборчивым режимом, чего я пока не делал, ибо протестировал — работает, и я рад ибо для меня сейчас прежде всего важна практическая польза.

Ну что ж, начнем. Суть способа заключается в комментировании в файле sessman/session.c пяти следующих строк:

    if (g_strncmp(name, tmp->item->name, 255) == 0 
        //&&
        //tmp->item->width == width &&
        //tmp->item->height == height &&
        //tmp->item->bpp == bpp &&
        //tmp->item->type == type
            )

Поясню. Здесь сканируются существующие сеансы и делается проверка, от какого пользователя и какого разрешения, цветовой глубины, типа (VNC, XRDP) планируется открыть сессию. Если находится сеанс с такими же параметрами, то подключаемся к той же сессии. Если нет, открываем новую. Условия: разрешение, глубина цвета, тип сеанса, я решил отключить.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js