Pull to refresh
14
0

Full Stack in The Wild

Send message

Раскрываем секреты загрузочных ISO-образов

Reading time20 min
Views82K


В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Читать дальше →
Total votes 193: ↑193 and ↓0+193
Comments73

ViPNet в деталях: разбираемся с особенностями криптошлюза

Reading time12 min
Views171K


Жизнь сетевого инженера была счастливой и беззаботной, пока в ней не появился сертифицированный криптошлюз. Согласитесь, разбираться с решениями, предназначенными для шифрования каналов передачи данных по ГОСТу, задача не из легких. Хорошо, если это известные и понятные продукты. Вспомним ту же «С-Терра» (об их «С-Терра Шлюз» мы уже писали). Но что делать с более экзотичными решениями на базе собственных протоколов шифрования, например, «Континент» (от «Кода Безопасности») или ViPNet Coordinator HW (от «Инфотекса»)? В этой статье я постараюсь облегчить погружение в мир ViPNet (про «Континент» тоже когда-нибудь поговорим) и рассказать, с какими проблемами столкнулся сам и как их решал.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments22

7 open source альтернатив Skype

Reading time6 min
Views21K
image


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

Все стало меняться в середине 2000-х годов, когда вебкамеры стали основным компьютерным оборудованием, а на рынок вышел Skype и похожие сервисы. Стоимость и сложность видео-конференций быстро снижались, поскольку все, у кого была вебкамера, быстрый интернет и недорогое программное обеспечение, могли общаться с коллегами, друзьями, членами семьи и даже незнакомцами прямо со своего домашнего или рабочего компьютера. Сейчас же при надежном мобильном интернете или WiFi-соединении и правильном программном обеспечение, видео-конференция может помещаться у вас на ладошке с помощью видео камеры вашего смартфона. Но большая часть этого программного обеспечения является коммерческой.
К счастью, существует несколько отличных альтернатив видео-конференций с открытым кодом, которые повторяют функции Skype, Zoom, Google Hangouts и похожих приложений.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments29

Быстрый роутинг и NAT в Linux

Reading time6 min
Views47K
По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах.
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments33

Настраиваем RDP на Hi-dpi (4k) мониторах

Reading time1 min
Views29K
На волне массового перехода на удалёнку, возможно кому-то будет полезным.

Рабочий монитор — FullHD (Win7x64), домашний 4k. На домашнем мониторе получалось 1/4 экрана и никак не увеличивалось, настройка размера шрифтов до 150% на рабочем мониторе при подключении по РДП была заблокирована.

Перелопатил прилично форумов и решение всё-таки нашлось. На рабочем компе надо установить апдейт от Майкрософт KB2726399 и после ребута можно выставить 150% увеличение.



В настройках RDP на домашнем включаем фуллскрин.



Результат — на домашнем 4к-мониторе полный экран с нормальным удобным разрешением.

К сожалению, на сайте МС этот апдейт выпилен, но интернет помнит всё (или почти всё), так что апдейт удалось скачать отсюда.
Total votes 9: ↑8 and ↓1+7
Comments23

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (или малиновый роутер в синей шляпе)

Reading time8 min
Views15K
В статье Raspberry Pi + CentOS = Wi-Fi Hotspot (или малиновый роутер в красной шляпе) я рассказал о способе превращения «малинки» в беспроводную точку доступа при помощи операционной системы CentOS. Собрав по такому чертежу мой домашний роутер, я удовлетворил свое творческое эго и получил заряд спокойствия за критически важный элемент моей уютной инфраструктуры. Однако ощущение незаконченности решения и внутренний перфекционизм не давали покоя: «несовершенный результат работы не имеет права на существование». Мысль о том, «что идеал может и должен быть достигнут» не покидала меня ни на минуту.

И вот однажды на одном из тематических форумов я натолкнулся на обсуждение разрядности существующих операционных систем для «малинки» (aarch64 vs armhfp): какие 64-битные ОС в принципе могут влезть и заработать на Raspberry версии 3++?

Моя любимая CentOS для архитектуры ARM от «Userland» не спешила переходить на ядро последней версии и превращаться в 64-битную. А репозиторий EPEL, подключенный Бог весть откуда без цифровой подписи, являлся кошмаром в мой неспокойный сон…

Выступая адептом RPM-based дистрибутивов, я с удивлением обнаружил, что в обсуждениях ОС для «малинки» абсолютно забытой оказалась Fedora! И это при том, что ее релиз
с 28-ой версии официально поддерживает Raspberry Pi 3B+ в 64-битном исполнении!
Вот, оказывается, что беспокоило меня все это время...
Total votes 8: ↑8 and ↓0+8
Comments7

Linux kernel 5.6 — что ждать в новой версии ядра

Reading time3 min
Views14K
Выход Linux kernel 5.6 намечен на конец марта. В нашем сегодняшнем материале обсуждаем грядущие изменения — новую файловую систему, протокол WireGuard и обновления драйверов.

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments13

Zip-файлы: история, объяснение и реализация

Reading time76 min
Views92K


Мне давно было интересно, как сжимаются данные, в том числе в Zip-файлах. Однажды я решил удовлетворить своё любопытство: узнать, как работает сжатие, и написать собственную Zip-программу. Реализация превратилась в захватывающее упражнение в программировании. Получаешь огромное удовольствие от создания отлаженной машины, которая берёт данные, перекладывает их биты в более эффективное представление, а затем собирает обратно. Надеюсь, вам тоже будет интересно об этом читать.

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать дальше →
Total votes 176: ↑175 and ↓1+174
Comments45

Почему на Raspberry Pi4 стоит поставить 64-битную ОС

Reading time4 min
Views58K
image

Одно из преимуществ работы на компанию, занимающуюся производством программ, заключается в том, что вам часто представляется возможность протестировать прототипы нового железа. Однако не в данном случае – я купил себе Raspberry Pi4 потому, что она очень дешёвая!

На Raspberry Pi4 стоит четырёхъядерный ARM Cortex A72, до 4 ГБ памяти и гигабитный порт Ethernet – и всё это всего за $35.

На Raspberry Pi4 есть ОС Raspbian (на основе Debian), и готовая библиотека продуктов, поэтому я вставил в неё SD-карточку, чтобы побыстрее загрузиться. Я искал syslog и заметил, что и ядро, и все пользовательские программы скомпилированы как armv7 – то есть, для 32-битной памяти.

Я знаю, что Raspberry Pi4 поддерживает 64 бита, поэтому я не захотел запускать на ней 32-битную ОС. Я взял другую карту памяти и поставил на неё Debian. Debian, не содержащий ничего лишнего, скомпилированный как aarch64 – что означает 64-битную память.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments144

Переход с OpenVPN на WireGuard для объединения сетей в одну сеть L2

Reading time11 min
Views30K


Хотел бы поделиться опытом объединения сетей в трех географически удаленных квартирах, в каждой из которых в качестве шлюза используются роутеры с OpenWRT, в одну общую сеть. При выборе способа объединения сетей между L3 с маршрутизацией подсетей и L2 с бриджингом, когда все узлы сети будут находиться в одной подсети, было отдано предпочтение второму способу, более сложному в настройке, но дающим бОльшие возможности, так как в создаваемой сети планировалось прозрачное использование технологий Wake-on-Lan и DLNA.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments28

Сборка тонкого клиента RDP на базе Raspberry Pi

Reading time18 min
Views76K
С ростом популярности мини-ПК типа Raspberry Pi, и подобных ему клонов, возникла масса кейсов по их использованию в ИТ-инфраструктуре предприятия, умном доме / даче / гараже, и в других применениях.

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

Если Вам интересно, как настроить такое место на базе Raspberry Pi, причем так, чтобы «настроить и забыть» — добро пожаловать под кат. Для совсем ленивых есть готовый образ (см. раздел 6.Б).

Картинка для привлечения внимания

Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments84

LeanChess — самые маленькие компьютерные шахматы в мире

Reading time2 min
Views41K

Меня зовут Дмитрий Шехтман, и я автор самых маленьких компьютерных шахмат в мире.


Началось всё с того, что моя (ныне бывшая) девушка предложила написать компьютерные шахматы. Идея меня заинтересовала, и я решил этим заняться. Правда, почитав интернет, я понял, что опоздал лет на сорок. Особенно впечатляли шахматные разработки Оскара Толедо — на Си размером в 1257 байт, на JavaScript в 1023 байта и, наконец, Atomchess на ассемблере x86, компилирующийся в 392 байта.


Прежде, чем я вернулся к теме, прошло несколько месяцев. Как оказалось, за это время был установлен новый рекорд размера — ChesSkelet для ZX Spectrum занимал всего 352 байта. Правда, он не знал всех правил и играл весьма слабо, но всё же! А не замахнуться ли мне на шахматы на ассемблере? — подумал я.

Читать дальше →
Total votes 127: ↑124 and ↓3+121
Comments102

Процесс компиляции программ на C++

Reading time5 min
Views202K

Цель данной статьи:


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

Читать дальше →
Total votes 44: ↑35 and ↓9+26
Comments29

Минимальная установка CentOS/Fedora/RedHat

Reading time2 min
Views17K
Не сомневаюсь, что благородные доны — администраторы Linux — стремятся максимально минимизировать набор устанавливаемых на сервер пакетов. Это экономичнее, безопаснее и вселяет в администратора ощущение полного контроля и понимания происходящих процессов.

Поэтому типичный сценарий начальной установки операционной системы выглядит как выбор минимального варианта, а далее — наполнение необходимыми пакетами.



Однако, минимальный вариант, предлагаемый установщиком CentOS, оказывается не совсем минимальным. Есть способ уменьшить размер начальной установки системы стандартным документированным способом.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments10

Raspberry Pi + CentOS = Wi-Fi Hotspot (или малиновый роутер в красной шляпе)

Reading time15 min
Views40K
UPD 14.03.2020:
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (или малиновый роутер в синей шляпе)

В Интернете огромное количество информации по созданию Wi-Fi точек доступа на базе одноплатного ПК Raspberry. Как правило, подразумевается использование родной для «малинки» операционной системы — Raspbian.

Являясь адептом RPM-based систем, я не мог пройти мимо этого маленького чуда и не попробовать на нем мою любимую CentOS.

В статье представлена инструкция по изготовлению 5GHz/AC Wi-Fi роутера из Raspberry Pi 3 Model B+ на базе операционной системы CentOS. Будет несколько стандартных, но малоизвестных трюков, а в качестве бонуса — чертеж подключения к «малинке» дополнительного Wi-Fi оборудования, позволяющего ей одновременно работать в нескольких режимах (2,4+5GHz).

image
(микс изображений из свободного доступа)
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments39

Установка CentOS 8 на VDS 256

Reading time5 min
Views15K
CentOS 8 наконец-то увидела свет и, хотим мы этого или нет но, в ближайшей перспективе адептам корпоративной операционной системы от коммьюнити придется с ней подружиться.

Решив испытать восьмерку в «дикой природе», я обнаружил, что мои хостинг провайдеры не спешат с изготовлением образа виртуального сервера на CentOS 8. А идея с «собственным ISO» и «VNC консолью» не вселяла уверенности из-за скромных характеристик VDS и прожорливости современной анаконды (anaconda).

Оставалось скопировать развернутый образ новой CentOS сразу на жесткий диск VDS, загрузив сервер «по сети». Способ не блещет новизной, однако найти подробную и законченную инструкцию по его реализации я, например, не смог. Поэтому захотелось поскорее восполнить этот пробел и рассказать об установке CentOS 8 на такой VDS:
KVM, 256MB RAM, 2GB HDD, без консоли и ISO


Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments22

Information

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