Карта страны Красноглазии

Из чата Космопорта

Из чата Космопорта
Начал новую линейку заметок по теме обучения на системного администратора. Учусь не я, а моя жена, хотя и я тоже многое оттуда воспринял (на самом деле нет ;-). Это не конспекты лекций, не пошаговые руководства, а просто заметки на память, чтобы ей легче было повторять пройденный материал. Помечаться будут тегом ’учёба’ и в начале страницы будет стоять маленький логотипчик
. В квадратных скобках указывается ОС, в которой производились настройки/тесты/манипуляции.
Итак, первая заметка.
Показать
Поставить
nginx и
PHP.
sudo apt-get install nginx php-fpm
В файле */etc/nginx/nginx.conf* убрать коментарий в строке
multi_accept on
и дописать index.php в определении индексных файлов
index index.php index.html index.htm index.nginx-debian.html;
В файле */etc/nginx/sites-available/default* изменить путь к индексному файлу
root /var/www/html/site1
и разрешить FPM, убрав коментарий
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; }
Также запретить доступ к файлам, имя которых начинается с префикса .ht
location ~ /\.ht { deny all; }
Создать индексный файл сайта
sudo mkdir -p /var/www/html/site1 sudo touch /var/www/html/site1/index.php sudo echo "<?php phpinfo(); ?>" > /var/www/html/site1/index.php
В файле */etc/php/7.0/fpm/php.ini* исправить значения в строках
memory_limit = 256M default_socket_timeout = 360
и раскомментировать строки
;user_agent="PHP" ;cgi.fix_pathinfo=1
Отключить уязвимость, поставив значение 0:
cgi.fix_pathinfo=0
Затем перегружаем nginx (любым способом)
systemctl reload nginx nginx -s reload

В качестве продолжения статьи Установка DebWrt на DIR-320 аппаратных ревизий A1/A2.
Показать
Следует иметь в виду, что у свежеперепрошитого устройства на LAN-интерфейсе настроен IP-адрес 192.168.1.1/24. Если используются другие сети, то правим сетевые настройки (возможно, сеанс удалённого входа отвалится, если изменился IP-адрес). Для этого необходимо удалить /etc/network/interfaces (это симлинк на /etc/network/interfaces.firstboot), создать его с необходимым содержимым и перегрузить службу networking:
rm /etc/network/interfaces touch /etc/network/interfaces cat << EOF > /etc/network/interfaces auto lo eth0 iface lo inet loopback iface eth0 inet dhcp iface wlan0 inet dhcp wpa-ssid <имя WiFi-сети> wpa-psk <ключ WiFi-сети> EOF service networking restart echo "<DNS-сервер>" > /etc/resolv.conf
Изначально настроен только один пользователь — root с паролём debwrt. Из-за того, что при старте таймер времени равен нулю, то есть системные время и дата установлены на полночь 1 января 1970 года (Thu Jan 1 00:00:00 UTC 1970),то при входе ssh’ем (или telnet’ом) система потребует смену пароля. Необходимо выставить правильное время.
date --set="<дата> <месяц> <год> <часы>:<минуты>:<секунды>" date --set="<номер месяца>/<дата>/<год> <часы>:<минуты>:<секунды>"
Например, на дату опубликования этой заметки актуальной была команда:
date --set="16 January 2018 17:57:00" date --set="01/16/2018 17:57:00"
service ntp stop ntpdate time.nist.gov service ntp start
hwclock -w hwclock --hctosys
не сработают, так как у системы нет аппаратных часов.
echo "deb http://archive.debian.org/debian squeeze main" > /etc/apt/sources.list apt-get update apt-get upgrade
Донастраиваем систему и устанавливаем нужные пакеты:
passwd hostname <имя узла> echo "<имя узла>" > /etc/hostname echo -e "127.0.0.2\t<имя узла>" > /etc/hosts apt-get install mc sudo most locales bash-completion nload htop ccze telnet wpasupplicant dpkg-reconfigure locales dpkg-reconfigure tzdata adduser <пользователь> echo -e "<пользователь>\tALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers apt-get install apache2 php7 mysql-server
Pearl Linux 6.0 (Artful)Поставил ещё одну систему в виртуалбоксе —
Pearl Linux 6.0 (Artful).
Показать
При установке в
Virtualbox (как с UEFI, так и без) в самом конце, после заливки всех файлов, когда возникает надпись "Извлеките установочный диски и затем нажмите ENTER" — нажатие этой клавиши (да и любой другой) не даёт эффекта. А в
VMware всё работает.
LuninuX OS 17.04 (Zulu)Быстрый, стабильный и удобный дистрибутив GNU/Linux, основанный на
бубунте. Пилится с декабря 2010 года (тогда проект был известен как
Sn0wL1nuX) разработчиком
Эммануэлем Аппиа (Emmanuel Appiah). С первого января 2019 года проект заморожен. Оконный менеджер —
GNOME. Размер файла образа винта после установки — 5,7 гигов.
Показать
Неплохой современный дистр, похож на
Deepin чем-то, хотя их сейчас много лепят с однотипными инсталляшками.
Metamorphose Linux 8.5.7 (Panther)Поставил ещё одну оську в виртуалбоксе —
Metamorphose Linux 8.0.
Обновление от 3 декабря 2021 года: Linux-дистрибутив на базе тестовой ветки
Дебиана. Дистр предоставляет простую и полную ОСь с приятным графическим интерфейсом для начинающих и опытных пользователей. Разработчик проекта —
Аилтон Насименто де Матос (Ailton Nascimento de Matos). Дистр пилился с 2008 года. Последняя версия (эта) вышла 24 ноября 2016 года. Графическая среда —
KDE Plasma. Файл образа винта после установки стал размером 7,4 гигабайта.
Детали: Показать
Инсталлятор тоже не маленький — около трёх гигабайт. И самая изюминка инсталляшки этого дистра (скачанного с SourceForge, кстати) — она на португальском! 
Но ничего, разобрался, поставил, локализовал, снял скрин... Только не обновил, время не хотелось терять. Я с SourceForge 60 гигов разных дистрибутивов скачал вчера. Правда, все Линуксы, походу школота современные делатели дистров другого не умеют, сложно...
P. S. Старая версия: Показать
BackSlash Linux KristoffПоставил сегодня в виртуалбоксе новую ось —
BackSlash Linux Kristoff.
Показать
Установщик без режима UEFI глючил, при двух гигабайтах памяти система тормозила, пришлось настроить выделение её четырёх гигов. Без заранее созданных разделов на винте программа установки выхватывает ошибки, пришлось запускать GParted перед процессом инсталляции. В /var/log/syslog ничего не пишет, хотя инсталлятор при сообщении об ошибке рекомендует ознакомиться с деталями сей досадной неприятности именно в нём 
Ну и хостится проект на не вызывающей большого доверия площадке SourceForge.
Интересно, чем руководствовался разработчик дистра, заставляя пользователя при загрузке с инсталляционного LiveCD входить в систему под именем юзера backslash с пустым паролём (причём пароль могут спросить несколько раз) и запускать руками иксы командой startx, чтобы начать установку?
P. S. Блин, инсталляционный образ весит 4 (четыре) гига! ЧЕТЫРЕ, Карл!.. Распаковывается/скачивается это счастье в 12 гигабайт места.
P. P. S. А, да, при выборе русского языка установщик тоже ошибки генерит.
С конца сентября 2016 года решил ставить виртуалки (и не только) с разными ОС (Linux, BSD, вобщем — все *nix). Прокачиваю, так сказать, свой скил... Заодно анализирую некоторую инфу, полезную для распознавания типа и версии ОС. Снимаю скриншот с инфой, выведеной в BASH’е, в основном — вывод uname, собержимое разных /etc/*release* и /etc/*version*, lsb-release (если это Linux-based distro), всякие kern.osrelease и kern.ostype (это если BSD). С новыми дистрибутивами проблем обычно нет (их большинство), но с устаревшими, про которые мало инфы (как
plan9 или
XENIX386), снятыми с поддержки (как
Moblin 2, для которого не могу найти рабочую копию репозитория в сети), или трансформировавшимися в другие (как
LindowsOS /
Linspire /
Freespire /
Xandros или
Mandrake /
Mandriva /
Mageia /
OpenMandriva).
Показать
На сегодня сделал 110 осей (это которые дошли до процесса снятия скрина, но много пока не доделаны).
Линуксы:
Бэ Эс Дэ:
FreeBSD![]() |
PicoBSD![]() |
NetBSD![]() |
BSDRP![]() |
FreeSBIE![]() |
DesktopBSD![]() |
TrueOS![]() |
kFreeBSD![]() |
OliveBSD![]() |
UlBSD![]() |
LibertyBSD![]() |
OpenBSD![]() |
pfSense![]() |
DragonFly![]() |
GhostBSD![]() |
Андроиды:
БиОСь и клоны:
Солярка:
МакОси:
Всякая экзотика:
*nix-системы предоставляют развитые средства настройки пользователюской среды под различные потребности. Одна из задач такой настройки — указание регионального стандарта, с которым хочет оперировать пользователь. Например — чтобы графический системный интерфейс отображал сообщения на родном пользователю языке (был локализован), а ввод осуществлялся на английском. Локализация означает приспособление программы или операционной системы к кодировке и стилям печати времени, даты, денежных единиц принятых в данной стране. Иногда применяют сокращение «l10n». Буквы «l» и «n» — начало и окончание слова «localization», а цифра 10 — количество букв между ними. Есть ещё сокращение i18n — «internationalization».
Показать
POSIX-совместимые системы имеют специальный стандарт (RFC 3066) определения локали — идентификатора, определяющего региональные настройки пользовательского интерфейса, такие как язык, страна, часовой пояс, набор символов и т. п. Он имеет следующий вид:
[language[_territory][.codeset][@modifier]]
Например — ru_RU.CP1251, el_GR.UTF-8 или en_US.iso88591. Существует особое имя для региональных настроек POSIX: C — нейтральное значение по умолчанию, C.UTF-8 — для новых POSIX-систем с поддержкой UTF-8.
Многие системные программы для определения языка сообщений и вида кодировки используют установленные переменные окружения. По умолчанию переменные LC_ALL и LANG имеют пустые значения, а все остальные — значение «POSIX». В русифицированных системах при настройке локали указывается определенная кириллическая кодировка, например, UTF-8 (Unicode) или реже CP1251 (русскоязычная кодировка Microsoft Windows) или KOI-8 (русскоязычная кодировка UNIX).
Имя переменной | Описание |
LC_ALL | Переменная LC_ALL, если установлена, определяет всё сразу: язык сообщений, кодировку, вид даты и т. п. |
LANGUAGE | Переменная LANGUAGE используется в основном программами из проекта GNU |
LC_CTYPE | Переменная LC_CTYPE, если не установлена LC_ALL, определяет кодировку символов. В отсутствии LC_CTYPE и LC_ALL, для определения типа кодировки используется переменная LANG |
LC_COLLATE | Переменная LC_COLLATE используется в отсутствии LC_ALL для определения алгоритма сортировки. В отсутствии LC_COLLATE для этого используется переменная LANG |
LC_MONETARY | Переменная LC_MONETARY используется, если отсутствует LC_ALL, для определения вида денежной единицы. Если LC_ALL и LC_MONETARY не установлены, то используется переменная LANG |
LC_NUMERIC | Переменная окружения LC_NUMERIC используется, если не установлена переменная LC_ALL, для определения национального формата печати чисел (например, с плавающей точкой или запятой). Если не установлены LC_ALL и LC_NUMERIC, то используется переменная окружения LANG |
LC_TIME | Переменная окружения LC_TIME используется, если не установлена LC_ALL для определения формата даты и времени. Если не установлены переменные LC_ALL и LC_TIME, то используется переменная LANG |
LC_MESSAGES | Переменная LC_MESSAGES используется в отсутствии LC_ALL для определения языка информационных и диагностических сообщений и интерфейса. Если LC_ALL и LC_MESSAGES не установлены, то используется переменная LANG |
LC_PAPER | Переменная LC_PAPER, если не установлена LC_ALL, определяет размер бумаги при печати. В отсутствии LC_PAPER и LC_ALL, для определения размера бумажного листа используется переменная LANG |
LC_NAME | Переменная окружения LC_NAME используется, если не установлена переменная LC_ALL, для определения формата отображения имён (фамилия пишется первой или последней и т. д.). Если не установлены LC_ALL и LC_NAME, то используется переменная окружения LANG |
LC_ADDRESS | Переменная LC_ADDRESS, если не установлена LC_ALL, определяет информацию о местоположении и формат адреса (страна указывается в начале или в конце адреса, где расположен почтовый индекс и т. д.). В отсутствии LC_ADDRESS и LC_ALL, для определения формата указания адреса используется переменная LANG |
LC_TELEPHONE | Переменная LC_TELEPHONE используется в отсутствии LC_ALL для определения формата телефонных номеров. Если LC_ALL и LC_TELEPHONE не установлены, то используется переменная LANG |
LC_MEASUREMENT | Переменная LC_MEASUREMENT используется, если отсутствует LC_ALL, для определения системы единиц измерения (метрическая, имперская и т. д.). Если LC_ALL и LC_MEASUREMENT не установлены, то используется переменная LANG |
LC_LC_RESPONSE | Переменная LC_RESPONSE используется в отсутствии LC_ALL для определения того, как на локальном языке отобрадаются ответы (типа Да и Нет, Y/N, и т. п.). В отсутствии LC_RESPONSE для этого используется переменная LANG |
LC_IDENTIFICATION | Переменная LC_IDENTIFICATION используется в отсутствии LC_ALL для определения общих метаданных о языковой информации. Если LC_ALL и LC_IDENTIFICATION не установлены, то используется переменная LANG |
LANG | Переменная окружения LANG используется для всего, что не установлено ранее переменными вида LC_* |
NLSPATH | Задаёт путь к файлам локализованных сообщений и справки |
TZ | Задаёт временную зону, используемую системой |
Из командной строки управление переменными осуществляется с помощью команд export и env. Чтобы увидеть, какие переменные из вышеописанных и как установлены, можно использовать программу locale. Посмотреть, какие файлы для локализации имеются в системе можно в каталоге /usr/share/locale/, а также выполнив команду locale -a.
[soul@etcetera:~]$ locale LANG="ru_RU.UTF-8" LANGUAGE="ru_RU.UTF-8" 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="ru_RU.UTF-8" [soul@etcetera:~]$ locale -a C C.UTF-8 POSIX ru_RU.utf8 [soul@etcetera:~]
Проекты
OpenWrt и
LEDE, развивающие дистрибутивы для различных сетевых устройств, таких как маршрутизаторы и точки доступа, объявили о воссоединении (ссылка). В соответствии с ранее согласованным планом, Git-репозиторий OpenWrt заменён на содержимое репозитория LEDE, который послужит основой для дальнейшей совместной разработки.
Показать
Разработка объединённого проекта будет вестись под именем OpenWrt, но в соответствии с правилами LEDE, подразумевающими открытый процесс принятия решений с привлечением сообщества, прозрачность взаимодействия разработчиков, регулярный предсказуемый цикл подготовки релизов, первоочередное внимание стабильности дистрибутива, более либеральные правила приёма изменений и получения права коммита. Деятельность, связанная с решением юридических вопросов, сбором пожертвований и распоряжением активами (например, доменом и торговой маркой) нового совместного проекта OpenWrt делегирована некоммерческой организации SPI (Software in the Public Interest), которая также курирует такие проекты, как Debian, Arch Linux, X.Org, 0.A.D, FFmpeg, freedesktop.org и OpenEmbedded.
Старое содержимое репозитория OpenWrt перемещено в архив, но отсутствующие в LEDE патчи, отвечающие требованиям к качеству кода LEDE, будут перенесены в новый репозиторий. Сервисы и элементы инфраструктуры, запущенные в рамках домена lede-project.org, теперь доступны и через домен openwrt.org. Форумы и wiki пока остаются как есть, решение по ним ещё не утверждено.
Поддержка старых выпусков OpenWrt (до 15.05) будет прекращена, а для OpenWrt 15.05 будут предоставляться обновления с исправлением уязвимостей и серьёзных проблем. Поддержка LEDE 17.01 будет обеспечена в полном объёме. В ближайшие несколько месяцев ожидается формирование нового значительного релиза, который выйдет уже под именем OpenWrt.
Выбор в пользу кода LEDE сделан, так как последнее время все новшества и изменения создавались в данном проекте, а разработка OpenWrt практически остановилась после создания форка в 2016 году, когда из проекта ушла группа активных разработчиков, желающих поднять стабильность дистрибутива на новый уровень и избавиться от организационных проблем. Создатели ответвления, которое получило название LEDE, попытались воплотить в жизнь предсказуемый цикл разработки, более либеральные правила приёма изменений и прозрачный процесс принятия решений с привлечением сообщества и проведением публичных обсуждений. Весной 2017 года состоялся первый значительный релиз LEDE, который показал состоятельность проекта.
Новость с Опёнка