Pull to refresh
49
0
Тимофей Кулин @rekby

Системный администратор, разработчик.

Send message
Например чтобы один и тот же бинарник работал на любом линуксе, независимо от окружающих библиотек — это очень удобно.
Да, выше я говорил именно про него.
Проверил подробнее — при компилировании с GOARCH=386 — действительно сжимается и с виду работает — попробую использовать в работе.

При компилировании 64-битного бинарника — ошибка.
Что я делаю не так?
Обычно работаю с go 1.2.1, для проверки скачал последнюю версию. upx — из репозитория ubuntu 14.04

Заголовок спойлера
cd utils
GOROOT=/home/rekby/Downloads/go/ GOTOOLDIR=/home/rekby/Downloads/go/pkg/tool/linux_amd64/ /home/rekby/Downloads/go/bin/go build
upx utils 


                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.91        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 30th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
upx: utils: EOFException: premature end of file                                

Packed 1 file: 0 ok, 1 error.

Тут есть заметное отличие от busybox — busybox он всегда один, а вот такие multiex-ов может быть несколько, поэтому например он и свой модуль не инсталлирует по умолчанию и основного названия файла у него тоже нет — каждый разработчик может скомпилировать его по-своему и разные имена назначать кто символьными ссылками, кто жесткими. Как в этих условиях отличить главный вызов от неглавного (а просто с непредусмотренным именем) не понятно.

При необходимости такого же поведения первого параметра как у busybox можно написать модуль, вроде:

func asbb(){
  os.Args = os.Args[1:]
  multiex.Main()
}

func main(){
multiex.Register(multiex.ExecutorDescribe{Name: "asbb", Function: asbb})
}


Тогда при ./asbb cat 123 будет вызвана программа cat 123.

Про уязвимости — согласен, с sudo могут быть проблемы. Тут не досмотрел (в моём контексте это не актуально). Возможно такой глобальный параметр стоит сделать только опционально включаемым.
Это намеренное отступление — для унификации.

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

Т.е. например если есть экспортированная функция test, которая принимает параметр run и собственно экспортированная функция run. Что должна выполнить команда ./test run?
upx работает для разных архитектур linux и работает для «386-х» бинарников для маков и freebsdb:
upx.sourceforge.net/, таблица «Supported executable formats».
Попробовал. Штатно не работает — ругается на неправильный размер файла.

Есть проект, который правит бинарник перед сжатием upx, но с подробным устройством бинаников я не знаком и неизвестно насколько такие правки переносимы и будет ли это дополнительным источником багов когда-то потом, когда я уже привыкну что всё работает.
100 000 операций записи/стирания. Читать можно сколько угодно.
arduino.cc/en/Reference/EEPROMWrite

Для Ubuntu 14.04 уже есть готовый драйвер, который просто ставится из deb-пакета без бубнов. После установки токен сразу определяется в Safenet-клиенте.

Дальше просто поставить Java и можно работать.

Например если архив Java x64 скачан и распакован в текущей папке, сюда же скачан файл запуска клиент-банка, то запуск выгдядит так:
JAVA_HOME=$PWD/jre1.8.0_31 jre1.8.0_31/bin/javaws -Xnosplash JuridicalClient.jnlp

без -Xnosplash у меня стартовать не захотел, ссылаясь на не найденную картинку заставки.

На официальном сайте алладин упоминания о поддержке ubuntu 14 нету, но по запросу выслали ссылку на архив с драйвером.
Billing address это просто поле в веб-форме, он никак при оплате не проверяется.
Ну и вообще странная инициатива — в самой Украине к крымским доменам спокойно относятся.
Во-во, я занялся этой темой года полтора назад. Перенес всё в эти праздники.

Одним из рисков я рассматривал то что Hetzner или его банк могут просто не принять платеж с моей карты из-за каких-то политических конфликтов. А бесплатно держать сервера они естественно не будут.
Недавно вконтакте как раз на эту тему большое сообщение делал — почему в данный момент для российского бизнеса сервер лучше держать в России.

Godaddy не Hetznet, но в целом ему никто не мешает быть следующим.
Если экстраполировать дальше — могут и.рф/.ru/.su разделегировать на корневых доменах + IP-адреса отнять которые для России назначены.

Тогда у нас внутри страны это решится собственными корневыми доменами, а из-за рубежа будет упс. Ну очень надеюсь, что до этого не дойдет.
А где вариант «срочно передать домены под управление российского регистратора»? Т.е. без перерегистрации — не дожидаясь его освобождения (и тут же занятия киберсквоттерами).
На данный момент решение принимает человек на основе данных мониторинга и оповещений.
Автоматика в процессе поиска — она должна соответствовать тем же принципам, что и всё остальное — простое, понятное и предсказуемое в работе, заменяемое, отключаемое (т.е. в случае неожиданностей можно отключить автоматику и всё продолжит работать). Архитектурно она предусмотрена и будет работать в ДЦ с резервными копиями.

Если готовая не найдётся — будет писаться своя.
2. Кроме того ansible умеет подключаться не только по ключам, но и по паролю. Причем пароль умеет как запрашиваться в ходе выполнения, так и браться из файла настроек. Так что тем кто не знаком с работой по ключам или по какой-то причине нет возможности применить ключ — можно пользоваться вариантом с паролями и ключи раскладывать не придется.
За целостность лога транзакций отвечает ПО базы данных — тут ничего нового с точки зрения хостинга не придумать. В MySQL есть настройка как часто его скидывать на диск. Если изменения скидываются на диск в обход кеша — на физических серверах дополнительного кеширования не происходит — всё сразу уходит на диски. Правильность записи в журнал (т.е. что данные записаны в правильном порядке) могут контролироваться внутри VDS через системные вызовы вроде barrier.

По поводу кеша — да, то что было в кеше базы данных и не выброшено на диск — будет потеряно. Обычно в базах есть настройка с какой периодичностью сбрасывать данные на диск. Например MySQL-InnoDB сбрасывает данные на диск сразу или раз в секунду, в зависимости от dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit

Операции с диском внутри VDS синхронны — т.е. дополнительного кеширования в память тут не добавляется. Когда VDS пишет на свой диск синхронно (например при сбросе лога на диск), то ответ «ок» он получает в момент когда данные уже сохранены локально + получены резервным сервером.

Information

Rating
Does not participate
Location
Россия
Registered
Activity