Почитал на хабре про хаябусу и микроспутники и задумался. Можно ли использовать в космосе искусственный интеллект? Главная проблема — охлаждение достаточно мощной электроники ее энергопотребление. Но зачем в принципе туда совать нейронку? Да хотя бы ради автономности. Это особенно актуально для аппаратов, исследующих окраины Солнечной системы. Если у зонда достаточно мозгов, чтобы, например, скорректировать орбиту, не нужно ждать сутки, чтобы отправить команду и получить ответную реакцию. Плюс, такой аппарат в принципе будет гибче и эффективней в плане конечного результата. Собственно, ваше мнение, господа ЛОРовцы?
здравствуй читатель
пытаюсь освоить связку terraform и docker
пишу следующую конструкцию, которая по моей задаче должна бы
запустить три хеловорлда в докере
terraform plan проходит без предупреждений
[cut]
$ terraform apply
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
- create
Terraform will perform the following actions:
docker_container.foo[0] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo0»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_container.foo[1] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo1»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_container.foo[2] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo2»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_image.hello-world will be created
- resource «docker_image» «hello-world» {
- id = (known after apply)
- latest = (known after apply)
- name = «hello-world»
}
Plan: 4 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only ‘yes’ will be accepted to approve.
Enter a value: yes
docker_image.hello-world: Creating…
docker_image.hello-world: Creation complete after 0s [id=sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6bhello-world]
docker_container.foo[0]: Creating…
docker_container.foo[1]: Creating…
docker_container.foo[2]: Creating…
docker_container.foo[1]: Still creating… [10s elapsed]
docker_container.foo[2]: Still creating… [10s elapsed]
Error: Container afd354e763dfb796c74fa7d4e253ecb961b7301d15d5343e7cbf9f0b094f309d exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
Error: Container 8d7638874ea4c8705cbc760f8e1f36118018fa90a50bda0df0c883cc6c0c6f55 exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
Error: Container 260404f0618ebbd4e481f0a5fe41414e2a0e8ec03aa1e2aeba7e8de4ab91e0bc exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
[/cut]
$ docker -v
Docker version 19.03.11, build 42e35e61f3
$ terraform -v
Terraform v0.12.26
- provider.docker v2.7.1
запускаю пальчиками или через ansible все без проблем
[cut]
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa5fb066ee85 hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago quizzical_merkle
12b62aefd47b hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago quizzical_robinson
f92c9a5ed928 hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago relaxed_euler
[/cut]
убираю count и запускаю один экземпляр hello-world прекрасно работает из terraform.
Где и что я упустил из виду?
спасибо
Нужна помощь сообществу Диссернет в выкачивании диссертаций из НЭБ (Национальная Электронная Библиотека).
Диссернет занимается проверкой диссертаций «на вшивость». К сожалению вшивость местами такова, что относительно небольшое число активистов и автоматизация процесса позволяет вычислить большую часть списанных/купленных/украденных диссертаций, но для этому нужен доступ непосредственно к самому их тексту. Причём доступ нужен не только к проверяемым диссертациям, но и ко всему массиву имеющихся для поиска зависимостей в тексте.
Что необходимо:
- Умение и возможность запускать скрипт python на долгое (несколько суток) время на десктопе/ноутубке/через что-нибудь вроде x2go, так как используется API firefox для симуляции человека.
- Регистрация на сервисе Госуслуги. Это необходимо для авторизации, которая делается вручную один раз на запуск скрипта.
Последствия:
- Вас забанят на сайте НЭБ. Вы больше не сможете просматривать имеющиеся там доступные для граждан РФ и оцифрованные на их налоги текстовые ресурсы.
Меня забанили после выкачивания примерно 500 диссертаций. Забанили всех, кто использовал скрипт в течении недели от начала запуска скрипта. Сейчас интервал забана уменьшился до пары суток. Банят и по IP, и по логину. На мой запрос в службу поддержки стоит внезапно ожидаемая тишина.
Что можно сделать:
- Написать мне по e-mail упомянутом в моём тутошнем профиле и я по запросу вышлю скрипт и инструкцию (проверялась на ноутбуке с Ubuntu 18.04), а также договоримся как буден передан результат.
P.S. IMHO мошенникам должно икаться. Сами они это за нас не сделают.
Тут: http://dl.voglea.com/boobstrap.html
Это черновой вариант моих скриптов, которые я использую для создания загрузочных BIOS/UEFI ISO-образов с линуксами, которыми я пользуюсь сам для жизни в tmpfs. Тупа рабочий код без проверок и «защит от дурака», только чтобы показать всем как создаются ISO. В следующих версиях уже будут все защиты, все проверки на установленные утилиты и прочая, а пока — просто показываю и прошу ваших советов.
И так, код включает в себя три утилиты:
- mkbootstrap — утилита аналогична debootstrap, pacstrap, создаёт рабочее окружение в chroot/ директории одной командой.
- mkinitramfs — утилита создаёт initramfs-образ из директории, подключая chroot/ директории как раздельные «слои» (overlay), используя squashfs для сжатия.
- mkbootisofs — утилита создаёт из директории загрузочный BIOS/UEFI гибридный образ, который можно записать на CD, DVD или dd'шнуть на USB-флешку.
Для работы всего это безобразия необходимы: grub2/grub2-efi, squashfs-tools, dosfstools, xorriso. В принципе, я считаю это немного, никакой экзотики, удалось обойтись малыми жертвами, ИМХО. Все утилиты надо запускать через boobstrap, т.к. они лежат в одном файле, в будущем сделаю симлинками (или разделю на отдельные файлы).
По порядку.
boobstrap mkbootstrap crux_gnulinux chroot/ --ports-dir /usr/ports/packages [--ports-dir /usr/ports/another] [package name] [...]
Утилита установит все пакеты в заданную chroot/ директорию. Можно указать несколько --ports-dir, можно указать только названия пакетов которые будут найдены в заданных директориях и установлены, например, если вам не нужен весь /usr/ports/core, а только ключевые пакеты, то можно их указать списком. Название crux_gnulinux зарезервированная переменная, в будущем я добавлю поддержку gentoo_gnulinux и других дистрибутивов.
В данный момент утилита не будет работать без pkgadd, чтобы её получить вам придётся скачать CRUX и вытащить её оттуда. Напоминаю, что всё это черновой вариант.
Если вы решились ею воспользоваться, то чтобы она заработала прежде установите pkgadd (если у вас не CRUX):
wget ftp.morpheus.net/pub/linux/crux/latest/iso/crux...
mount crux-3.5.iso /mnt/crux-media
tar -xOf /mnt/crux-media/crux/tools/pkgutils#*.pkg.tar.gz usr/bin/pkgadd > /usr/bin/pkgadd
chmod +x /usr/bin/pkgadd
Далее ставим в chroot CRUX одной командой.
mkdir chroot-crux-core/
boobstrap \
mkbootstrap crux_gnulinux chroot-crux-core/ \
\
--ports-dir /mnt/crux-media/crux/core
Если хотим минимальный CRUX, то список пакетов можно перечислить (формат перечисления не важен, я просто для красоты так сделал).
mkdir chroot-crux-core-xtreme/
boobstrap \
mkbootstrap crux_gnulinux chroot-crux-core-xtreme/ \
\
--ports-dir /mnt/crux-media/crux/core \
\
acl attr bash bzip2 coreutils dash dhcpcd e2fsprogs elfutils eudev \
file filesystem findutils gawk glibc grep gzip inetutils iproute2 \
kbd kmod less libcap libdevmapper libpcre linux-pam lzo ncurses \
openssh openssl pkgutils procps rc readline shadow start-stop-daemon \
sysfsutils sysklogd sysvinit tar util-linux wget which xz zlib \
\
--ports-dir /mnt/crux-media/crux/opt \
\
grub2 grub2-efi
Если хотим вообще всё, то перечисляем все директории без указания пакетов.
mkdir chroot-crux-maximum-edishon/
boobstrap \
mkbootstrap crux_gnulinux chroot-crux-maximum-edishon/ \
\
--ports-dir /mnt/crux-media/crux/core \
--ports-dir /mnt/crux-media/crux/opt \
--ports-dir /mnt/crux-media/crux/xorg
Далее.
boobstrap mktinitramfs initramfs/ --overlay overlay-one/ [ --overlay overlay-two/] --output $PWD/initrd
Утилита создаст из директории initramfs/ готовый к употреблению initramfs-образ, в данный момент обязательно требуется указывать --overlay, он же chroot/, в который вы будете загружаться. В будущем я расширю настройки, обязательно сделаю --standalone и другие варианты загрузки прямиком в tmpfs, даже без squashfs, просто tmpfs. Но потом.
Сейчас. В чём суть оверлеев. В chroot/ у нас установлена система, но чтобы её не засорять, мы создадим директорию settings/, куда отдельно складываем все настройки.
Например, я хочу отредактировать файл chroot/etc/rc.local, я не буду делать этого в chroot/, чтобы оставить его «ванильным», а скопирую его в директорию settings/etc/rc.local, отредактирую, и при загрузке initramfs наложит поверх слоя chroot/ ещё один слой settings/, таким образом мы сохраняем ванильную систему ИИИИИ применяем наши настройки поверх неё.
Ду ит. Джаст ду ит.
mkdir initramfs/
boobstrap mkinitramfs initramfs/ \
--overlay chroot-crux-core-xtreme/ \
--overlay settings/ \
--output $PWD/initrd
На выходе получили initrd, в котором лежат два squashfs-образа с chroot-crux-core-xtreme и нашими settings.
На этом этапе добавив к initrd любое ядро его можно просто загрузить, например, через PXE, но наша с вами цель получить загрузочный ISO, поэтому едем дальше.
boobstrap mkbootisofs directory/ > output.iso
Вот так вот просто, да. Просто берёт просто директорию и всё что в ней есть просто упаковывает в ISO. Просто просто. Не забудьте только положить туда vmlinuz и initrd.
mkdir bootimage/
mkdir bootimage/boot
cp (возьмите где хотите)/vmlinuz bootimage/boot/vmlinuz
cp ./initrd bootimage/boot/initrd
boobstrap mkbootisofs bootimage/ > bootable.iso
Можно сразу dd:
boobstrap mkbootisofs bootimage/ | dd of=/dev/sdX status=progress
Давайте ещё один пример приведу.
Gentoo.
1. Скачиваем, распаковываем в chroot
mkdir gentoo-chroot/
wget bouncer.gentoo.org/fetch/root/all/releases/amd6...
tar xf stage3-* -C gentoo-chroot/
2. Упаковываем в initramfs.
mkdir gentoo-initramfs/
boobstrap mkinitramfs gentoo-initramfs/ --overlay gentoo-chroot/ --output $PWD/gentoo-initrd
3. Упаковываем в ISO.
mkdir gentoo-bootimage/
mkdir gentoo-bootimage/boot
cp (возьмите где хотите)/vmlinuz gentoo-bootimage/boot/vmlinuz
cp ./gentoo-initrd gentoo-bootimage/boot/initrd
boobstrap mkbootisofs gentoo-bootimage > gentoo.iso
4. ?????
5. PROFIT!
qemu-system-x86_64 \
-bios $(locate OVMF.fd) \
-enable-kvm -m 1G -boot d -cdrom gentoo.iso
qemu-system-x86_64 \
-enable-kvm -m 1G -boot d -cdrom gentoo.iso
Скриншот: http://dl.voglea.com/boobstrap.png
Ваши пожелания и предложения, кроме как найти себе женщину, приветствуются!
Я нашел ссылку на Opera 12 для Linux:
http://ftp.opera.com/pub/opera/linux/1216/opera-12.16-1860.i386.linux.tar.bz2
У меня вопрос: там исходный код или какая штуковина для установки?
Ситуёвина такая. Понадобился Gimp 2.10. Слака 14.2, но за несколько лет половину либ обновлял с каррента. Гимп работал точно, правда, где-то месяцев 7 не запускал. И тут при запуске стал падать. Говорит что:
GEGL-Message: Ошибка загрузки модуля '/usr/lib64/gegl-0.4/ff-load.so': /usr/lib64/libswscale.so.4: version `LIBSWSCALE_4' not found (required by /usr/lib64/gegl-0.4/ff-load.so)
GEGL-Message: Ошибка загрузки модуля '/usr/lib64/gegl-0.4/ff-save.so': /usr/lib64/libswscale.so.4: version `LIBSWSCALE_4' not found (required by /usr/lib64/gegl-0.4/ff-save.so)
gimp: fatal error: Ошибка сегментирования
Что за LIBSWSCALE_4, можно ли оживить?
Объясните новичку, что с буквой Л-большое:
$ nano -w Лето &
[3] 3299
$ ps axww | grep 3299
3299 pts/0 T 0:00 nano -w ?ето
Проверялось на gentoo, Ubuntu 18.04.4 LTS bionic
Для ubuntu:
locale
LANG=ru_RU.UTF-8
LANGUAGE=ru
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Мы научились сегодня передавать тонны всякого ненужного мусора по одному лёгкому мановению, связываться за десятки тысяч КМ между собой в обычной жизни, но как текущее поколение людей или даже поколение еще ранее сможет оставить нам невольно и может быть по неосторожности своё наследство? Многие люди совершают в одиночестве коллосальные усилия для выжимки капли мудрости из своей головы в течение всей жизни, попади эта капелька в информационную кашу, её просто смоет либо же её даже не смогут найти и не станут искать.
Как бы к нам в руки попали многие труды великих русских классиков если бы не недосмотру или не осторожности, как бы мы узнали о втором томе «Мёртвых Душ», существовал ли бы «Бахчисарайский фонтан» если бы не были найдены заметки которые оставлял Пушкин? И его черновики в принципе!
Я пытаюсь сказать здесь то, что сегодня люди не смогут получить доступ ни к мудрости ни к работам и наследию прошлого поколения, ибо все их труды будут оставлены зашифрованными и забытыми на бесконечных полосах магнитных дисков и ячейках nand памяти, мы никогда в жизни не сможем увидеть что-то особенное или простое невинное и искреннее именно благодаря тому, что взять в руки бумажный носитель и открыть гораздо доступнее и легче, чем ковырять потенциально бестолковый зашифрованный кем-то диск, с непонятной целью и содержанием, а может быть на нем было то самое содержание? И оно крайне ценно? Может это писал современный Достоевский или Лермонтов?
Я хочу понять что из себя представляет резервное копирование по пунктам в unix-подобных ОС.
Помимо очевидного хомяка, что еще следует копировать если к примеру речь идёт о переносе системы, либо же в случае внезапной смерти диска основного для быстрого развёртывания точь в точь такой же настройки на новом диске используя резервное копирование? Копировать весь sda считаю глупым, но что именно надо? /etc/? /usr/? Есть где-то описание этого всего?
И еще вопрос, есть ли какой-то автоматизированный инструмент для dpkg, чтобы сделать некий снимок списка пакетов из компьютера №1 и перенеся его(тупо текстовый файл список пакетов) на компьютер №2 чтобы dpkg смог воспринять его как руководство к установке точь в точь набора пакетов на №2?
В общем, очевидный ответ - это посмотреть выхлоп dmidecode
. Но на моей машине почему-то он одинаковый (даже если включен через wake on lan всё равно выводит Power Switch). Есть ещё какие-нибудь способы?
Гуглил, но там безрадостно - пишут, что от материнки зависит. Здесь тоже уже было (12139823), но там даже до dmidecode не добрались.
Предыстория. После двух лет запусков «прошивки для игорей» через qemu/KVM я порядком подзадолбался и перешёл на дуалбут схему (около года назад – и ничуть не жалею).
Ну так вот, чтобы перезагрузиться в «прошивку» из линукса я могу использовать efibootmgr
или grub-reboot
(последний почему-то перестал работать после переноса /boot на f2fs, ну и хрен с ним).
Теперь я хочу чтобы по wake on lan (Steam Link отправляет) комп грузился сразу в «прошивку.» Ну, «сразу,» видимо, никак нельзя, поэтому я хочу грузиться в онтопик, детектировать wol и перезагружаться в «прошивку.» Может есть другие способы - без DMI? В интернетах предлагали вместе с отправкой wol менять какой-нибудь файлик на сетевом хранилище и его читать в отнопике во время загрузки, но это не вариант - в стим линке нет хуков и файлик никак не записать перед wol. (Ну, а если нужно выполнять какие-то дополнительные действия, то таким действием может быть поход в соседнюю комнату и включение компа вручную)
Зашел в настройки и заметил пункт Send error reports to Canonical(всегда отключал его сколько себя помню), чуть ниже есть пункт - Previous Reports, жму и открывается ссылка вида https://errors.ubuntu.com/user/6754taeshjhbgvfcdr6iokfcdxszawdergdfhthgryujlyr6ugh и там список репортов
Мне тут подумалось: а чего все хейтили CSD в гнуме? У меня сейчас весь GTKшный софт в sway отрисовывает собственные кнопочки и это выглядит в целом ок.
У кого нибудь есть успешный опыт в запуске многопользовательской игры в 3 героях с HD модом?
В одиночной игре проблем нету, при попытке начать многопользовательскую игру или присоединиться - висяк
Пробовал и wine vanilla и wine staging, разницы 0.
Хочется выяснить, это я криворук или нет
просьба посоветовать:
ос мс вс 3 не встает на virtual box - не видит диска - как это устранить что можно добавить в сборку ?
Из-за того что Ardour не умеет автоматом заносить семплы инструментов и саундшрифты в каталог проекта и юзать их от туда по относительным ссылкам для меня тяжёлым головняком является вопрос об организации семплохранилища. Чтобы понять тяжесть можно почитать здесь.
Как вы решаете эту проблему? Может есть какие идеи?
Здравствуйте, у меня возникла проблема. Я хочу сделать на bash проверку лицензии по ip vds. Искал в интернете нашел только на данном форуме тему - Привязка bash скрипта к IP, но там ничего не ясно. Помоги пожалуйста.
[Каким образом можно сделать, чтобы лицензионный bash скрипт после покупки запускался только на одном IP? В ином случае, чтобы писало что-то типо «У вас нет активной лицензии».]
Доброго времени суток. У меня не получается делать include jinja2 шаблонов из шаблонов django. Кто подскажет как это реализовать?)
5 июня состоялся выпуск Wine 5.10.
Wine — прослойка совместимости приложений для Windows с POSIX-совместимыми ОС, транслирующая вызовы Windows API в вызовы POSIX на лету вместо эмуляции логики Windows вроде виртуальной машины.
Помимо более 47 исправлений в багтрекере, в новом выпуске:
- Продолжается разработка бекенда WineD3D на Vulkan.
- Начало работы над отдельной UNIX-библиотекой для NTDLL.
- Улучшенная поддержка античит-драйверов, работающих на ядерном уровне (StarForce v3, TrackMania Nations ESWC. Denuvo Anti-Cheat)
- Больше подстановок глифов в DirectWrite.
- Поддержка закрытых DSS-ключей.
- Исправления обработки исключений ARM64.