LINUX.ORG.RU

Сообщения mythCreator

 

vpn over vpn

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

Пока что думаю сделать так:

Купить российский vps, развернуть на нем open vpn сервер, а на mikrotik-е клиент, с рабочего компа как обычно подключаться через рабочий vpn. Вроде в теории должно работать но я ни когда так не делал. Есть ли какие-то подводные камни?

Где лучше взять vps под vpn или мб готовый vpn c российским ip, и таким протоколом, чтобы у роутера был под него клиент, стоит ли рассмотреть еще роутеры помимо mikrotik-а?

Перемещено leave из talks

 , , , ,

mythCreator
()

Когда запускается rc.local ?

Столкнулся с проблемой, при попытке запуска docker-compose из rc.local сервис докера еще не был поднят и возникала ошибка

Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
При этом возникала она не на всех машинах, а только на части из них. В итоге я просто написал unit для SystemD, но так и не разобрался почему сервис докера не был поднят к моменту когда запускается rc.local. Насколько я знаю rc.local запускается в самом конце. Дистрибутив CentOS 7.

 , ,

mythCreator
()

CHECK и UNIQUE в PostgreSQL

Как написать проверку, которая требовала бы уникальность набора столбцов(как UNIQUE), но не для всех записей, а только для тех, которые удовлетворяют определенному условию(если определенное поле-флаг true).

Пока что в голову приходит только:

  • Проверять флаг в CHECK и вставлять в разные партиции для той партиции в которую будут попадать записи у которых флаг true сделать UNIQUE
  • Добавить фиктивное поле к полям проверяемым в UNIQUE. Для записей у которых флаг true фиктивное поле должно быть одинаковым. Для остальных записей фиктивное поле должно быть уникально.

Оба варианта мне не очень нравятся.

 , , , ,

mythCreator
()

wrong fs type, bad option, bad superblock после grub-install

Предыстория: Хочу перенести linux на другой диск. Создал на диске раздел, загрузился с флешки, примонтировал раздел на старом диске и на новом скопировал cp -a. Поправил fstab. Загрузился со старого диска смонтировал раздел на новом диске никаких ошибок при этом не происходит.

Устанавливаю grub:

sudo mount /dev/sda1 tmp/
sudo mount -B /dev tmp/dev/
sudo mount -B /proc tmp/proc/
sudo mount -B /sys tmp/sys/
sudo chroot tmp/
grub-install /dev/sda 
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
umount tmp
После этого при монтировании раздела возникает ошибка:
sudo mount /dev/sda1 tmp/
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
А вот что пишет dmesg:
[  790.906124] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[  933.463709] EXT4-fs (sda1): ext4_check_descriptors: Block bitmap for group 0 not in group (block 3783503177)!
[  933.463716] EXT4-fs (sda1): group descriptors corrupted!
После этого я исправляю ошибки fsck
sudo fsck.ext4 -vy /dev/sda1
И раздел снова нормально монтируется. При попытке загрузки с нового диска в меню grub я не попадаю.

 , ,

mythCreator
()

Z функции и префикс функции

Для поиска подстроки t в строке s с помощью Z функций или префикс функций обычно предполагается создание новой строки вида p=t#s. Существуют ли какие-то красивые модификации позволяющие не создавать p=t#s?

ps: Пока в голову пришло только в лоб понатыкать if-ов и в зависимости от индекса в p(который на самом деле не создан) брать определенный индекс в t или s.

pss: Там префикс и суффикс по идее не могут быть длиннее чем подстрока которую мы ищем насколько я понимаю и половина if-ов не нужно?

 , , ,

mythCreator
()

Вопрос по системным вызовам и glibc?

Если я правильно понимаю в .h файлах есть только прототипы функций осуществляющих системные вызовы, а реализация самих функций находится в glibc и по умолчанию линкуется динамически к моей программе, при системном вызове моя программа вызывает функцию из glibc, которая в свою очередь по интерапту вызывает код ядра.

Если я сделаю #define _FILE_OFFSET_BITS 64 то в заголовочных файлах прототип некоторых функций станет другим(если у меня 32 битная ОС) при этом на саму glibc это повлиять не как не может. Правильно ли я понимаю, что в glibc на самом деле несколько реализаций одних и тех же функций для разных типов аргументов и называются соответственно тоже по разному(типа как mangling в c++)? Т.е. функции которые я вызываю на самом деле не протатипы функций из glibc, а обертки которые в зависимости от дефайнов вызывают разные функции в glibc?

 , ,

mythCreator
()

Распаковать архив с файлами в кодировке cp866

Есть архив https://sites.google.com/site/vkolybasova/Seminary1kurs1semester.zip При распаковке unzip возникает ошибка: Invalid or incomplete multibyte or wide character как распаковать архив, чтобы в итоге имена файлов получились в utf-8?

 , ,

mythCreator
()

Сортировка файла по столбцу в экспоненциальном формате

Доброго времени суток, есть файл содержащий строки вида:

WR00C2L2        9984   128     1     2              44.89              1.478e+01
нужно отсортировать его по последнему столбцу. Пробовал:
cat file|sort -g -k7
cat file|perl -e 'print sort{substr($a, -9)+0.<=>substr($b, -9)+0.} <>'
Оба варианта работают неверно

 , ,

mythCreator
()

usb2serial драйвер

Пытаюсь разобраться с кодом https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dri... есть pl2303_read_int_callback я так понимаю, эта функция должна вызываться по прерыванию, когда был получен urb от девайса, и просто проверять статус urb-a.

Зачем внутри нее usb_submit_urb(urb, GFP_ATOMIC); usb_submit_urb отправляет urb на девайс? Т.е. мы получили urb от девайса и сразу же его обратно оправляем?

Можете разъяснить, что происходит в этой функции?

 , ,

mythCreator
()

RSS подписка на новые темы