gladilov.org.ru 

1367 заметок с тегом

софт

Позднее Ctrl + ↑

Новая виртуальная ОСь — 26.02.2018-2

 CyanogenMod 13.0 RC1

Cвободная операционная система для мобильных устройств —  CyanogenMod 13.0 RC1. Сначала операционку (или прошивку), предназначенную для замены проприетарных предустановленных версий  Android, пилила команда Cyanogen Team, затем разработку коммерциализировали, создав контору Cyanogen Inc., закрывшуюся 31 декабря 2016 года (вероятно — поглощённую конкурентом-гигантом). Но разрабы продолжили развивать проект под новым именем  LineageOS.

 CyanogenMod

2018   виртуальные ОСи   досуг   ОС   софт

Новая виртуальная ОСь — 26.02.2018

 LineageOS 13.0

Основаная на  CyanogenMod ось для смартфонов и планшетов —  LineageOS 13.0 (на базе CyanogenMod 13, основанного на  ведроиде 6.0.1 Marshmallow). LineageOS Android Distribution разрабатывается после форка от CyanogenMod на основе его исходного кода.

 LineageOS

2018   виртуальные ОСи   досуг   ОС   софт

Сервер и клиент Debian для тестов


Для тестовых задач создал две виртуалки в  Виртуалбоксе — сервер и клиент. Обе виртуалки ставил с образа диска Debian 9.3.0 Netinst CD с архитектурой amd64). Виртуальная машина ’server’ выступает в роли DHCP-, DNS- и прокси-сервера, а также шлюза для машины ’client’. Выкладываю тут последовательность действий, чтобы потом не забыть и использовать в дальнейшем. Действия рутинные, доступны в любом мануале, но для быстроты воспроизведения собрал их здесь вместе.

Показать

Оглавление

Сервер
Софт
Автовход
Сетевые интерфейсы
Узлы
Запрет IPv6 и форвард
DHCP-сервер
DNS-сервер
Маскарадинг
Сквид

Клиент
Софт
Автовход
Сетевые интерфейсы
Узлы



Сервер. Имеет 2 сетевых интерфейса — enp0s3 (WAN — <DHCP>, сетевой мост во внешнюю сеть) и enp0s8 (LAN — 192.168.17.1/24, внутренняя сеть).

Ставлю нужный софт:

apt-get install aptitude isc-dhcp-server squid3 bind9 dnsutils sudo most fping nmap net-tools mc ccze

Перейти к оглавлению


Делаю автовход в любой консоли, для этого в файле /lib/systemd/system/getty@.service прописываю юзера для автологина

ExecStart=-/sbin/agetty --noclear -a <юзер> %I $TERM

Перейти к оглавлению


Настраиваю сетевые интерфейсы в /etc/network/interfaces

auto lo enp0s3 enp0s8

iface lo inet loopback

iface enp0s3 inet dhcp
up iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j DROP

iface enp0s8 inet static
ipaddr 192.168.17.1
netmask 255.255.255.0
broadcast 192.168.17.255

Перейти к оглавлению


Добавляю узлы в /etc/hosts:

127.0.1.1 server
192.168.17.10 client

Перейти к оглавлению


Запрещаю IPv6 в /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


Разрешаю форвард там же

net.ipv4.ip_forward = 1

Перейти к оглавлению


Настраиваю DHCP-сервер: в файле /etc/default/isc-dhcp-server указываю

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
DHCPDv4_PID=/var/run/dhcpd.pid
INTERFACESv4="enp9s8"

В файле /etc/dhcp/dhcpd.conf

option domain-name "<домен>";
option domain-name-servers 192.168.17.1, 4.2.2.2;
subnet 192.168.17.0 netmask 255.255.255.0 {
  range 192.168.17.10 192.168.17.50;
  option routers 192.168.17.1;
}

и перезагружаю сервис

systemctl restart isc-dhcp-server.service

Перейти к оглавлению


Настройка DNS-сервера — в работе
Перейти к оглавлению


Настраиваю маскарадинг:

iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.17.0/24 -j MASQUERADE
iptables -A FORWARD -i enp0s3 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i enp0s3 -o enp0s8 -j REJECT

Перейти к оглавлению


Делаю бэкап /etc/squid/squid.conf в /etc/squid/backup-squid.conf, затем прописываю настройки сквида:

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
acl CONNECT method CONNECT
acl MyNet src 192.168.17.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow MyNet
http_access deny all
http_port 192.168.17.1:3128 transparent
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
cache_mem 512 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/squid_cache 1024 16 256
maximum_object_size 2 MB
https_port 192.168.17.1:3128 transparent ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/root/keys/squid.pem key=/root/keys/squid.key
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all

coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

создаю директорию для кэша сквида и дэ-начу весь траф с внутренней сети на прокси:

mkdir -p /var/squid_cache
chmod o+w /var/squid_cache
iptables -t nat -A PREROUTING -i enp0s8 ! -d 192.168.17.0/24 -p tcp -m multiport --dport 80,443 -j DNAT --to 192.168.17.1:3128

Перейти к оглавлению


Клиент. Имеет 1 сетевую — enp0s3 (LAN — <DHCP>, внутренняя сеть).

Ставлю софт:

apt-get install aptitude dnsutils sudo most fping nmap net-tools mc ccze

Перейти к оглавлению


Делаю автовход в любой консоли (по аналогии с сервером), для этого прописываю автологинящегося пользователя в файле /lib/systemd/system/getty@.service:

ExecStart=-/sbin/agetty --noclear -a <юзер> %I $TERM

Перейти к оглавлению


Настраиваю сетевой интерфейс в /etc/network/interfaces

auto lo enp0s3 enp0s3

iface enp0s3 inet dhcp
up iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j DROP

Перейти к оглавлению


Добавляю узлы в /etc/hosts:

127.0.1.1 client
192.168.17.1 server

Перейти к оглавлению


Новая виртуальная ОСь — 16.02.2018

 Bio-Linux 8.0.7

Основаный на бубунте 14.04 специализированный дистрибутив для биоинформационных исследований, являющийся системой для научной обработки и анализа биологических данных —  Bio-Linux 8.0.7. Дистрибутив создан с целью предоставления бесплатной вычислительной платформы для для разворачивания биоинформатических рабочих станций и первоначально разработан  Центром экологической биоинформатики британского Совета по исследованиям окружающей среды, затем проект передан Экологическому центру «Омикс Синтез».

 Bio-Linux

Сделал просто:

Показать

взял с сайта разработчика OVA-файл для  VirtualBox’а, импортировал, подправил свойства виртуалки, загрузил, локализовал, добавил русский язык. Создал пользователя, настроил hostname, снял скрин.


Задача решена

2018   виртуальные ОСи   досуг   ОС   софт

Напильник для Эгеи, часть 2

      Устроил для блога ревизию — все длинные статьи спрятал под спойлер, ведь ката в Эгее нет в принципе, разработчик объяснил причину этого в своей статье.

Реализацию спойлера подсмотрел у других, у себя реализовал следующим образом:

Показать

В файле /user/extras/header-pre.tmpl.php прописал следующие строки:

<script type="text/javascript" src="/blog/user/extras/spoiler-hider.js"></script>
<link rel="stylesheet" href="/blog/user/extras/spoiler-hider.css">


spoiler-hider.js:

// Спойлеры для Эгеи
$(function(){
    $('.spoiler-controller').click(function(){
        var aClasses = this.className.split(/\s+/);
        for (var i in aClasses) {
            if (aClasses[i] == 'spoiler-controller' || aClasses[i] == 'spoiler-shown') {
                aClasses.splice(i, 1);
            }
        }
        if ($(this).hasClass('spoiler-shown')) {
            this.innerHTML = this.innerHTML.replace('Скрыть', 'Показать');
            $(this).removeClass('spoiler-shown');
        } else {
            this.innerHTML = this.innerHTML.replace('Показать', 'Скрыть');
            $(this).addClass('spoiler-shown');
        }
        for (i in aClasses) {
            if (!aClasses[i]) continue;
            var jContainer = $('.'+aClasses[i]).not('.spoiler-controller');
            jContainer.slideToggle();
        }
    });
});

spoiler-hider.css

.spoiler-controller { border-bottom: 1px dashed black; cursor: pointer; }
.spoiler-controller:hover { color: #b30; border-color: #b30; }
.spoiler { display: none; }

Теперь в нужном месте страницы пишу код

<p><b class="spoiler-controller pop-up_camper_<уникальный идентификатор>">Показать</b></p>
<section class="spoiler pop-up_camper_<уникальный идентификатор>"><p></p>

а в конце текста (и спойлера)

</section>


Также изменил размер заголовка блога, указав в /themes/plain/styles/main.css

.title h1 {...; font-size: 24px ;...}


Изменил подсвечивание кода (по этой статье) с помощью highlight.js:

<link rel="stylesheet" href="//yandex.st/highlightjs/7.3/styles/github.min.css">
<script src="//yandex.st/highlightjs/7.3/styles/github.min.css"></script>
<script>
	hljs.tabReplace = '    ';
	hljs.initHighlightingOnLoad();
</script>

hljs.tabReplace нужен для того, чтобы табуляции в коде заменялись на пробелы. highlight.js сам определяет на каком языке написан код, но можно явно указывать язык, добавляя class к тегу pre.


Новая виртуальная ОСь — 15.02.2018

 DNALinux 0.50p

Linux-дистрибутив с софтом для исследований по биоинформатике —  DNALinux 0.50p. Дистрибутив родом из  Аргентины, основан на Live-CD  SLAX, который, в свою очередь, основан на  Slackware 10.1 (следующая версия 0.592 — на  Xubuntu 8.04). Создатели —  Genes Digitales и  Университет Насьональ де Кильмес.

 DNALinux

Делал так:

Показать

К сожалению, установки на жёсткий диск не предусмотрено (по крайней мере — быстрой и доступной не профессионалам), поэтому скрин снял с  VBox-виртуалки, запущеной прямо с Live-CD без UEFI. В загруженной системе залогинился рутом, поменял имя хоста (был ’slax’), создал юзера soul, от рута запустил KDE командой startx (так как у новых пользователей оформление графической среды не настроено и выглядит беднее). Для локализации KDE скачал файлы kde-i18n-ru-3.3.2-noarch-1.tgz, kde-i18n-ru-3.3.2-noarch-1.tgz.asc и kde-i18n-ru-3.3.2-noarch-1.txt с сайта с репами slackware, причём предустановленный браузер Konqueror и консольный wget (с ключём -no-check-certificate) с HTTPS работать отказались, выдавая всё время ошибки. Пришлось качать на ББ, затем аплоадить на мой сайт и скачать уже с него в виртуалку, выключив перенаправление на https. После запуска в консоли команды

installpkg kde-i18n-ru-3.3.2-noarch-1.tgz

(можно ставить и через утилиту pkgtool) кеды научились в русский интерфейс. Затем по Alt + F2 запустил команду

kdesu -c 'cd /home/soul/ && konsole -ls' -u soul

Выполнив нужные мне действия и команды, снял скрин (консоль юзера soul’а в root’овой графической среде).


Задача решена

2018   виртуальные ОСи   досуг   ОС   софт

Новая виртуальная ОСь — 11.02.2018

 Easy OS 0.7 (Pyro)

Ещё один дистрибутив от основателя проекта  Puppy Linux Барри Каулера —  Easy OS 0.7 (Pyro).

 EasyOS

Последовательность установки:

Показать

Создал в  виртуалбексе, сразу с UEFI. Скачал архив easy-0.7-amd64.img.gz, распаковал из него easy-0.7-amd64.img. Это образ загрузочного доска, но с одним разделом (монтируется при загрузке как sda1). Этот образ конвертирую в VDI-формат

VBoxManage convertdd easy-0.7-amd64.img easy-0.7-amd64.vdi

затем изменяю его размер до 1 гигабайта

VBoxManage modifyhd easy-0.7-amd64.vdi --resize 1000


Подцепив «раздутый» образ к виртуальной машине (система при загрузке пишет, что не найден раздел sda2 и вываливается в командную оболочку), через fdisk создаю второй раздел и перезагружаю виртуалку. Система при загрузке отформатировала sda2 в ext4 для хранения там юзердаты. Последующие шаги повторяют предыдущую ОС (Quirky)...


Задача решена

2018   виртуальные ОСи   досуг   ОС   софт

Новая виртуальная ОСь — 10.02.2018

 Quirky 8.4 (Xerus)

Дистрибутив от основателя проекта  Puppy Linux, Барри Каулера, выпущенный для обкатки новых идей и создания окружения для повседневного личного использования —  Quirky 8.4 (Xerus).

 Quirky

Ставил так:

Показать

Поставил в  Virtualbox’е, сначала без UEFI, затем с UEFI. Разметил разделы на винте, во втором случае программа установки пошла дальше после предупреждения о необходимости установки системного загрузчика (GRUB/GRUB2, LILO, XorBoot, Plop или что-то типа такого). Для установки GRUB подсунул образ диска в виртуалку с дебианом, от рута выполнил install-grub /dev/sdb. После этого система загрузилась с этого образа винта.

При попытке локализовать систему выпадала ошибка при установке пакета langpack-20130524.pet. Оказалось — он хостится на SoulrceForge, который недоступен из российского Крыма. Пришлось скачать через VPN на свой сайт и установить из локальной копии. Там же разместил JPEG-файл, содержащий просто чёрный фон — для размещения в качестве обоев рабочего стола, так как в стандартной поставке в /usr/share/backgrounds/ нет тёмного однотонного фона. Небольшая настройка эмулятора терминала sakura — и...


Задача решена

2018   виртуальные ОСи   досуг   ОС   софт

Небольшая коллекция юниксовых консольных утилит

Список из нескольких десятков утилит командной строки. Некоторые из них малоизвестны, некоторые весьма полезны, с некоторыми пока непонятно... Установка большинства из них производится штатным диспетчером пакетов вашей ОС.

Идея (и список) взята мной отсюда, творчески переработана, сгенерены новые скриншоты, переведено (с вариациями) на русский. Утилиты ставил на  Debian 9 в  Virtualbox’е (скрин).

Показать

dstat & sar htop, atop & glances
iostat, vmstat, ifstat и мрого чего ещё в одном Мониторинг процессов, памяти и ввода/вывода
slurm ttyrec & ipbt
Визуализирует трафик сетевого интерфейса во времени Запись и проигрывание терминальных сеансов
vim & emacs rsync
Редакторы настоящих программеров Синхронизация файлов и ФС через SSH
screen, dtach, tmux, byobu mtr
Пусть ваши терминальные сессии остаются живы Трассировка маршрута 2.0
multitail socat & netpipes
Просмотр нескольких файлов журналов в одном окне Простое перенаправление всего в/из сокетов
tpp iftop, iptraf & nethogs
Просмотр презентаций PowerPoint в терминале Анализаторы сетевого трафика
xargs & parallel siege & tsung
Планирование и выполнение задач с консольного ввода Консольные инструменты для нагрузочного тестирования
duplicity & rsyncrypto ledger
Инструменты шифрованного резервного копирования Бухгалтерия в терминале
nethack & slash’em taskwarrior
Пока что самые сложные игры на планете Консольный todo
lftp curl
Есть FTPS. Может зеркалить, типа как rsync Любимый всеми HTTP-инструмент
ack, ag (silver searcher), pt rtorrent & aria2
Лучшие grep’ы для исходников Торрентокачалки для командной строки
calcurse & remind + wyrd ttytter & earthquake
Системы календарей Модные клиенты модного Твитера
У меня нет (и никогда не будет) аккаунта в Твитере, поэтому картина не информативна.
I do not have (and never will be) account on Twitter, so the picture is not informative.
newsbeuter & rsstail vifm & ranger
Читалки RSS в командной строке Альтернативы для MC
powertop cowsay & sl
Помощь в экономии энергии в Linux Невозможно было удержаться :o)
tig cloc
Консольный интерфейс для git Подсчёт строк исходного кода
qalc ipcalc
Лучший калькулятор (для скриптов тоже) Для манипуляций с сетевыми настройками

2018   Linux   досуг   мну   ОС   сисадминство   софт

Получение (списка) сетей, в которых есть IP узла


Навеяно при изучении фаерволов...

Сайты в сети Интернет не всегда хостятся на одном узле, тем более если это система разветвлённых общемировых порталов типа поисковика Google, магазина Amazon или система доставки видеоконтента Netflix. Поэтому для определённого сайта не всегда достаточно знать его доменное имя. Например, для создания правила переадресации в iptables, ipfw и прочих фаерволах нужно указать IP-адрес(а) узла назначения. Для этого я придумал такую функцию-однострочник (для удобства чтения поделена на две строки):

Показать

gethostnets() { host -t a $1 | awk 'NF>1{print $NF}' | while read -r line; do echo $(whois -a $line | grep inetnum | tr -d ' ' \
| cut -f2 -d':' | awk '{system("ipcalc -rn "$1" | grep -v deaggregate | sort -t/ -n -k2 | tail -n 1")}'); done }

Допустим, нужно поменять маршрут к узлу mail.ru. В командной строке пишем gethostnets mail.ru и функция вернёт список сетей, в которых есть IP-адрес мэилрушного сайта:

$ gethostnets mail.ru
94.100.176.0/21
217.69.140.0/23
217.69.140.0/23
94.100.176.0/21
$

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

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

P. S. Понял, что правильнее и аккуратнее будет искать и анализировать автономные системы, связанные с IP целевого узла. Так и провайдера можно узнать точнее. Но это тема для другой заметки...

Ранее Ctrl + ↓
Наверх