ИТ — Леонид Уханов https://leonid.uhanov.org Записки ленивого сисадмина Mon, 06 Mar 2023 14:22:18 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.4.3 https://i0.wp.com/leonid.uhanov.org/wp-content/uploads/2019/03/cropped-photo-1.png?fit=32%2C32&ssl=1 ИТ — Леонид Уханов https://leonid.uhanov.org 32 32 Переезд сайта https://leonid.uhanov.org/pereezd-sajta/ https://leonid.uhanov.org/pereezd-sajta/#respond Mon, 06 Mar 2023 15:30:00 +0000 https://leonid.uhanov.org/?p=3124 Осенью прошлого года я принял решение перейти с CMS Wordpess на использование генератора статических сайтов Hugo. Нет больше блоков и базы данных. Теперь только HTML и оптимизированные картинки. Новые заметки теперь будут появляться там.

Адрес сайта стал удобнее: uhanov.org

]]>
https://leonid.uhanov.org/pereezd-sajta/feed/ 0
ArchLinux: установка системы на subvolume BTRFS https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/ https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/#respond Mon, 01 Mar 2021 20:33:02 +0000 https://leonid.uhanov.org/?p=2901 Читать дальше…]]> Всем привет, на связи Уханов. Давно хотел написать заметку про BTRFS, но тема это огромная и когда-нибудь я её закончу. Сегодня же поговорим об установке ArchLinux на subvolume BTRFS. Почему я выбрал именно связку BTRFS + ArchLinux, а не Debian например? Ведь он мне так нравится, это Debian? Я ведь все проекты делаю именно на нём.

Ответ кроется в установщике — программе, которая даёт нам удобный набор инструментов для установки системы, но одновременно ограничивает наши возможности функционалом этих инструментов.

Файловая система BTRFS обладает огромным функционалом и рассказывать о ней можно очень долго. Меня на стадии установки системы интересуют два механизма: поддержка многодисковых конфигураций (multiple device support) и subvolumes. И вот именно на этом, начальном этапе Debian поставил меня в трудное положение: я могу отформатировать в BTRFS диски по-отдельности и никаких мне subvolume.

Потому я решил использовать ArchLinux — там нет инсталлятора и ничто не ограничит полёт фантазии. Приступим: у меня есть виртуальная машина с 4 дисками: их я использую для создания RAID10.

Настройка сети

Установку начнём с определения сетевого адаптера и получения ip адреса. В первом поможет команда

ip link

В её выводе мы увидим имя адаптера. В нашем случае это enp0s3. Так и запишем в параметрах dhcpcd

dhcpcd enp0s3

Ура, адрес получили. Настроим время:

timedatectl set-ntp true 

Разметка дисков

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

  • Форматирование диска в BTRFS без создания разделов. Такой сценарий вполне возможен: вы форматировать в BTRFS диск без создания на нём разделов. Монтировать его будете так-же: без указания номера раздела — просто диск. Используя так называемые partitionless диски вы рискуете столкнуться с проблемами установки на них загрузчика.
  • Раздел подкачки использовать необязательно — его можно заменить на файл подкачки. Это обеспечит вам некоторую свободу от отказа диска. В случае, если выйдет из строя диск с разделом подкачки, система завалится с отказом.
  • Постарайтесь не выделять /usr в отдельный раздел — проблем будет меньше.

Создание разделов

Для управления разделами я предпочитаю пользоваться программой cfdisk. Быстро и просто создаём по одному разделу на каждом из четырёх наших дисков

Создание файловой системы

У нас есть четыре раздела по одному на диск и пришло время их отформатировать. Нам предстоит создать файловую систему и настроить RAID10. Нам для этого пригодится всего одна команда:

Начнём с подготовки массива под систему: вводим в консоль команду, которая соберёт первые два диска массив уровня RAID1.

mkfs.btrfs -L Archlinux -d raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Команда возвращает нам результат своей работы. По скриншоту видно, что я использовал ключ -f, что не обязательно в работе. Просто мои диски были ранее уже форматированы в btrfs.

При этом видно, что метаданные в чередовании не участвуют: только зеркалирование.

Создание subvolume

Теперь смонтируем всю эту музыку.

mount /dev/sda1 /mnt

Монтировать BTRFS можно используя любой раздел — участник массива. В нашем случае /dev/sda1.

Перейдём в каталог /mnt

cd /mnt

Создадим subvolume для корня системы, домашнего каталога, каталога var и для снапшотов (об этом потом).

btrfs subvolume create root
btrfs subvolume create var
btrfs subvolume create home
btrfs subvolume create snapshots

Проверим результат командой:

btrfs subvolume list /mnt

Теперь выйдем из каталога mnt и отмонтируем наш массив командой:

cd ..
umount /mnt

Монтирование и подготовка к установке

Нам предстоит смонтировать subvolume, который мы запланировали как корневой каталог, создать на нём точки монтирования и смонтировать туда остальные subvolume. Монтировать будем с опцией сжатия файловой системы zstd.

mount -o noatime,compress=zstd,subvol=root /dev/sda1 /mnt

Корень есть, создадим точки монтирования одной командой:

mkdir /mnt/{var,home,snapshots}

Монтируем оставшиеся:

mount -o noatime,compress=zstd,subvol=var /dev/sdc1 /mnt/var
mount -o noatime,compress=zstd,subvol=home /dev/sdc1 /mnt/home
mount -o noatime,compress=lzo,subvol=snapshots /dev/sda1 /mnt/snapshots

Результат можно посмотреть и командой mount и при помощи df.

Установка

Далее в принципе установка проходит штатно и можно ориентироваться на мою прошлую заметку.

После выполнения pacstrap мы получим предупреждения от mkinitcpio.

Не будем игнорировать предупреждения и установим необходимое командой:

pacman -S btrfs-progs

И добавим hook btrfs в mkinitcpio.conf:

nano /etc/mkinitcpio.conf

Последнее отличие будет в установке загрузчика. Нам потребуется установить загрузчик командой:

pacman -S grub-btrfs

Она потянет за собой и обычный Grub. Загрузчик устанавливаем по очереди на каждый диск — участник массива. Это позволит загрузить систему в случае выхода из строя любого из них.

Вместо заключения

Мы установили Archlinux на многодисковую конфигурацию BTRFS с использованием subvolume и уровнем отказоустойчивости RAID10. Главное отличие subvolume от разделов в том, что у них общее пространство и не будет ситуации с нехваткой места на каком-то разделе.

В следующий раз подробнее поговорим о функционале BTRFS и о том, что с ней можно делать.

]]>
https://leonid.uhanov.org/archlinux-ustanovka-sistemy-na-subvolume-btrfs/feed/ 0
Сервер переехал на MariaDB https://leonid.uhanov.org/server-pereehal-na-mariadb/ https://leonid.uhanov.org/server-pereehal-na-mariadb/#respond Mon, 22 Feb 2021 22:51:46 +0000 https://leonid.uhanov.org/?p=2916 Читать дальше…]]> История моих приключений с MySQL началась с попыток выполнить так называемый in-place upgrade MySQL с 5.7 до 8 версии. На этом сервере у меня висит более десятка разных баз данных. Попыток обновления было несколько, но все они заканчивались восстановлением из теневой копии.

Я взял перерыв в попытках обновить сервер и на какое-то время про него забыл. Некоторое время спустя, этот сайт переехал с домашнего хостинга на выделенный в Санкт-Петербург. Именно там я впервые столкнулся с MariaDB. Ещё на стадии переезда у меня были сомнения, что всё пройдёт гладко. Но всё прошло удачно и я задумался о миграции баз данных на домашнем сервере с MySQL на MariaDB.

Перед началом процесса следует уточнить совместимость версий MySQL и MariaDB серверов.

Сначала я создал свежую резервную копию сервера, потом выгрузил все базы с MySQL в один файл:

mysqldump -u root -p -A > c:\alldbs.sql

Далее я удалил MySQL с сервера и установил MariaDB. Первая попытка восстановить базы завершилась неудачно, потому добавил в начало файла выгрузки следующие строки:

DROP TABLE IF EXISTS mysql.global_priv;
DROP VIEW IF EXISTS mysql.user;

Потом восстановил базы из файла.

mysql -u root -p < c:\alldbs.sql

В конце запустил mysql-upgrade -u root -p

]]>
https://leonid.uhanov.org/server-pereehal-na-mariadb/feed/ 0
Машина времени, которую я заслужил. https://leonid.uhanov.org/mashina-vremeni-kotoruju-ja-zasluzhil/ https://leonid.uhanov.org/mashina-vremeni-kotoruju-ja-zasluzhil/#respond Sun, 29 Nov 2020 17:52:49 +0000 https://leonid.uhanov.org/?p=2812 Читать дальше…]]>

В августе 2019 года ко мне в руки попал интересный компьютер. Характеристики весьма вкусные, если знать, что с этим делать:

  • Материнская плата Iwill P55V2
  • Процессор Pentium 100 Мгц
  • Оперативная память 32 Мб DIMM
  • Жёсткий диск 1,2 гб
  • Видеокарта S3 Trio64V+ 1 мб
  • Звуковая плата: ESS AudioDrive ES1866F

Особый шарм этому компьютеру добавил электронно-лучевой монитор ViewSonic 15GA со встроенным стереозвуком.

Я был безумно обрадован, когда убедился в полной работоспособности клавиатуры. Она способна пробудить самые приятные воспоминания.

Включение

Собственно включение прошло успешно, его я и не ожидал — ведь компьютер по словам владельца не включался с начала 2000-х и всё это время пролежал в гараже. Сбились настройки BIOS, но я пока не стел вникать в причины — настроил в всё. Встретил меня собственной персоной MS-DOS 6.22. Привычными командами осмотрелся на диске — нашёл Norton Commander и каталог Windows. Скомандовав в пустоту win, я увидел логотип загрузки Windows 3.11.

Было ощущение, что это не компьютер, а машина времени. Microsoft Word 6.0, FoxPro , какая-то бухгалтерская программа из 90-х, название которой не могу вспомнить и шахматы.

Потрясающее ощущение того, что хозяин отошёл от компьютера совсем недавно и не было этих 20 лет. методические материалу по бухгалтерскому учёту СССР и чьи-то дипломные работы — хозяин преподавал в университете в те годы.

Утерянный разъём

Дичайшим образом меня бесило то, что не сохранялись настройки BIOS. Собственно я решил поменять злополучную батарейку. Каково же было моё удивление, когда я её не нашёл. Даже разъёма для неё не было, хоть посадочное место на плате и было.

Дело не сложное — с донорской материнской платы был перепаян разъём под батарейку.

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

Последний вздох

Первым делом я решил поставить Windows 95. Был создан второй раздел, куда при помощи Norton Ghost был создан образ имеющейся системы.

Установка шла своим чередом, но кнопка Turbo на системном блоке очень уж приманивала взгляд. Собственно её я и нажал.

Блок питания сказал: БАБАХ и выпустил клубы дыма. Но всё продолжало работать. Я решил закончить установку системы, а потом вскрыть блок питания.

Система так больше и не включилась. Замена конденсаторов результата не дала — решено было оставить системный блок в покое до прихода вдохновения.

Озарение в пути

Люблю почитать что-нибудь в дороге. Можно время скоротать с пользой. Месяц спустя я поехал а семьёй поездом на море. Жена с сыном спали, в купе было тихо и я читал на планшете январский номер электронного журнала Downgrade. Мне попалась статья статья пр восстановление DALLAS RTC. там говорилось про микросборку DALLAS DS1287, где батарея находится вместе с кварцем в одной оболочке. Ситуация до боли напоминала мой случай и я запомнил этот момент.

Год спустя

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

В поисках -5В

Понятное дело, что начать следовало с блока питания. В компьютере использовался блок питания формата AT. Под рукой разумеется свободного не нашлось (был один, но он используется).

Решено было не паять переходники, а выпаять с подходящего блока питания ATX разъём вместе с проводами и заменить его на разъёмы AT. Найти подходящий блок оказалось непросто, ведь в 2004 году из спецификации ATX v2.01 исключили 18 контакт. там было напряжение -5В, необходимое для работы шины ISA. А у меня на ISA сидит звуковая плата.

Вскоре донорский блок питания был найден. Им оказался блок питания от старенького Pentium 4 с 20-pin разъёмом ATX.

Всё прошло успешно, компьютер снова заработал и напомнил о своей первой проблеме — теряющихся настройках BIOS.

Дело о пропавшей батарейке

Припаянный разъём батарейки BIOS результатов не дал. Стало понятно, что я не там ищу. Но где она? Тут я вспомнил статью, что читал по дороге на море более года назад.

Суть заключалась в том, что у этой сборки 16 и 20 ножки загнуты вверх и к ним припаяна внутренняя батарея.

Задача выглядит несложно. Выпаяв бесполезный разъём батарейки и срезав часть оболочки, начинаю ковырять сборку в поисках ножек. Минут через 5 ножки найдены. 16 ножку я перерезал, отключив внутреннюю батарейку от кварца.

Я не нашёл ничего умнее, как просто приклеить разъём батареи сверку на сборку.

Всё прошло успешно — настройки BIOS, как и дата больше не теряются.

Собственно на этом я пока и остановился. Сейчас нахожусь в поисках комплектующих для компьютера. Мне нужны: блок питания AT, память SIMM и жёсткий диск на 10-20 гб.

А компьютер ищет нового хозяина, ценителя Downgrade. Если вдруг хотите помочь с железом или хотите это компьютер, пишите мне на почту.

]]>
https://leonid.uhanov.org/mashina-vremeni-kotoruju-ja-zasluzhil/feed/ 0
VirtualBox для самых маленьких: сказка о двух ядрах. https://leonid.uhanov.org/virtualbox-dlja-samyh-malenkih-skazka-o-dvuh-jadrah/ https://leonid.uhanov.org/virtualbox-dlja-samyh-malenkih-skazka-o-dvuh-jadrah/#respond Tue, 03 Nov 2020 17:16:56 +0000 https://leonid.uhanov.org/?p=2778 Читать дальше…]]> Пенного всем этим чудным вечером, дорогие любители Downgrade и им сочувствующие!

В процессе написания заметки про Windows 2000 (Замечу, что готовится вторая часть), столкнулся с проблемой потребления процессорного времени виртуальной машиной. То есть даже во время простоя виртуальной машины, она нещадно потребляет ресурсы процессора.

Воспроизведение проблемы: виртуальная машина в конфигурации с одним ядром работает под управлением Windows 2000 с установленным многопроцессорным ядром.

Как так могло случиться? Например, если на стадии установки у виртуальной машины было два ядра, но потом настройки изменились и ядро осталось одно.

При этом на хостовой операционной системе мы видим полную загрузку одного ядра процессора процессом виртуальной машины.

В строке состояния виртуальной машины мы так-же видим повышенную нагрузку на процессор.

Решений данной ситуации у нас два: вернуть виртуальной машине два ядра или сменить ядро операционной системы. И если с первым всё более-менее понятно, то о смене ядра Windows я расскажу подробнее.

Открываем диспетчер устройств, находим там устройство под названием «компьютер», смотрим свойства и нажимаем кнопку обносить драйвер. Выбираем пункт «Вывести список всех известных драйверов для этого устройства» и жмём далее. Под появившимся списком устройств ставим переключатель, чтобы увидеть полный список устройств.

Выбираем однопроцессорный компьютер с ACPI и завершаем установку. Потребление процессорного времени виртуальной машиной придёт в норму.

К слову говоря, данная проблема сохранится и в Windows XP. Лишь Windows Vista позволит нам менять количество ядер без особых на то последствий.

]]>
https://leonid.uhanov.org/virtualbox-dlja-samyh-malenkih-skazka-o-dvuh-jadrah/feed/ 0
Восстановление Windows https://leonid.uhanov.org/vosstanovlenie-povrezhdjonnyh-komponentov-windows/ https://leonid.uhanov.org/vosstanovlenie-povrezhdjonnyh-komponentov-windows/#respond Sat, 14 Mar 2020 18:06:14 +0000 https://leonid.uhanov.org/?p=2430 Читать дальше…]]> Бывают случаи, когда в Windows были удалены или повреждены системные файлы. Это могло произойти в результате сбоя файловой системы, действий вирусов или ошибочных действий самого пользователя. При этом система может загружаться, а может и нет. Не спешите переустанавливать систему или делать откат к заводским настройкам (в случае с Windows Server это невозможно или неприемлемо). Зачастую систему можно привести в рабочее состояние.

Сегодня в номере:

Восстановление системы

Восстановление системы впервые появилось в Windows Me. Тогда копии важнейших системных файлов (реестра в подавляющем большинстве) хранились в zip архивах. Чуть позже, в Windows XP, они хранились как есть, только скрытые с глаз долой в каталоге System Volume Information. Начиная с Windows Vista восстановление системы использует технологию теневого копирования. Именно из теневой копии Windows может восстановить свои файлы. Этот вариант подходит только для клиентских редакций Windows.

Здесь следует помнить, что при использовании точки восстановления, из теневой копии будет восстановлено то, что в неё попало. Это значит, что если файлы на момент создания точки восстановления уже были повреждены или отсутствовали, чуда не произойдёт. Так-же следует отметить отсутствие этого механизма в Windows Server и его автоматическое отключение при установке клиентской редакции Windows на SSD диск.

Восстановление загруженной операционной системы.

Рассмотрим порядок действий, если восстановление системы не применимо или не помогло и система загружается.

System File Checker

Начать стоит с проверки системных файлов, в этом нам поможет утилита проверки целостности системных файлов. SFC проверяет системные файлы на несанкционированные изменения или удаление и попытается восстановить их их кэша, расположенного по пути: C:\Windows\WinSxS. Для начала проверки выполните в командной строке, запущенной с повышенными привилегиями команду:

sfc /scannow

Рассмотрим ситуацию на реальном примере, произошедшем со мной недавно:

Windows Server 2016 с установленной ролью Windows Server Update Services. По пути C:\Program Files\Update Services\ отсутствует каталог Tools, что ставит крест на управлении сервером из командной строки. Можно скопировать каталог с аналогичного сервера, если такой есть. У меня не было и я скомандовал описанную ранее команду:

Защита файлов не смогла восстановить некоторые файлы. Нужно уточнить, вернулся-ли каталог Tools на своё место. Можно пройти по пути C:\Program Files\Update Services\ и посмотреть, но это не наш метод. SFC создаёт файл журнала, который мы будем изучать. Файл большой, поэтому предварительно отберём нужные данные:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

Открываем файл блокнотом и ищем строку: «Update Services\Tools»

Мы видим, что файл восстановлен. Отлично! Но программа сообщила об ошибках — значит капаем дальше. Проводим отбор по тексту ошибки:

findstr /c:"[SR] Cannot repair member file" "%userprofile%\Desktop\sfcdetails.txt">"%userprofile%\Desktop\error.txt"

И снова смотрим, что получилось:

Не восстановились некоторые ярлыки. В принципе на этом можно и закончить, но если хочется довести начатое до конца, то следует использовать DISM.

DISM

Утилита обслуживания образов развертывания и управление ими позволяет творить чудеса даже в очень трудных случаях. DISM занимается обслуживанием хранилища компонентов (WinSxS). Его проверка и восстановление как раз по плечу DISM.

Давайте договоримся, что первой я буду указывать команду для cmd, а далее дублировать для PowerShell.

Просмотр состояния хранилища компонентов

Для отображения последнего выясненного состояния хранилища компонентов используется команда:

DISM /Onine /Cleanup-Image  /CheckHealth 
Repair-WindowsImage -Online -CheckHealth 

Эта команда не проверяет хранилище, а отображает последнее известное его состояние.

Проверка хранилища компонентов

Проверка хранилища, напротив, выполняется продолжительное время и отражает реальное положение дел в системе. Для проверки хранилища используется команда:

DISM /Online /Cleanup-Image /ScanHealth 
Repair-WindowsImage -Online –ScanHealth 

Она найдет ошибки и предупредит об их наличии, но не восстанавливает. Как видим, у меня с системой всё в порядке.

Восстановление хранилища компонентов

Для восстановления хранилища компонентов DISM требуется источник, откуда он будет брать исправные копии повреждённых компонентов. В качестве источника могут использоваться:

  • Windows Update или WSUS
  • Установочный образ ESD или WIM

Как видим, вариантов источников много, их можно указывать последовательно в одной команде. Будет использоваться первый, где требуемый компонент будет найден. Есть особенность, что если мы укажем образ соседней системы и компонент там найден не будет, будет произведён поиск в Windows Update.

Команда ниже проверит хранилище на наличие повреждённых компонентов и попробует их восстановить, скачав исходные файлы с центра обновления Windows:

DISM /Online /Cleanup-Image /RestoreHealth 
Repair-WindowsImage -Online -RestoreHealth 

Однако метод может потерпеть неудачу, если отсутствует соединение с интернетом или повреждены компоненты центра обновления Windows. Рассмотрим восстановление с установочного носителя. С загрузочного образа, диска или флешки нам нужен всего один файл: install.wim или install.esd

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim
Repair-WindowsImage -Online -RestoreHealth -Source E:\sources\install.wim 

Иногда требуется указать номер индекса требуемой редакции. Уточнить номер индекса требуемой редакции совсем несложно — например через PowerShell:

Get-WindowsImage -ImagePath "E:\sources\install.wim

Индекс сборки потом указываете через двоеточие. Например:

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.esd:2

Если требуется запретить использование Windows Update или WSUS, используйте параметр /LimitAccess.

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim /LimitAccess

Восстановление системы, которая не загружается

Рассмотрим случай, когда система уже не загружается. Для её восстановления нам потребуется доступ к системному диску. Мы можем использовать среду восстановления, имеющуюся на компьютере:

Среду восстановления можно запустить с установочного носителя:

Одним словом, не имеет значения как вы получите доступ к диску. Диск можно также подключить к другому компьютеру. Если использовали среду восстановления, то следует разобраться с буквами дисков. Може использовать для этих целей команду bcdedit или запустить notepad и через меню файл — открыть увидеть буквы дисков и их содержимое.

System File Checker

Утилита проверки целостности системных файлов и в этой ситуации может прийти на помощь! Для этого у ней есть соответствующие параметры /offbootdir и /offwindir. Нам остаётся лишь указать букву системного диска и путь папки Windows.

 sfc /scannow /offbootdir=c:\  /offwindir=c:\windows 

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

DISM

DISM настолько крут, что и в такой ситуации найдёт выход. Подробнее про офлайн обслуживание хранилища компонентов поговорим в другой раз — сейчас сосредоточимся на восстановлении. Сразу скажу, что из среды восстановления PowerShell не работает. Команды управления образом апривожу на случай, если диск подключен к другой системе.

Просмотр состояния хранилища компонентов

Команда используется как и ранее с той лишь разницей, что мы указываем путь к системному диску повреждённой Windows

Dism /Image:E:\ /Cleanup-Image /CheckHealth
Repair-WindowsImage -Path "E:\" -CheckHealth

Мы видим, что хранилище компонентов моей тестовой системы требует восстановления.

Проверка хранилища компонентов

Проверка хранилища компонентов как и ранее работает долго, но даёт более актуальный результат в отличие от предыдущей команды.

Dism /Image:E:\ /Cleanup-Image /ScanHealth
Repair-WindowsImage -Path "E:\" -ScanHealth 

Восстановление хранилища компонентов

Восстановление хранилиза компонентов по сути своей не отличается от ситуации с загруженной системой, поэтому не буду приводить полный список команд. Ограничусь простой командой восстановления через Windows Update. Разница лишь в указании пути к системе.

Dism /Image:E:\ /Cleanup-Image /restorehealth 
Repair-WindowsImage -Path "E:\" -RestoreHealth  

Заключение

Как видите есть масса способов привести систему в чувства и без переустановки Windows. Надеюсь предложенные способы помогут вам.

]]>
https://leonid.uhanov.org/vosstanovlenie-povrezhdjonnyh-komponentov-windows/feed/ 0
Simple Gopher Client: Окно в мир Gopher https://leonid.uhanov.org/simple-gopher-client-okno-v-mir-gopher/ https://leonid.uhanov.org/simple-gopher-client-okno-v-mir-gopher/#respond Wed, 04 Mar 2020 17:52:18 +0000 https://leonid.uhanov.org/?p=2450 Читать дальше…]]> Добрый вечер, любители Downgrade!

Сегодня я рассскажу клиенте сетевого протокола Gopher. Для начала немного истории из Википедии:

Gopher  — сетевой протокол распределённого поиска и передачи документов, который был широко распространён в Интернете до 1993 года. Протокол предназначается для предоставления доступа к документам в Интернет, но имеет меньше возможностей, чем HTTP, и впоследствии был почти полностью вытеснен им.

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

Протокол был разработан в Университете Миннесоты весной 1991 года и документирован в RFC 1436. Летом 1993 года опубликован набор дополнений к протоколу, получивший название Gopher+.

В феврале 1993 года Университет Миннесоты объявил о намерении взимать лицензионные отчисления за использование созданной им реализации сервера Gopher. В результате пользователи и разработчики стали отдавать предпочтение развивавшейся тогда технологии World Wide Web, имевшей и ряд других преимуществ. В сентябре 2000 года Университет Миннесоты выпустил программное обеспечение Gopher (клиент и сервер) под лицензией GNU GPL.

Ранее я уже писал о создании своего сервера и предложил пикабушникам поучаствовать в его наполнении околокомпьютерным фольклором.

Для меня всегда было проблемой навигация по серверам Gopher и поиск информации на них. Ведь по сути, единственным адекватным браузером, поддерживающим Gopher был Firefox 3.6.

Недавно я узнал хорошую новость: ребята из Shipwreck Software выпустили современый клиент Gopher.
Simple Gopher Client вышел год назад и доступен в Microsoft Store.

Внешний вид клиента

На сайте The Overbite Project можно скачать клиенты и расширения для Gopher.

]]>
https://leonid.uhanov.org/simple-gopher-client-okno-v-mir-gopher/feed/ 0
Взгляд назад: Windows NT 4.0 https://leonid.uhanov.org/vzgljad-nazad-windows-nt-4-0/ https://leonid.uhanov.org/vzgljad-nazad-windows-nt-4-0/#respond Thu, 13 Feb 2020 14:36:35 +0000 https://leonid.uhanov.org/?p=2095 Читать дальше…]]> Windows NT 4.0 увидела свет 29 июля 1996 года. Она поддерживает архитектуры x86, Alpha, MIPS, PowerPC. Японская версия поддерживает архитектуру PC98.Это последняя из Windows, поддерживающая архитектуры Alpha, MIPS и PowerPC. Так-же это последний выпуск Windows NT, носящий такое название.

Сегодня в номере:

Рождение Explorer

Первое, что бросается в глаза, это интерфейс. Помните, в прошлом выпуске я рассказывал про Shell Technology Preview?

Windows NT 4.0 получила пользовательский интерфейс Windows 95, что ввело понятие рабочего стола, панели инструментов, меню пуск, мой компьютер. Появилась корзина — теперь файлы при удалении попадают в неё. Добавили инструмент синхронизации файлов — портфель. Появились так-же сглаживание шрифтов и отображение содержимого окна при перетаскивании и некоторые другие.

Из пакета Microsoft Plus! перекочевал Пинбол «Звёздный юга».

Основные изменения

  • Crypto API
  • Telephony API 2.0
  • DCOM и новые функции OLE
  • Microsoft Transaction Server
  • MSMQ (Microsoft Message Queuing)
  • Winsock 2
  • Улучшения TCP/IP
  • Появилась поддержка API дефрагментации (программы дефрагментации нет)
  • Появился инструмент развёртывания Sysprep
  • Эмуляция NTVDM в версия RISC была обновлена с 286 до 486

Windows NT 4.0 отошла от принятой в Windows NT 3.x концепции микроядра — Майкрософт перенесли драйверы графических адаптеров,библиотеки менеджера окон и GDI в режим ядра. Ранее всё это находилось в пользовательском режиме в процессе CSRSS. Это исключило переключение контекста между процессами при вызове функций GDI, что привело к значительному повышению производительности по сравнению с Windows NT 3.51, особенно в графическом пользовательском интерфейсе. Подобное решение привело к потенциальным проблемам со стабильностью, ведь драйвера графического адаптера и принтера тоже работали в режиме ядра.

WIndows NT 4.0 была первой Windows, где DirectX был включен в качестве стандарта. DirectX 2.0 поставлялся с первым выпуском Windows NT 4.0, а DirectX 3.0 был включен в Service Pack 3.

Windows NT 4.0 первой представила диспетчер задач. Это приложение объединило в себе сразу несколько инструментов: управление открытыми приложениями, управление процессами и просмотр системных ресурсов. Windows NT 3.x включала утилиту «Список задач», которая отображала только те приложения, которые в данный момент находятся на рабочем столе. Просмотр процессов, не имеющих отдельных окон был недоступен. Для мониторинга использования процессора и оперативной памяти приходилось использовать системный монитор, что неудобно. Ниже представлено сравнение: было — стало.

Сравнение с Windows 95

Windows NT 4.0 обеспечивает большую стабильность, по сравнению с Windows 95 за счёт использования защищённой памяти и слоя аппаратных абстракций (HAL). Прямой доступ к оборудованию был запрещён и приложения, работающие с ошибками, прерывались без перезагрузки компьютера. В тоже время Windows 95 требовала значительно меньше оперативной памяти.

Windows NT 4.0 не имеет поддержки Plug and Play и не имеет диспетчера устройств, не смотря на то, что вышла позже Windows 95. Поддержка USB, добавленная в Windows 95 OSR2.1 в Windows NT 4.0 так и не появилась. Максимальный объем поддерживаемой физической оперативной памяти в Windows NT 4.0 составляет 4 ГБ. Для сравнения, Windows 95 не загружается на компьютерах с более чем 480 МБ памяти. Windows 95 поддерживает только архитектуру x86. Windows NT 4.0 в отличие от Windows 95 так не получила поддержку FAT32

В Windows NT 4.0 API дефрагментации, но не было встроенной утилиты дефрагментации. Подробнее о дефрагментации можете почитать в статье Марка Руссиновича Inside Windows NT Disk Defragmenting.

Редакции

  • Windows NT 4.0 Workstation
  • Windows NT 4.0 Server
  • Windows NT 4.0 Server Enterprise Edition
  • Windows NT 4.0 Terminal Server Edition
  • Windows NT 4.0 Embedded

Windows NT 4.0 Workstation

Эта редакция Windows NT, как можно понять из снимка выше, поставляется со встроенным Internet Explorer 2.0. Service Pack 6 обновляет Internet Explorer до версии 5.01. Последняя поддерживаемая версия Internet Explorer 6.

Кроме браузера, система обзавелась программой просмотра изображений (Imaging). В роли веб-сервера поставляется Microsoft Peer Web Server. Роль FTP переехала туда же.

Большинство приложений, написанных для Windows 95 будут работать в Windows NT 4.0. Исключение составляют некоторые 3D игры из-за ограничений поддержки DirectX. Приложения MS-DOS будут работать, кроме графических программ для DOS. Звука в DOS играх тоже нет.

Звуковая схема похожа на схему Windows 95, только звук включения здесь другой, а звук выключения звучит в реверсе (наоборот). Фоновый русунок установщика система унаследовала от Windows NT 3.51. Windows 95, в которой был такой же рисунок, вышла позже NT 3.51

Windows NT 4.0 Server

Выщла в 1996 году, была разработана для серверных систем малого бизнеса.

Серверная редакция включает в себя:

  • Internet Information Services 2.0
    • WWW сервер
    • FTP сервер
    • Gopher сервер
  • Microsoft FrontPage 1.1
  • NetShow Services
  • Remote Access Service (поддержкой PPTP VPN)
  • DNS

Internet Information Services изначально поставлялся второй версии, но Service Pack 3 обновляет IIS до третьей версии. Ранее сервер FTP устанавливался через панель настройки сети, теперь он переехал в IIS. Тут также находятся сервера WWW и Gopher. IIS версии 3.0 представил динамическую среду сценариев Active Server Pages. Имеет два варианта управления: через приложение или веб-интерфейс, но некоторые параметры настраивались через свойства папки.

Windows NT 4.0 представила концепцию системных политик и редактор системных политик.

Впервые появился мастер задач. В зависимости от редакции системы, он предлагает разные инструменты управления.

Как мы помним, понятие ролей ещё не появилось. Поэтому на стадии установки придётся выбрать: будет-ли сервер основным контроллером домена (PDC), резервным контроллером домена (BDC) или рядовым сервером. Рядовой сервер может менять участие между доменом и рабочей группой, а контроллер домена понизить нельзя.

Замечу, что Windows Server NT 3.1 не могла быть рядовым сервером — домен создавался уже в процессе установки Windows.

Настройка домена в процессе установки Windows NT 3.1 Advanced Server

Windows NT 4.0 Server Enterprise Edition

Выпущенный в 1997 году, является предшественником линейки Enterprise семейства серверов Windows (Advanced Server в Windows 2000). Enterprise Server был разработан для сетей с высоким спросом и интенсивным трафиком. Windows NT 4.0 Server Enterprise Edition включает в себя пакет обновления 3. В Enterprise Edition был введен флаг загрузки / 3GB , который изменил сопоставление виртуального адресного пространства по умолчанию с ядра 2 ГБ и пространства пользователя 2 ГБ до ядра 1 ГБ и 3 ГБ пользовательского пространства. Он также представил драйвер PSE36 для отображения до 64 ГБ памяти (хотя чипсеты той эпохи поддерживали только до 8 ГБ). В этой версии также впервые появилось обслуживание кластера.

Windows NT 4.0 Terminal Server

Вышла в 1998 году, позволяет пользователям входить в систему удаленно. Эта же функциональность называлась службами терминалов в Windows 2000 и более поздних выпусках сервера, а также включала функцию удаленного рабочего стола, которая впервые появилась в Windows XP.

Сервер терминало всем своим видом показывает, что он для удалённой работы. Просто посмотрите пару скриншотов:

Это система для работы — игры по умолчанию не устанавливаются. А этонехитрые настройки сервера терминалов. Как выключить или перезагрузить сервер я не понял — такой кнопки тут нет.

Windows NT 4.0 Embedded

Windows NT 4.0 Embedded (сокращенно NTe ) — это версия Windows NT 4.0, предназначенная для основных устройств с компьютерным питанием, торговых автоматов , банкоматов и других устройств, которые сами по себе не могут считаться компьютерами общего назначения. Это та же система, что и стандартная Windows NT 4.0, но она поставляется в виде базы данных компонентов и зависимостей , из которой разработчик может выбирать отдельные компоненты для создания настроенных установочных компакт-дисков и загрузочных образов жесткого диска . Windows NT 4.0 Embedded включает в себя пакет обновления 5. Его сменила Windows XP Embedded.

Пакеты обновлений

Windows NT 4.0 в течение своего жизненного цикла получила сеть пакетов обновлений и многочисленные обновления и дополнительные пакеты. Система на архитектуре MIPS получила только SP1, а для архитектуры PowerPC последним был SP2.

Помимо исправлений ошибок, в пакеты обновления также добавлено множество новых функций, таких как новые версии IIS , улучшения учетных записей пользователей и профилей пользователей, поддержка смарт-карт, улучшенная масштабируемость симметричной многопроцессорной обработки (SMP), возможности кластеризации, улучшения поддержки COM. , Служба журнала событий, MS-CHAPv2 и NTLMv2 , подпись пакетов SMB , SAM Lock Tool (SYSKEY) , улучшения загрузки, улучшения WINS , служба маршрутизации и удаленного доступа (RRAS), улучшения PPTP , DCOM / HTTP-туннелирования, IGMPv2, WMI , Active Accessibility и поддержка NTFS 3.0 .

Service packДата выпуска
Service Pack 1 (SP1)16 октября 1996
Service Pack 2 (SP2)14 декабря 1996
Service Pack 3 (SP3)15 мая 1997
Service Pack 4 (SP4)25 октября 1998
Service Pack 5 (SP5)4 мая 1999
Service Pack 6 (SP6)27 октября 1999
Service Pack 6a (SP6a)22 ноября 1999
Post SP6a Security Rollup 26 Июля 2001

Дополнения

В 1998 году вышел бесплатный компакт — диск , включающий в себя: IIS 4.0 с поддержкой Active Server Pages, серверные расширения FrontPage, сервер сертификаци, Microsoft Transaction Server, Microsoft Message Queuing, Collaboration Data Objects for Windows NT Server, Internet Authentication Service, служба индексирования, Microsoft Management Console 1.0, Microsoft Site Server, SMTP иNNTP и прочее.

Некоторые функции, такие как распределенная файловая система и служба балансировки нагрузки Windows NT, были поставлены как дополнения для Windows NT Server 4.0. Служба маршрутизации и удаленного доступа также была загружаемой функцией, которая заменила отдельные службы RAS и многопротокольной маршрутизации в Windows NT 4.0.

Наборы ресурсов

Microsoft выпустила пять ревизий Windows NT 4.0 Workstation и Server Resource Kit (оригинальный выпуск плюс четыре приложения), которые содержали большое количество инструментов и утилит, таких как autologon, редакторы курсоров и изображений, утилиты диагностики, сетевые утилиты и многие другие.

Завершение поддержки

Основная поддержка завершилась 31 декабря 2002 года, расширенная поддержка заыкршилась 31 декабря 2004 года.

]]>
https://leonid.uhanov.org/vzgljad-nazad-windows-nt-4-0/feed/ 0
Дело о поиске сбойного диска. https://leonid.uhanov.org/delo-o-poiske-sbojnogo-diska/ https://leonid.uhanov.org/delo-o-poiske-sbojnogo-diska/#respond Sun, 26 Jan 2020 15:32:05 +0000 https://leonid.uhanov.org/?p=2120 Читать дальше…]]> Всем привет! Сегодня поведаю историю, случившуюся со мной недавно. Немного предыстории: у меня в компьютере установлено 12 дисков. В Windows 10 я активно использую технологию Storage Spaces и файловую систему ReFS, они предохраняют мои данные от повреждений. О них я уже писал и почитать можно по ссылкам ниже:

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

  • Нагрузка на виртуальный диск 100%
  • Скорость обмена с виртуальным диском 0 байт/сек
  • Оснастка управление дисками не отвечает
  • Оснастка просмотр событий не отвечает
  • Командлеты PowerShell по работе с дисками зависают
  • Апплет панели управления «Дисковые пространства» зависает
  • Завершение или перезагрузка зависают в процессе
  • На нажатие кнопки Reset реакции нет

Выход из данного состояния возможен только выключением питания ПК. Подобное повторилось несколько раз и я полез в читать логи, а именно журнал System. Там за несколько минут до зависания есть повторяющиеся записи, указывающие на неполадку с одним из дисков. источник «Storahci» ничего умного не сказал.

Storahci невнятно указывает на неполадки диска

А вот источник «Disk» явно указывает на неисправный диск. Вот только он не говорит ни производителя, ни модель, ни серийный номер диска. Только имя PDO.

Disk явно указывает на виновника

Но и этого нам достаточно: открываем диспетчер устройств, и ищем среди дисковых устройств диск, в сведениях которого, значение имени физического устройства совпадёт с искомым именем PDO.

Итак, диск мы нашли. Но посмотрите на картинку выше — у меня таких дисков три. Серийный номер в сведениях диска найти не удалось, но удалось найти контроллер, куда диск подключен.

Так как дисковых контроллеров у меня на компьютере 4 штуки, то эта информация мне тоже полезна. Последний известный родительский объект хранит ID дискового контроллера.

В Google нас не забанили, поэтому копируем значение и ищем. Нашлось быстро: встроенный в материнскую плату контроллер Marvell 91xx.

Качаем руководство на материнскую плату и находим разъёмы контроллера на ней (8).

Номер порта на контроллере нам подсказал источники Disk и Storahci в журнале выше — порт 2. Открываю корпус и вот он, второй снизу (выделен красным). Диски я специально пронумеровал, чтобы быстро находить их в Storage Spaces.

А вот он в Storage Spaces. На нём хранится много данных и перед его удалением придётся найти ему замену. Данные в процессе подготовки к удалению, убудут перемещены автоматически.

Об удалении дисков можно почитать у меня в заметке.

Берегите свои данные и не забывайте про бекапы.

]]>
https://leonid.uhanov.org/delo-o-poiske-sbojnogo-diska/feed/ 0
Очистка папки Installer в Windows 7/8/10 https://leonid.uhanov.org/ochistka-papki-installer-v-windows-7-8-10/ https://leonid.uhanov.org/ochistka-papki-installer-v-windows-7-8-10/#respond Sun, 19 Jan 2020 16:33:45 +0000 https://leonid.uhanov.org/?p=1950 Читать дальше…]]> Всем привет! Сегодня поговорим о скрытом каталоге Installer, что лежит внутри Windows. Вот он:

C:\Windows\Installer

Ни дома, ни на работе я проблем с этим каталогом не встречал. Однако недавно, забежав знакомым на помощь, увидел комп, на котором из 120 гб SSD было свободно только 1,5 гб. Анализ занятого пространства средствами Windows 10 показал два слабых места: архивы Outlook и папку Windows, которая разрослась аж до 70 гб. Windows 10 обновиться нормально не могла и осталась на Windows 10 1903. При помощи WinDirStat, был найден виновник: каталог Installer.

Каталог Installer хранит MSI пакеты установщика Windows и MSP пакеты исправлений. Когда вы устанавливаете приложение, установщик сохраняется в системе для возможности удаления, исправления или изменения компонентов установленного приложения.

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

  • Удалить
  • Восстановить
  • Изменить установленные компоненты
  • Переустановить

Это всё случится с приложениями, использующими технологию Microsoft Installer. Согласитесь, не лучшая перспектива — таких программ большинство. О последствиях такого перемещения поднимался вопрос на OSZONE.

Пути решения

Теперь о проблеме: каталог заполнен файлами, происхождение и назначение которых неизвестно. Удаление их грозит потенциальными проблемами и решений тут два:

  • Переместить (или удалить) только неиспользуемые файлы
  • Полностью переместить каталог Installer

Перемещение каталога Installer

Данное решение подходит тем, кому прошлый способ не помог. А не поможет он в том случае, если установлено много приложений или MSI этих приложений имеют значительный размер. Решение подойдёт для планшетов — каталог можно перенести на карту памяти. Если речь идет не о планшете и размер каталога Installer не превышает 5 гб, то задумайтесь, не слишком ли у вас маленький системный раздел?

Носитель, куда мы переносим каталог должен быть отформатирован в NTFS. Создадим каталог и назначим на него права как на изображении:

Старый каталог переименовываем и создаем на его месте точку входа на новый созданный каталог. С этой целью можно использовать программу Link Shell Extention, о ней я рассказывал ранее. Но мы воспользуемся штатными средствами — оманду вводим от имени администратора команду:

mklink /j "c:\Windows\Installer" "d:\Installer"

Перенесите файлы вручную, старый каталог можно удалить.

Очистка каталога Installer

Есть на мой взгляд более правильное решение: выяснить какие файлы более не нужны и переместить их. Можно удалить, но я предпочитаю перемещать (ну а вдруг). Для этой цели хочу порекомендовать бесплатную утилиту PatchCleaner. После запуска программа сразу начинает сканировать каталог Installer. Сканирование может занять продолжительное время: в моем случае почти 40 гб сканировались минут десять.

Информация с сайта разработчика о том, как работает программа:

HomeDev has had many queries about how PatchCleaner works and if it can be trusted to do the right thing.
Its pretty simple. The windows operating system holds a list of current installers and patches, that can be accessed via WMI calls, (Windows Management Instrumentation ).
PatchCleaner obtains this list of the known msi/msp files and compares that against all the msi/msp files that are found in the «c:\Windows\Installer» directory. Anything that is in the folder but not on the windows provided list is considered an orphaned file and is tagged to be moved or deleted.
HomeDev cannot warrant that PatchCleaner will not find a false positive and delete a required patch which is why we have added the filter feature to filter and recommend using the move function, that way you can always copy the patches back if required.

После сканирования программа выдаёт отчет, где можно просмотреть список найденных файлов и их принадлежность (скриншот выше), увидеть объём нужных и ненужных данных, принять решение о дальнейших действиях.

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

Как ещё очистить место я писал ранее.

]]>
https://leonid.uhanov.org/ochistka-papki-installer-v-windows-7-8-10/feed/ 0