RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[>] Re: Шрифты
linux.14
Difrex(mira, 14) — vit01
2015-07-15 10:09:01


>А какие у вас самые любимые шрифты для использования в интерфейсе?
Liberation Sans.

В консольке Liberation Mono, в "Sublime Text 2" Monaco

[>] azot
linux.14
Difrex(mira, 14) — All
2015-07-22 17:03:14


Сегодня подумал, что мне не хватает действий на углах экрана, как в kwin, например.

Написал такую штуку https://github.com/Difrex/azot. Может кому полезно будет :)

[>] Re: Просим, казалось бы, невозможного у VNC и Pulseaudio
linux.14
Difrex(mira, 14) — vit01
2015-07-27 11:23:39


>Первая задача решается через VNC.

Кстати, советую заменить VNC на NX или X2go. :)

>А ещё пульсаудио не шипит и не портит звук, как про него многие с Лора любят говорить

Пульсаудио рулит =)

[>] Re: Скриншоты
linux.14
Difrex(mira, 14) — vit01
2015-07-27 15:01:25


А вот мой http://storage4.static.itmages.ru/i/15/0727/h_1437994819_1040467_72099de28a.png

В таком окружении уже почти 4 месяца

[>] Re: LILO закрывают
linux.14
Difrex(mira, 14) — spline
2015-09-14 16:45:49


>Особенно на GRUB2, так как слишком он сложный в настройке
Да ладно тебе. Нормально он настраивается

vi /etc/defaults/grub
grub-mkconfig > /boot/grub/grub.cfg
grub-install /dev/sda

ЗЫ. Лило пользуюсь на некоторых машинках.

[>] MS Linux
linux.14
Difrex(mira, 14) — All
2015-09-18 13:10:10


Микрософт проиграл.

ii://2NQ7aCfFarqPROo1W9Mq

[>] Танком по кокаину
linux.14
Difrex(mira, 14) — All
2015-10-13 17:01:20


Кокаин(Yandex cocaine) прекрасен своей масштабируемостью. Вот, например, есть у нас всего лишь одна нода и на ней всего одно приложение на nodejs. При возрастании нагрузки кокс сам запустит необходимое количество процессов nodejs, чтобы отдавать данные с минимальным откликом.

Приложения изолируются друг от друга. Путей изоляции несколько: proccess spawning, cgroups, docker.

И так, посмотрим на продакшен:
$ cocaine-tool info
{
    "apps": {
        "site_web-1.0": {
            "load-median": 0,
            "profile": "spawn",
            "sessions": {
                "pending": 0
            },
            "queue": {
                "depth": 0,
                "capacity": 100
            },
            "state": "running",
            "slaves": {
                "active": 0,
                "idle": 1,
                "capacity": 10
            }
        },
        "test_site_web-1.1": {
            "load-median": 0,
            "profile": "spawn",
            "sessions": {
                "pending": 0
            },
            "queue": {
                "depth": 0,
                "capacity": 100
            },
            "state": "running",
            "slaves": {
                "active": 0,
                "idle": 0,
                "capacity": 10
            }
        }
    }
}
У нас запущенно два приложения: продакшен, в который смотрит интернет и тест в который смотрит локальная сеть. Нагрузка в данный момент минимальна.

Попробуем пустить нагрузку. Я буду использовать yandex-tank. С линейным возрастанием количества запросов в секунду, а потом с постоянным RPS в течении 5 минут. Будем нагружать тестовое приложение :). Пульки заряжаем:
line(1,1000,1m) const(1, 800, 5m)

Пулим и смотрим, что происходит с кокаином:
ps aux | grep cocaine | wc -l
134

Кокс сам пустил дофигища своих форков, чтобы нормально отрабатывать запросы.

Довольно слов! А графики вот:
* http://storage1.static.itmages.ru/i/15/1013/h_1444741070_8277061_cc04f720d3.png
* http://storage5.static.itmages.ru/i/15/1013/h_1444741087_2241184_6546648048.png
* http://storage8.static.itmages.ru/i/15/1013/h_1444741106_8000667_4fdb5b0c2e.png
* http://storage9.static.itmages.ru/i/15/1013/h_1444741121_4574491_424dfe3a4b.png
* http://storage1.static.itmages.ru/i/15/1013/h_1444741138_7778052_204ac4dc16.png

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

А если вдруг нам станет не хватать этого сервера, то мы сходим на другой и зупустим приложение и там
cocaine-tool -h another.cox.node.example.com app start --name uber-app-0.1 --profile spawn --timeout 20000

И локатор найдет его там, и нагрузку пустит как надо, и будет хорошо, да.

[>] Re: Первая проба Android NDK или лень против костылей :)
linux.14
Difrex(mira, 14) — vit01
2015-10-19 15:54:30


А IDE не пробовал?
Может, в нем проще будет NDK пользовать

[>] Re: Первая проба Android NDK или лень против костылей :)
linux.14
Difrex(mira, 14) — vit01
2015-10-20 14:54:06


>Оставляем 20 знаков в msgid и обязательную точку в имене эхи, но без обязательного числа в конце (ii.talk)

Я за такой вариант

[>] Re: VirtualBox on amd64
linux.14
Difrex(mira, 14) — jmaks
2015-11-10 14:02:33


>slackware
Оу...

А так в немаргинальных дистрах:
apt install virtualbox
dnf install virtualbox
pacman -S virtualbox
emerge -av virtualbox

>Ничего не дает правильного результата. Кто чем может помочь?
Попробуй qemu-kvm+virt-manager. Понравится.

[>] Re: VirtualBox on amd64
linux.14
Difrex(mira, 14) — jmaks
2015-11-12 12:57:34


>чем хорош qemu? и будет ли он работать на x86_64 архитектуре?
*qemu-kvm*. kvm в ванильном ядре. Будет работать, конечно. У нас облако на kvm(как бэкенд к openstack, конечно же) построено, а это примерно 400 виртуалок amd64.

[>] Re: VirtualBox on amd64
linux.14
Difrex(mira, 14) — jmaks
2015-11-12 12:58:43


Да, попробуй этот мануал http://docs.slackware.com/howtos:general_admin:kvm_libvirt

[>] Re: Ставим цезий на любой андроид за 5 минут
linux.14
Difrex(mira, 14) — vit01
2015-11-19 18:34:57


>https://f-droid.org/repo/com.termux_19.apk
Спасибо тебе, хороший человек! Как отличная штука!

[>] Скриншотов-тред!
linux.14
Difrex(mira, 14) — All
2015-11-20 15:32:09


Собрал себе патченный i3wm -- теперь красотень ваще =)
http://storage6.static.itmages.ru/i/15/1120/h_1448019044_6416446_48a601512b.png

[>] Re: Скриншотов-тред!
linux.14
Difrex(mira, 14) — vit01
2015-11-20 16:11:10


>Кстати, недавно новая версия dwm вышла, пробовал кто?
Это его надо пересобирать после правки конфига? :)

[>] ipfs
linux.14
Difrex(mira, 14) — All
2015-12-16 17:49:08


Что думаете на счет сабжа?

https://ipfs.io/

[>] Re: Скриншотов-тред!
linux.14
Difrex(mira, 14) — jmaks
2016-01-18 11:16:43


>>Собрал себе патченный i3wm — теперь красотень ваще =)

>кажи давай свой i3wm...
Так тут же и ссылка на скриншот же была ii://z65LuvnvbvW70SH4TaPv

[>] Re: mcabber
linux.14
Difrex(mira, 14) — btimofeev
2016-02-02 10:43:07


Я пытался им пользоваться и он сломал мне ростер.
Почти все люди из групп вида "Отдел безопасности", "Отдел вязания носков" переместились в группу "свалка". И это отстой полный.

[>] Re: Termux
linux.14
Difrex(mira, 14) — vit01
2016-02-08 18:28:37


>У сабжа появился свой виджет
Где взять? В маркете только платный.

[>] Re: Termux
linux.14
Difrex(mira, 14) — vit01
2016-02-09 15:48:41


Там и искал, просто не нажал значек обновления.

Но не работает. Пишет при установке, что "неизвестная ошибка".
Ну и ладно.

[>] Собираем deb-пакеты
linux.14
Difrex(mira, 14) — All
2016-02-10 12:48:29


Продолжаю адаптировать для ii статьи из корпоративного бложика.
Побудило на написание этой статьи, то что нет нормальной статьи где просто объясняется сборка деб-пакета без премудростей.
Конечно, существует книга от меинтейнеров Debian GNU/Linux и она хороша! Но въехать сразу не получиться.
А ведь на начальном этапе нам скорее всего захочется опакетить свой простой срипт не углубляясь в дебри debian/rules, и.т.д.

Если возникнут вопросы, то спрашивайте. На текущий момент я меинтейню около 40 пакетов + отвечаю за управление репозиториями.

Статья начинается тут.
--
* Сборка deb-пакета

*Важно*

Устанавливаем переменные окружения
cat >>~/.bashrc <<EOF
export DEBEMAIL="your.email.address@example.org"
export DEBFULLNAME="Firstname Lastname"
EOF
 
. ~/.bashrc

* Генерация ключа GPG

Ставим GnuPG(скорее всего уже стоит):
apt-get install gnupg

Генерируем ключ:
gpg --gen-key
gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
 
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 2y
Key expires at Fri Feb 24 06:23:31 2017 UTC
Is this correct? (y/N) y
 
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
 
Real name: Vasya Pupkin
Email address: vasya@pupkin.org
Comment: Primary key for sign
You selected this USER-ID:
    "Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>"
 
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
 
You don't want a passphrase - this is probably a *bad* idea!
I will do it anyway.  You can change your passphrase at any time,
using this program with the option "--edit-key".
 
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
...+++++
.........+++++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.+++++
.+++++
gpg: /home/vasya/.gnupg/trustdb.gpg: trustdb created
gpg: key B8FB4F1B marked as ultimately trusted
public and secret key created and signed.
 
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2017-02-24
pub   2048R/B8FB4F1B 2015-02-25 [expires: 2017-02-24]
      Key fingerprint = 7ADC D709 8FCD 1BCE 78BB  8B2C 9CE1 ABB8 B8FB 4F1B
uid                  Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>
sub   2048R/FC16A5D6 2015-02-25 [expires: 2017-02-24]

Отвечаем на простые вопросы, вводим свое настоящее имя, почту и пароль. Затем gpg попросит вас совершать какие-нибудь действия для лучшей энтропии.
Экспортируем открытый ключ:
$ gpg --list-key
/home/vasya/.gnupg/pubring.gpg
------------------------
pub   2048R/B8FB4F1B 2015-02-25 [expires: 2017-02-24]
uid                  Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>
sub   2048R/FC16A5D6 2015-02-25 [expires: 2017-02-24]
$ gpg -a --export 'Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>' > vasya.pub

Отправляем получившийся файлик администратору вашего репозитория.

Смысл в том, что проверка подлинности сборщика происходит при помощи сверки подписи пакета при загрузке его в репозиторий.

Устанавливаем необходимые пакеты для сборки:
apt-get install debhelper dh-make dh-make-perl devscripts

* Hello world!

Создадим структуру
$ mkdir hello-world-0.0
$ cd hello-world-0.0
$ dh_make -n -s -e vasya@pupkin.org -c gpl3 -y
Maintainer name  : vasya
Email-Address    : vasya@pupkin.org
Date             : Wed, 25 Feb 2015 06:48:44 +0000
Package Name     : hello-world
Version          : 0.0
License          : gpl3
Type of Package  : Single
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the hello-world Makefiles install into $DESTDIR and not in / .
Не обращаем внимания на то, что dh_make ругается на отсутсвие мейкфайла -- он нам и не нужен.

Смотрим, что нам нагенерили скрипты:
.
|-- debian
|   |-- README
|   |-- README.Debian
|   |-- README.source
|   |-- changelog
|   |-- compat
|   |-- control
|   |-- copyright
|   |-- docs
|   |-- emacsen-install.ex
|   |-- emacsen-remove.ex
|   |-- emacsen-startup.ex
|   |-- hello-world.cron.d.ex
|   |-- hello-world.default.ex
|   |-- hello-world.doc-base.EX
|   |-- init.d.ex
|   |-- manpage.1.ex
|   |-- manpage.sgml.ex
|   |-- manpage.xml.ex
|   |-- menu.ex
|   |-- postinst.ex
|   |-- postrm.ex
|   |-- preinst.ex
|   |-- prerm.ex
|   |-- rules
|   |-- source
|   |   `-- format
|   `-- watch.ex
`-- hello_world.sh
Из всего того, что находится в ./debian/ мы оставим только:
.
|-- debian
|   |-- changelog
|   |-- compat
|   |-- control
|   |-- copyright
|   `-- rules
`-- hello_world.sh

Редактируем ./debian/changelog и приводим его к следующему виду:
$ vim ./debian/changelog
hello-world (0.1) updates; urgency=low
 
  * Initial Release.
 
 -- Vasya <vasya@pupkin.org>  Wed, 25 Feb 2015 06:48:44 +0000
:wq

В дальнейшем для бампа версии рекомендую использовать dch -i

Создадим файл ./debian/install

* Про исходники с ./configure make make install

Для облегчения заполнения файла рекомендую воспользоваться данным методом
$ ./configure --prefix=<YOUR_PREFIX>
$ make && make install
 
$ cd <YOUR_PREFIX>
$ for i in `find -type f | sed 's/^..//'`; do echo $(basename "$i") "usr/$(dirname $i)"; done > <SOURCE_DIR>/debian/install

На примере пакета smcroute файл install будет таким
mcsender usr/bin
smcroute usr/bin
mcsender.8 usr/share/man/man8
smcroute.8 usr/share/man/man8
smcroute.conf usr/share/doc/smcroute
ChangeLog usr/share/doc/smcroute
smcroute.init usr/share/doc/smcroute
AUTHORS usr/share/doc/smcroute
COPYING usr/share/doc/smcroute
TODO usr/share/doc/smcroute
README usr/share/doc/smcroute

Обратите внимание, что переде путем не стоит первого '/' -- это правильно.

* Продолжаем про Hello World!

./debian/control, главный файл. Но в таком пакете, как у нас там нечего редактировать практически:
Source: hello-world
Section: dev
Priority: extra
Maintainer: Vasya Pupkin <vasya@pupkin.org>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.3
Homepage: <insert the upstream URL, if relevant>
#Vcs-Git: git://git.debian.org/collab-maint/hello-world.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/hello-world.git;a=summary
 
Package: hello-world
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: My first debian package

* debuild

Собираем пакет:
$ debuild -k'Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>'
# Вывод пропущен
 signfile hello-world_0.0.dsc Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>
 
 signfile hello-world_0.0_amd64.changes Vasya Pupkin (Primary key for sign) <vasya@pupkin.org>
 
Successfully signed dsc and changes files

Через опцию -k можно указать какой использовать ключ, если он у вас, как и у меня, не один.

Мы получили в итоге такие вот файлы:
hello-world-0.0
hello-world_0.0.dsc
hello-world_0.0.tar.gz
hello-world_0.0_amd64.build
hello-world_0.0_amd64.changes
hello-world_0.0_amd64.deb

* debrelease/dupload/dput

Настало время загрузить пакет в репозиторий. Конфиг для debrelease/dupload:
cat > ~/.dupload.conf << EOF
package config;
 
$preupload{'changes'} = '/usr/share/dupload/gpg-check %1';
 
$cfg{'master'} = {
        fqdn => "example.com",
        method => "scpb",
        incoming => "/srv/repo/packages/mini-dinstall/incoming/",
        # files pass on to dinstall on master which sends emails itself
        dinstall_runs => 1,
};
 
1;
EOF

Теперь можно залить пакет. Находясь в каталоге с исходниками выполним:
$ debrelease --to master

Конфиг dput:
~/$ cat > .dput.cf  << EOF
[master]
fqdn = example.com
method = scp
login = *
incoming = /srv/repo/packages/mini-dinstall/incoming
EOF

Загрузка пакета. Переходим в каталог выше:
$ cd ../
$ dput master hello-world_0.0_amd64.changes

*Мне больше нравится использовать dput, т.к. у debrelease/dupload сносит крышу от ssh на нестандартном порту.*

(ɔ) Difrex <difrex.punk@gmail.com> 2015-2016 and
w1r0x <vv1r0x@gmail.com> 2015

Лицензия Creative Commons
Это произведение доступно по лицензии Creative Commons «Attribution-ShareAlike» («Атрибуция — На тех же условиях») 4.0 Всемирная.

[>] А есть ли в природе консольная xdg menu
linux.14
Difrex(mira, 14) — All
2016-03-23 11:09:47


Хочу выводить в консольке приложения, на подобие, как tree. Гуглить пытался - не нашел.

Типа того хочу:
$ termmenu admin/
/admin/
  ssh
  nmap
$ termmenu /
/
  admin/
  console/
  web/
  e.t.c/

Есть ли что-то такое? Если нет, то сегодня-завтра напишу. Надо кому еще?

[>] Re: А есть ли в природе консольная xdg menu
linux.14
Difrex(mira, 14) — Difrex
2016-03-25 11:12:23


Собственно вот https://github.com/Difrex/pomen
Набросал вчера. Буду дорабатывать еще.

Нужен deb-пакет кому?

# пример
[work pomen]$ ./pomen.pl /
/Application
/AudioVideo
/Development
/GNOME
/GTK
/Game
/Graphics
/Network
/Office
/Qt
/Settings
/System
/X-Fedora
/X-Red-Hat-Base
[work pomen]$ ./pomen.pl /Network
/Network
    /Email/
    /FileTransfer/
    /InstantMessaging/
    /Telephony/
    /WebBrowser/
[work pomen]$ ./pomen.pl /Network/InstantMessaging/
/Network/
    InstantMessaging/
        Клиент обмена мгновенными сообщениями Pidgin    pidgin

[>] Re: WM
linux.14
Difrex(mira, 14) — vit01
2016-04-01 16:19:08


О, а меня второй моник появился недавно на работе :)
http://storage8.static.itmages.ru/i/16/0401/h_1459513014_8826548_c5f01d088a.png

[>] lotly. Codename Prototype
linux.14
Difrex(mira, 14) — All
2016-04-15 11:57:46


lotly - система управления плоскими репозиториями mini-dinstall

Так как первая версия может быть не стабильна, было решено начать нумеровать релизы со 100.0

Фичи

*Итак, что есть в версии 100.1*

* Няшный логотип
* Копирование пакета из репозитория в репозиторий
* Перемещение пакета из репозитория в репозиторий
* Ребилд базы mini-dinstal
* Остановка и запуск mini-dinstall
* Стандартное файловое API на JSON
* Утилита коммандной строки: lotlyctl
* Отправка логов в Elasticsearch

*Известные проблемы*

* Ребилд БД занимает продолжительное время
* Маппинг в Elasticsearch для индекса надо делать руками

*TODO*

* Поддержка не плоских репозиториев(pool/a,b,c)
* drop-in замена mini-dinstall

Ссылка: https://github.com/Difrex/lotly

[>] Re: lotly. Codename Prototype
linux.14
Difrex(mira, 14) — btimofeev
2016-04-17 22:05:22


>Это восьминог?))
Это аксолотль :)

>А что такое плоские репозитории и minidinstall?
Плоские репозитории - это такие репы в которых пакеты лежат прямо в корне, т.е. как-то так:
http://uri/debian/testing/package.deb, без разделения на pool/{a,b,c}.

mini-dinstall это программа для создания и управления репозиториями Debian.

[>] Re: Шеллы/Shells
linux.14
Difrex(mira, 14) — vit01
2016-04-21 11:06:24


>Какой у вас любимый $сабж?
GNU bash :P

[>] Re: owncloud
linux.14
Difrex(mira, 14) — Andrew Lobanov
2016-05-04 12:36:39


Использую и в личных целях и в компании.

Плюшки:
* Бэкенд для хранилища можно подключить по S3, например ceph
* Галереи, просмотр видосиков
* шифрование
* webDAV

Все отлично поднимается на nginx+php5-fpm, настройки есть в офф документации. Можно просто пригнать docker: docker pull owncloud:release_tag_or_latest.

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

SSL можно и от letsencrypt заюзать.

[>] Re: stumpwm
linux.14
Difrex(mira, 14) — Difrex
2016-05-25 11:20:20


>На работе i3wm, дома LXDE и KDE.
Теперь на работе i3wm, GNOME 3.20 на ноуте и дома на десктопе LXDE.

ЗЫ: Гном очень понравился. Выглядит целостно, дизайн - огонь. Приложения простые и быстрые. На ноуте у меня тачевый экран - работает зашибись, мультитач в том числе.

[>] Re: DE/WM
linux.14
Difrex(mira, 14) — vit01
2016-05-26 16:28:34


>Раньше часто использовал gnome-calculator из-за его простоты и удобства. Теперь перешёл на Emacs calс и не жалею
А я в качестве калькулятора юзаю echo $(( 2 + 2 )) :D

[>] Mesos
linux.14
Difrex(mira, 14) — All
2016-07-07 12:27:04


Зафигачили несколько проектов полностью в сабж.
Офигительно: разрабы довольны -- у них есть кнопочка для рестарта их сервиса, апишечка куда они могут стучаться. Тестировщики довольны -- у них есть окружение полностью идентичное боевому. Админы довольны -- все работает :)

Статью написать вот в нашу секточку думаю.

ЗЫ: в субботу выезжаю в Крымнаш, не будет меня две недели. Нода/поиск в авторежиме будут работать.

[>] Re: Mesos
linux.14
Difrex(mira, 14) — Andrew Lobanov
2016-07-08 14:09:32


>Если что, можно цезий на андроиде юзать (я так езжу нынче)
Да, я использую цезий на телефоне, но, боюсь, что интернетов у меня там не будет :)

Фоточки будут. Как раз новый объектив купил.

[>] Re: OwnCloud/NextCloud Bookmarks
linux.14
Difrex(mira, 14) — vit01
2016-08-09 11:22:44


У меня как раз есть owncloud, буду тестить. Потом расскажу о результатах :0

Кстати, owncloud не такой и тяжелый, на самом деле. Там-то надо всего ничего: nginx, php5-fpm, mariadb/postgresql/sqlite, еще memcached можно.

[>] Re: Проекту GNU 33 года
linux.14
Difrex(mira, 14) — Andrew Lobanov
2016-09-28 10:03:34


Вчера пили хреновуху по этому поводу :)

[>] Surok 0.7
linux.14
Difrex(mira, 14) — All
2016-10-20 11:42:28


Под свободной личензией(BSD 3-clause) открыт код Surok и вся дальнейшая работа будет продолжена на github.

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

Что сейчас реализовано(v0.7):
* Обнаружение сервисов через dns(mesos-dns)
* Шаблоны конфигураций на Jinja2
* Перезапуск контейнера(самого себя) через Marathon API
* Перезагрузка приложение через команду(reload_cmd)
* Актуальная документация на русском языке

Планы на версию 0.6:
* Ослеживание состояния сервиса внутри контейнера
* Явное указание, где запускается surok - в контейнере или нет
* Перезагрузка конфигурации через kill -HUP PID. Если, приложение упало, то запускается вновь(run_cmd).

Планы на версию 0.8:
* Все, что в 0.6
* Проверка состояния сервиса через Marathon API(healthcheck)
* Собвственные проверки через запуск команды
* Обнаружение сервисов через Marathon

Планы на версию 0.9:
* начальная поддержка zookeeper

Известные проблемы:
* Костыль в surok/system.py с переменной First(уйдет в 0.6)
* Неверное сравнение конфигурации для можества сервисов. Что я имею в виду:
dns возвращает список A записей по очереди, т.е. он меняется:
# первый
dig _nginx.testing._tcp.marathon.mesos SRV
;; ADDITIONAL SECTION:
nginx.testing-513q3-s1.marathon.mesos. 20 IN A	10.15.56.157
nginx.testing-y3zdd-s2.marathon.mesos. 20 IN A	10.15.56.250
nginx.testing-r58dj-s1.marathon.mesos. 20 IN A	10.15.56.157
nginx.testing-fbpxm-s0.marathon.mesos. 20 IN A	10.15.56.252
nginx.testing-riirn-s4.marathon.mesos. 20 IN A	10.15.56.156

Склонировать: https://github.com/Difrex/surok

[>] Re: Surok 0.7
linux.14
Difrex(mira, 14) — Difrex
2016-10-20 11:45:22


Отправил.

Продолжение:
>dns возвращает список A записей по очереди, т.е. он меняется
# Второй запрос
dig _nginx.testing._tcp.marathon.mesos SRV
;; ADDITIONAL SECTION:
nginx.testing-y3zdd-s2.marathon.mesos. 20 IN A	10.15.56.250
nginx.testing-r58dj-s1.marathon.mesos. 20 IN A	10.15.56.157
nginx.testing-fbpxm-s0.marathon.mesos. 20 IN A	10.15.56.252
nginx.testing-riirn-s4.marathon.mesos. 20 IN A	10.15.56.156
nginx.testing-513q3-s1.marathon.mesos. 20 IN A	10.15.56.157

Т.е. это правильное подение dns сервера. Но surok пока не умеет корректно обрабатывать такие изменения и считает конфигурацию изминившийся.
Бедет исправлено в ближайшем корректирующем релизе ветки 0.7

[>] Re: mcabber-URxvt-URLs-browser
linux.14
Difrex(mira, 14) — jmaks
2017-02-14 01:41:16


Зашибись!

Надо постараться осилить этот urxvt. А то я все в gnome-terminal сижу.

ЗЫ: В emacs по M-X shell можно перемещаться по тексту :)

[>] Re: Hostname-server-mnemonic
linux.14
Difrex(mira, 14) — jmaks
2017-02-25 19:01:17


Я сейчас именую серваки примерно так:

c1.dc1.msk.example.com

[>] Re: linux.14 All to all coders and night-life workers
linux.14
Difrex(mira, 14) — 1i8r4
2017-05-04 12:33:38


Пользуюсь redshift. Больше нравится, сам определяет местоположение, что очень круто, когда ты едешь куда-то.

[>] Re: Шрифты в терминале
linux.14
Difrex(mira, 14) — Peter
2017-05-24 12:11:39


>Кто какие шрифты использует в терминале (а также emacs, vim)?
Везде Hack 15.

[>] Re: Шрифты в терминале
linux.14
Difrex(mira, 14) — Peter
2017-05-25 14:07:17


>Есть там кириллица?
Кириллица есть.

>Где шрифт посмотреть?
Вот скрин с GNU Emacs https://cloud2.difrex.ru/index.php/s/uEBhqJmbzCgoiDs

А вот репа со шрифтом https://github.com/chrissimpkins/Hack

[>] Systemd рулит
linux.14
Difrex(mira, 14) — All
2017-08-28 13:00:22


Сабж.

Покупал тут для своего проекта виртуалочки на DO. Пытался уложиться в мелкий бюджет - 20$.

В итоге взял 3x512RAM + 1x1GRAM.

В таких условиях нужно ограничивать сервисы. Городить туда Mesos очень не хотелось. В итоге все нагрузочно протестировалось на локальной виртуалке, посчиталось на листочке, сколько какому сервису нужно по-минимуму памяти и проца, написаль шаблоны для юнитов systemd - теперь можно динамически менять ресурсы для каждого из сервисов. Будь то докер или нет. :)

Пример юнита /etc/systemd/system/some_service@.service:

[Unit]
Description=Some API
After=docker.service

[Service]
Type=simple
ExecStart=/usr/bin/docker run --name some_service%i some_service:latest --listen 0.0.0.0:15282 -d
ExecStop=/usr/bin/docker stop -t 0 some_service%i
ExecStopPost=/usr/bin/docker rm -f some_service%i
MemoryLimit=8M
Restart=always

[Install]
WantedBy=multi-user.target

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

systemctl start some_service@2

А нагрузку отбалансировать можно nginx, тем более в нем уже давно есть стриминг и lua, так что haproxy больше ненужен.

[>] Re: Systemd рулит
linux.14
Difrex(mira, 14) — vit01
2017-08-28 17:46:56


>Интересно, а как такие виртуалки поведут себя, если им увеличить память через своп на основе ZRAM?
А вот хз. Я, честно говоря, никогда этот ZRAM не пробовал.

[>] Re: emacs FB2-mode
linux.14
Difrex(mira, 14) — Andrew Lobanov
2017-09-07 12:23:05


Круто! Спасибо.

[>] PMd secure storage
linux.14
Difrex(mira, 14) — All
2017-09-13 18:29:13


Два года назад я создал пустой репозиторий на гитхабе. Я планировал написать сервер для своего менеджера паролей - PM.
Но репозиторий оставался пустым :). И вот меня наконец достало синкать пароли через всякие хранилки, будь то яндекс.диск или свой owncloud.

Пароли у меня постоянно добавляются и удаляются. А устройств на которые хочется их притаскивать ставится больше. В очередной раз забыв отправить новую версию базы в облако, я вспомнил про свой пустой реп и возобновил разработку.

Только из сервера чисто для PM это все вылилось в простую универсальную безопасную хранилку данных. Авторизация, доступ и.т.д построенно на использовании GPG. Попутно я открыл биндинг к GPG на golang.

Только что я затегировал весию 0.1. Как показали тесты - она вполне стабильна, но баги там есть.

Ссылки:

* PMd secure storage https://github.com/Difrex/PMd
* PM password manager https://github.com/Difrex/PM
* gpg golang bindings https://github.com/Difrex/gpg

Надеюсь, кому-то еще это может быть полезно :)

ЗЫ: После стабилизации хранилки PM будет переписан на golang с сохранением обратной совместимости.

[>] Re: PMd secure storage
linux.14
Difrex(mira, 14) — Difrex
2017-09-14 13:40:21


Выкатил первый стабильный релиз - 0.2: https://github.com/Difrex/PMd/releases/tag/0.2.

Там есть собраный бинарь под Linux amd64.

Добавилась возможность сноса юзера со всеми данными. Для этого достаточно отправить подписанный запрос на /purge.

Публичный сервер разлит тут: https://pm.lessmore.pw

[>] Re: Emacs и emms
linux.14
Difrex(tavern,23) — btimofeev
2018-08-21 20:46:38


А я вот Mingus пользуюсь в emacs, но mpd не умеет нормально в cue, приходится резать.

[>] Re: Emacs и emms
linux.14
Difrex(tavern,23) — Andrew Lobanov
2018-08-22 13:25:02


AL> Для удобного прослушивания bitjam podcast собрал mpd и ncmpcpp. И вот там поддержка cue имеется (ради неё и собрал). Правда есть ощущение, что реализована она средствами фронтенда. Однако emacs на лиспе и, возможно, получится безболезненно реализовать эту поддержку самостоятельно.
Так mingus -- это просто интерфейс к mpd. Как ты mpd научил нормально cue понимать?

// Sent from my GNU Emacs

[>] Re: Emacs и emms
linux.14
Difrex(tavern,23) — Andrew Lobanov
2018-08-22 17:20:35


AL> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.

// Sent from my GNU Emacs

[>] Re: Emacs и emms
linux.14
Difrex(tavern,23) — Andrew Lobanov
2018-08-22 22:58:55


AL>>> Так это решается, вроде как, не в бэкенде. Ncmpcpp их умеет из коробки, но он не имакс.
Difrex>> Хм, интересно. Нужно почитать код ncmpcpp, посмотреть как там это сделано и попробовать на elisp перенести.

AL> Ну я не гарантирую свою правоту, но было бы странно при поддержке cue в самом mpd не иметь её во всех клиентах.
Так mpd играет, просто треки не показывает.

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20