И это всё МОЁ

Всем привет! Можете помочь нубу?)

У меня есть ноут, на нём Arch Linux. Я хочу зашифровать всю систему, но у меня ничего не получается. Я пытался сделать несколькими способами:

Во всех случаях GRUB_ENABLE_CRYPTODISK=y;

1) Я сделал /EFI, сделал luks раздел, на нём в LVM разместил /boot и остальное. Файлы grub поместил в /boot, efi поместил в /boot/efi. Результат — rescue. Про пароль даже не спросил.

2) См. первое, только теперь файлы grub лежат в EFI разделе, как и конфиг. Результат — не спросил про пароль, не смог найти LVM раздел.

3) Теперь бут отдельный, зашифрован. В нём лежат файлы grub, конфиг, ядро с initrd. Никакого LVM. Rescue.

4) Перенёс опять файлы grub в EFI раздел. Нихрена. Даже пароль не спросил. Пошёл грузить /vmlinuz. Откуда, спрашивается?

Я не понимаю, они что, выпилили этот функционал? Как тогда в opensuse это делается? Отдельным патчем? Opensuse гуёвый, ничерта не понятно как там под капотом. И да, может стоит упомянуть, что у меня nvme? Может поэтому?








 ,








И это всё МОЁ

Компания Mozilla не планирует включать по умолчанию поддержку DNS-over-HTTPS для пользователей из Российской Федерации из-за давления со стороны РосКомНадзор-а. Тем не менее, Mozilla работает над поиском потенциальных партнёров для более широкого применения технологии DNS-over-HTTPS в других странах СНГ.

Mozilla рассматривает DNS-over-HTTPS (DoH) как инструмент для обеспечения приватности и безопасности пользователей, который исключает утечки сведений о запрашиваемых именах хостов через DNS-серверы провайдеров, позволяет бороться с MITM-атаками и подменой DNS-трафика, противостоит блокировкам на уровне DNS и позволят работать в случае невозможности прямого обращения к DNS-серверам (например, при работе через прокси). Если в обычной ситуации DNS-запросы напрямую отправляются на определённые в конфигурации системы DNS-серверы, то в случае DoH запрос на определение IP-адреса хоста инкапсулируется в трафик HTTPS и отправляется в шифрованном виде на один из централизованных DoH-серверов, минуя DNS-серверы провайдера.

С позиции РКН протокол DNS-over-HTTPS наоборот угрожает безопасности пользователей и разрушает принятые в РФ стандарты интернет-безопасности, так как упрощает обход блокировок и фильтров, устанавливаемых провайдерами в соответствии с требованиями регулирующих органов Российской Федерации или при организации систем родительского контроля. Во многих случаях подобные блокировки выполняются через фильтрацию запросов DNS и использование DNS-over-HTTP сводит на нет эффективность данных систем.


Ссылка на оригинал новости: http://www.opennet.ru/opennews/art.shtml?num=51046

Дискач.








 , ,








И это всё МОЁ

Пытаюсь сделать загрузочный образ с ubuntu 18.04:


# 0_debootstrap.sh
rm -rf rootfs
arch="amd64"
hostname="custom"
mirror="ru.archive.ubuntu.com/ubuntu/";
suite="bionic"
variant="minbase"
components="main,universe,restricted,multiverse"
include="linux-image-4.15.0-20-generic, live-boot, dropbear, cryptsetup, systemd-sysv"
debootstrap --merged-usr --cache-dir=`(pwd)`/cache --arch="$arch" --include="$include" --components="$components" --variant="$variant" "$suite" rootfs "$mirror"
echo "$hostname" > rootfs/etc/hostname
echo "Setting root passwd"

echo "CRYPTSETUP=y" > rootfs/etc/cryptsetup-initramfs/conf-hook
chroot rootfs /bin/bash -c "echo -e 'zaq1xsw2\nzaq1xsw2\n' | passwd root"
#разрешить ssh в initrd по паролю
sed -i 's/local flags=\"Fs\"/local flags=\"F\"/' rootfs/usr/share/initramfs-tools/scripts/init-premount/dropbear
#скопировать рутовый пароль в initramfs
cp passwd_hook.sh rootfs/etc/initramfs-tools/hooks/

chroot rootfs /bin/bash -c "update-initramfs -u"
rm -rf image
mkdir -p image/{live,isolinux}
mksquashfs rootfs image/live/filesystem.squashfs -e boot


#password_hook.sh  chmod +x password_hook.sh
#!/bin/sh

PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac

grep -e root /etc/shadow > ${DESTDIR}/etc/shadow



#создание криптоконтейнера
rm crypt.img
size=`du --block-size=512 image/live/filesystem.squashfs | awk '{print $1}'`
dd if=/dev/zero of=crypt.img bs=512 count=1 seek=$(($size+10320))
loopdev=`losetup -f`
losetup $loopdev crypt.img
echo -n "mypass" | cryptsetup -q luksFormat $loopdev -
echo -n "mypass" | cryptsetup -q luksOpen $loopdev crypt
dd if=image/live/filesystem.squashfs of=/dev/mapper/crypt bs=512
# mkdir /mnt/crypt
# mount /dev/mapper/crypt /mnt/crypt
# umount /mnt/crypt
# rmdir /mnt/crypt
cryptsetup luksClose crypt
losetup -d $loopdev
mv crypt.img image/live/filesystem.squashfs


#Генерация загрузочного образа
mkdir -p image/live image/isolinux
rm live.iso
echo "prompt 0
DEFAULT Custom
menu title Boot Menu
timeout 300

label Custom
menu label ^Custom
menu default
kernel /live/vmlinuz
append initrd=/live/initrd ipv6.disable=1 net.ifnames=0 biosdevname=0 ip=192.168.0.192::192.168.0.1:255.255.255.0::eth0:none boot=live" > image/isolinux/isolinux.cfg
cp rootfs/boot/vmlinuz* image/live/vmlinuz
cp rootfs/boot/initrd* image/live/initrd
cp /usr/lib/ISOLINUX/isolinux.bin image/isolinux/
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 image/isolinux/

xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes \
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 \
-A "ISO" \
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
-o live.iso image


Гружусь в созданный образ, загрузка доходит до монтирования fs и останавливается. Так и планируется. Заходим по ssh и монтируем:


loopdev=`losetup -f`
losetup $loopdev /live/medium/live/filesystem.squashfs
cryptsetup luksOpen $loopdev crypt
# тут вводим пароль
mkdir /newroot
mount /dev/mapper/crypt /newroot
mount --move /sys /newroot/sys
mount --move /proc/newroot/proc
mount --move /dev/newroot/dev
exec switch_root /newroot /sbin/init


После switch_root получаю kernel panic! Без шифрования всё работает. Хочу спрятать корень от посторонних глаз (система на флешке, могут ведь и конфиги посмотреть да и другого чего вытащить).









 , , , ,








И это всё МОЁ

Буквально вся суть текущего состояния государственного аппарата переползающего всеми силами в ВЕБ, выглядит так:

http://10.129.224.162/upload/Doc/press/Памятка.docx

Ссылка взята с официального государственного сайта, ссылка ДЕЙСТВУЮЩАЯ и актуальная! Взято отсюда https://rosreestr.ru/site/activity/okazanie-gosudarstvennykh-uslug/sposoby_po...

В этой строчке прекрасно всё, и голый айпи-адрес хоста статичный(привет вашей базе данных с вашим данными, вплоть до площади комнаты из которой вы сидя за компом сейчас читаете это) и неработающий он же, и файл .docx с которым государство якобы борется, вынуждая своими грёбаными файлами людей скачивать и покупать вражеский M$ office, прекрасен и набор доменов подключённых с их же скриптами НА ГОСУДАРСТВЕННОМ САЙТЕ! НА КОТОРЫЙ ВЫ ПО ИДЕЕ ДОЛЖНЫ ЗАХОДИТЬ ВМЕСТО ПРИВЫЧНОГО ОФИСА, КОТОРЫЙ В БУДУЩЕМ БУДЕТ ЕДИНСТВЕННЫМ МЕСТОМ ПОЛУЧЕНИЯ УСЛУГИ И ОБЩЕНИЯ С ГОСУДАРСТВОМ!

 …google-analytics.com
…gosmonitor.ru
…yandex.ru
…youtube.com
…ytimg.com







 








И это всё МОЁ

Всем привет.

Начал тыкать палкой вебпак. Пытаюсь собрать начальное клиентское приложения на базе backbone.js. Есть вот такой вот конфиг:

var webpack = require('webpack');

const { resolve } = require('path');
const SRC_PATH = resolve(__dirname, 'src');
const STATIC_PATH = resolve(__dirname, '../static/admin/');

var ExtractTextPlugin = require('extract-text-webpack-plugin');


module.exports = {
entry: [
`${SRC_PATH}/js/main.js`,
`${SRC_PATH}/css/style.css`
],
output: {
filename: 'js/[name].js',
path: resolve(__dirname, 'dist'),
},
resolve: {
modules: ['node_modules']
},
module: {
rules: [
{
test: /\.(js)$/,
exclude: /node_modules/
},
{
test: /\.(jst)$/,
use: 'underscore-template-loader'
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'}),
}
]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
_: "underscore",
"window.jQuery": 'jquery',
}),
new ExtractTextPlugin('styles.css', {
allChunks: true
})
]
};

main.js

'use strict';

window.$ = window.jQuery = require('jquery');
import 'bootstrap/dist/css/bootstrap.min.css';
import '../css/style.css';
require("bootstrap";);

var Backbone = require('backbone');
var Router = require('./routers/router');

Backbone.$(function() {
new Router();
Backbone.history.start();
});

После сборки и подключения бандла. В консоле получаю ошибку:

TypeError: e.replace is not a function

Ошибка эта в кишках библиотеки sizzle (которую, как я понял, юзает jquery).

Сталкивался ли кто-нибудь с такой фигней? В чем может быть проблема?








 , , ,








И это всё МОЁ

Федоровцы поют песнь, что всё путём. верим, любим, скорбим.
CentOS «восьмая» по ходу троллейбуса не выйдет.

Лето и начало осени будетт жарким...

Готовим попокорн...








 ,








И это всё МОЁ

Здравствуйте!

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

«Зачем?»

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

«А может ты пойдешь на профессиональные форумы со своими вопросами?»

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

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

«Ну и общайтесь в чатах со своими друзьями!»

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

«Клуб уже был. Эксперимент провалился»

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

«Хорошо. И каким нам его сделать?»

Это вопрос для всех участников данного форума, и прежде всего заслуженных модераторов и администраторов.

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

Политика, провоцирующая негативные эмоции, должна быть под запретом.

Эротический контент так же недопустим.



Очень буду рад обсуждению данного вопроса. Заранее всем спасибо за участие.








 








И это всё МОЁ
Представлен релиз web-браузера Firefox 68, а также мобильной версии Firefox 68 для платформы Android. Выпуск отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформировано обновление прошлой ветки с длительным сроком поддержки 60.8.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 69, релиз которой намечен на 3 сентября.



И это всё МОЁ

Насущный вопрос, как передать содержимое переменной в Expect, если в переменной имеется символ $?
Имеется ряд паролей, содержащих спец.символы, и при попытке передать их куда-то (например в пароль, для ssh) заканчиваются ошибкой.
Например:


PWD="PaS$word"
spawn ssh root@localhost
expect "*password:"
send "$PWD\r"

заканчивается:

can't read "word": no succh variable
while executing
"send PaS$word"








 








И это всё МОЁ

Добрый день.

Подскажите место в стандарте, где разъясняется следующее поведение:

#include <iostream>

using namespace std;

class A {
int i_ = 555;

friend void f0(A& a) { cout << a.i_ << endl; }

friend void f1() {
A a;
cout << a.i_ << endl;
}
};

// Если не указать эту строку,
// то дальнейший вызов f1() не удастся
void f1();

int main() {
A a;

f0(a);

// Здесь будет ошибка, если выше
// нет объявления f1() вне класса
f1();

return 0;
}

Где в стандарте написано, что в данном случае для f0 достаточно объявления в классе, а для f1 нет?
Заранее спасибо.








 , , ,








И это всё МОЁ

https://www.youtube.com/watch?v=x8Cb69L2-Uw

Для ленивых Ъ: в San Andreas вместо читов в коде игры были зашиты их CRC32-хэши. Из-за этого все известные нечитабельные читы (вроде YECGAA вместо ROCKETMAN) были найдены быстрее, чем оригинальные. Некоторым спидранерам хэши всё обосрали, т.к. даже комбинации из WASD могли иметь такие же хэши, как у читов.

Ну и дабы сделать пост менее оффтопным, вот вам интересный факт: девкит PS2 назывался PS2 Tool и на нём был установлен Red Hat Linux 5.2, с которого можно было рулить играми на консоли (насколько я понял, это был системник с консолью внутри).

https://www.youtube.com/watch?v=G2ep1X_BS-Q








 , ,








И это всё МОЁ

Делаю сервис по выбору хостинга https://good-hoster.ru


Достаточно ли существующих фильтров для поиска тарифов?


Какие параметры еще стоит отслеживать?









 ,








И это всё МОЁ

Вот эта чудесная команда

lxc config device add mail-server 25  proxy listen=tcp:0.0.0.0:25 connect=tcp:localhost:25

«пробросит» 25 порт таким образом, что любой коннект из инета на lxc с именем mail-server по 25 порту будет приходить не с инетовского ip , а с 127.0.0.1, что очень мило, ибо практически всегда у postfix в mynetworks прописан 127.0.01, а mynetworks соответственно прописан в качестве исключения ко всем правилам и «здравствуй OpenRelay!» и «добро пожаловать в спам базы!» и хрен отмоешься.

Это актуально не только для smtp , на любом сервисе с таким «пробросом» ты будешь видеть в логах только 127.0.0.1

Тем не менее изначальная идея неплоха, потому что по умолчанию контейнеры висят под DHCP и чтобы сделать iptables динамическими придется изобретать костыли.

Вопрос: а умеет ли эта поделка от LXD показывать нормальный IP?
Может я что-то упустил, и есть еще какой-нибудь хитрый флаг?








 , ,








И это всё МОЁ

Читая обсуждение про виснущие новые дистры с новым AMD процом (Zen2 Ryzen 3xxx) я так и не понял

https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/11120...

Суть в том, что чего-то не то с инструкцией rdrand происходит. То ли Поттеринг в своем systemd забыл почитать доки AMD, то ли AMD ошибочно устанавливает или не устанавливает статус ошибки в CFlags.








 ,








И это всё МОЁ
Объявлено об урегулировании всех формальностей и официальном завершении сделки о продаже бизнеса Red Hat компании IBM. Сделка была согласована на уровне антимонопольных служб стран, в которых зарегистрированы компании, а также акционеров и советов директоров. Сумма сделки составила приблизительно 34 миллиарда долларов, в расчёте 190 долларов за акцию (сейчас стоимость акции Red Hat составляет 187 долларов, а на момент объявления сделки была 116 долларов).



И это всё МОЁ

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

в инете, разумеется, все советуют именно его.

нужна альтернатива, для epub/mobi.

арчик, если что.








 








И это всё МОЁ

Коллеги в продолжении этой темы Помогите с мануалом для переписывания Windows only библиотеке

Пытаюсь уже сюда так же как этот товарищ ( https://bitcoin.stackexchange.com/questions/67809/adding-new-files-to-makefil... ) добавить свой код . Добавил своb библиотеки в src/Makefile.am в bgoldd_LDADD , libbitcoin_consensus_a_SOURCES , BITCOIN_CORE_H

Однако все равно ругается что не может найти мои обьявления (

 /bin/sh ../libtool --silent --tag=CXX --preserve-dup-deps  --mode=link g++ -std=c++11  -Wstack-protector -fstack-protector-all -Wall -Wextra -Wformat -Wvla -Wno-unused-parameter -Wno-implicit-fallthrough    -fPIE -g -O2 -Ilibs/include/ -Ilibs/include/util -Ilibs/include/params -Ilibs/include/gmp -Ilibs/include/contracts -Ilibs/include/blockchain/store -Ilibs/include/blockchain/changes  -Ilibs/include/blockchain -Ilibs/include/auditor/store -Ilibs/include/auditor  -pthread  -Wl,-z,relro -Wl,-z,now -pie      -o bgoldd bgoldd-bitcoind.o  libbitcoin_server.a libbitcoin_wallet.a libbitcoin_common.a univalue/libunivalue.la libbitcoin_util.a  libbitcoin_consensus.a crypto/libbitcoin_crypto_base.a crypto/libbitcoin_crypto_sse41.a crypto/libbitcoin_crypto_avx2.a crypto/libbitcoin_crypto_shani.a leveldb/libleveldb.a leveldb/libleveldb_sse42.a leveldb/libmemenv.a secp256k1/libsecp256k1.la -L/usr/lib64 -lboost_system -lboost_filesystem -lboost_thread -lboost_chrono -ldb_cxx-4.8 -lssl  -lcrypto  -lminiupnpc -levent_pthreads -levent  -levent   -lcrypto -lb2  -lb2 
/usr/bin/ld: libbitcoin_consensus.a(libbitcoin_consensus_a-interpreter.o): in function `EvalScript(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&, CScript const&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*)':
/src/sсript/interpreter.cpp:456: undefined reference to `Ctx::getDefault()'








 ,








И это всё МОЁ

Стоит виртуалка. Установлены kivy и kivymd. При исполнении самого минимального кода из-за вызова метода run() возникает ошибка.
Вот код программы:

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
def build(self):
return Button()

if __name__ == '__main__':
MyApp().run()


Вот вывод при выполнении:
qaz@debian:~/code$ python3 main.py
[INFO ] [Logger ] Record log in /home/qaz/.kivy/logs/kivy_19-07-09_23.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/usr/local/lib/python3.7/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at "/usr/bin/python3"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [KivyMD ] KivyMD version: 0.100.2
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO ] [Window ] Provider: x11(['window_egl_rpi', 'window_sdl2'] ignored)
No matching FB config foundq


Линуксом пользуюсь совсем недавно, так что прошу простить за глупость







 , , ,








И это всё МОЁ

В своём проекте я определил 3 основных действия.
1. Собирает статистику со стороннего сервера. Форматирует и заносит в базу.
2. Отправляет статистику игроку в вк.
3. Чат Бот в игре для подтверждения(привязки) акк вк к акк игрового.

Как это лучше реализовать? В виде отдельных процессов (программ) или в виде потоков?
1 вариант по мне лучше. В случае падения одного сервиса, другие будут функционировать. + возможно будут появлятся новые сервисы. И не нужно будет прерывать остальные. Во 2 не будет работать ничего.








 , ,








И это всё МОЁ

Есть ветка от мастера. Нужно взять свежачок из мастера в эту ветку. Как?








 , ,