Ошибка CLOCK_WATCHDOG_TIMEOUT в Windows 10

Как исправить ошибку CLOCK WATCHDOG TIMEOUT в Windows 10Одна из самых сложных в определении причин и исправлении ошибок в Windows 10 — синий экран «На вашем ПК возникла проблема и его необходимо перезагрузить» и код ошибки CLOCK_WATCHDOG_TIMEOUT, который может появляться как в произвольные моменты, так и при выполнении определенных действий (запуск конкретной программы, подключение устройства и т.п.). Сама по себе ошибка говорит о том, что ожидаемое системой прерывание не было получено с одного из ядер процессора за ожидаемое время, что, как правило, мало говорит о том, что делать дальше.

В этой инструкции — о наиболее распространенных причинах ошибки и способах исправить синий экран CLOCK_WATCHDOG_TIMEOUT в Windows 10, если это возможно (в некоторых случаях проблема может быть аппаратной).

Синий экран смерти (BSoD) CLOCK_WATCHDOG_TIMEOUT и процессоры AMD Ryzen

Синий экран смерти CLOCK_WATCHDOG_TIMEOUT

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

Итак, если у вас на борту установлен CPU Ryzen, и вы столкнулись с ошибкой CLOCK_WATCHDOG_TIMEOUT в Windows 10, рекомендую учесть следующие моменты.

  1. Не устанавливайте ранние сборки Windows 10 (версии 1511, 1607), поскольку в них возможны конфликты при работе на указанных процессорах, что приводит к ошибкам. В дальнейшем были устранены.
  2. Обновите БИОС вашей материнской платы с официального сайта её производителя.

По второму пункту: на ряде форумов сообщают, что, наоборот, ошибка проявляется после обновления БИОС, в данном случае срабатывает откат на предыдущую версию.

Проблемы с БИОС (UEFI) и разгон

Если в последнее время вы меняли параметры БИОС или выполняли разгон процессора, это может служить причиной ошибки CLOCK_WATCHDOG_TIMEOUT. Попробуйте следующие шаги:

  1. Отключить разгон процессора (если выполнялся).
  2. Сбросить БИОС на настройки по умолчанию, можно — оптимизированные настройки (Load Optimized Defaults), подробнее — Как сбросить настройки БИОС.
  3. Если проблема появилась после сборки компьютера или замены материнской платы, проверьте, есть ли на официальном сайте производителя обновление БИОС для неё: возможно, проблема была решена в обновлении.

Проблемы с периферийным оборудованием и работой драйверов

Следующая по распространенности причина — неправильная работа оборудования или драйверов. Если вы недавно подключили новое оборудование или же только что переустановили (обновили версию) Windows 10, обратите внимание на следующие методы:

  1. Установите оригинальные драйверы устройств с официального сайта производителя вашего ноутбука или материнской платы (если это ПК), особенно драйверы чипсета, USB, управления электропитанием, сетевых адаптеров. Не используйте драйвер-паки (программы для автоматической установки драйверов), также не воспринимайте серьезно «Драйвер не нуждается в обновлении» в диспетчере устройств — это сообщение не говорит о том, что новых драйверов действительно нет (их нет лишь в центре обновлений Windows). Для ноутбука также следует установить вспомогательное системное ПО, также с официального сайта (именно системное, различные прикладные программы, которые также могут там присутствовать не обязательны).
  2. В случае, если в диспетчере устройств Windows есть устройства с ошибками, попробуйте отключить их (правый клик мышью — отключить), если это новые устройства, то можно отключить их и физически) и перезагрузить компьютер (именно перезагрузка, а не завершение работы с последующим включением, в Windows 10 это может быть важно), а затем понаблюдать — проявляется ли проблема снова.

Еще один момент, касающийся оборудования — в некоторых случаях (речь о ПК, не ноутбуках) проблема может проявляться при наличии двух видеокарт на компьютере (интегрированного чипа и дискретной видеокарты). В БИОС на ПК обычно присутствует пункт для отключения интегрированного видео (как правило, в разделе Integrated Peripherals), попробуйте выполнить отключение.

Программное обеспечение и вредоносные программы

Помимо прочего, BSoD CLOCK_WATCHDOG_TIMEOUT может быть вызвана недавно установленными программами, особенно теми из них, которые работают с Windows 10 на низком уровне или добавляют свои системные службы:

  1. Антивирусы.
  2. Программы, добавляющие виртуальные устройства (можно посмотреть в диспетчере устройств), например, Daemon Tools.
  3. Утилиты для работы с параметрами БИОС из системы, например, ASUS AI Suite, программы для разгона.
  4. В некоторых случаях — софт для работы с виртуальными машинами, например, VMWare или VirtualBox. Применительно к ним, иногда ошибка возникает в результате неправильной работы виртуальной сети или при использовании специфичных систем в виртуальных машинах.

Также к такому ПО можно отнести вирусы и другие вредоносные программы, рекомендую выполнить проверку компьютера на их наличие. См. Лучшие средства удаления вредоносных программ.

Ошибка CLOCK_WATCHDOG_TIMEOUT как следствие аппаратных проблем

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

  1. Перегрев, пыль в системном блоке. Следует почистить компьютер от пыли (даже при отсутствии признаков перегрева это не будет лишним), при перегреве процессора, возможно, также поменять термопасту. См. как узнать температуру процессора.
  2. Неправильная работа блока питания, напряжения отличные от требуемых (можно отследить в БИОС некоторых материнских плат).
  3. Ошибки оперативной памяти. См. Как проверить оперативную память компьютера или ноутбука.
  4. Проблемы с работой жесткого диска, см. Как проверить жесткий диск на ошибки.

Более серьезные проблемы этого характера — неисправности материнской платы или процессора.

Дополнительная информация

Если ничто из описанного пока не помогло, возможно, могут оказаться полезными следующие пункты:

  • Если проблема возникла недавно, а система не переустанавливалась, попробуйте использовать точки восстановления Windows 10.
  • Выполните проверку целостности системных файлов Windows 10.
  • Часто проблема бывает вызвана работой сетевых адаптеров или их драйверов. Иногда не удается точно определить, что дело в них (обновление драйверов не помогает и т.п.), но, при отключении компьютера от Интернета, выключении Wi-Fi адаптера или вынимании кабеля из сетевой карты проблема исчезает. Это не обязательно говорит о проблемах именно сетевой карты (также могут быть виноваты системные компоненты, неправильно работающие с сетью), но может помочь в диагностике проблемы.
  • Если ошибка проявляется при запуске какой-то конкретной программы, возможно, проблема вызвана именно её некорректной работой (возможно, конкретно в этой программной среде и на этом оборудовании).

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

Как перезапустить Nginx

Если вы начинающий администратор или только перенесли свой проект на VPS и еще не со всем разобрались, то у вас может возникнуть вопрос как перезапустить Nginx. Это очень популярный веб-сервер, такой же популярный, как и Apache и достаточно часто используется для различных проектов.

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

Читать далее Как перезапустить Nginx

Очистка памяти Android в Files Go от Google

Очистка памяти Android в Files GoGoogle выложила в Play Маркет собственное приложение для очистки внутренней памяти Android — Files Go (пока в бета-версии, но уже работает и доступно для скачивания). Некоторые обзоры позиционируют приложение как файловый менеджер, но по-моему, это все-таки больше утилита для очистки, а запас функций для управления файлами не так велик.

В этом кратком обзоре — о функциях Files Go и о том, как приложение может помочь, если вы сталкиваетесь с сообщениями о том, что недостаточно памяти на Android или просто хотите очистить ваш телефон или планшет от мусора. См. также: Как использовать карту памяти SD в качестве внутренней памяти Android, Лучшие файловые менеджеры для Android.

Возможности Files Go

Найти и скачать бесплатно приложение для очистки памяти Files Go от Google вы можете в Play Маркет. После установки приложения, запуска и принятия соглашения вы увидите простой интерфейс, по большей части на русском языке (но не совсем, некоторые пункты пока не перевели). Обновление 2018: теперь приложение называется Files by Google, полностью на русском, и имеет новые возможности, обзор: Очистка памяти Android и файловый менеджер Files by Google.

Очистка внутренней памяти

Очистка памяти Android в приложении Files Go от Google

На главной вкладке, «Хранилище», вы увидите информацию по занятому пространству во внутренней памяти и на карте памяти SD, а ниже — карточки с предложением очистить различные элементы, среди которых могут быть (если определенного типа данных для очистки нет, карточка не отображается).

  1. Кэш приложений.
  2. Неиспользуемые в течение долгого периода времени приложения.
  3. Фото, видео и другие файлы из диалогов WhatsApp (которые порой могут занимать действительно много места).
  4. Скачанные файлы в папке «Загрузки» (которые часто не нужны после их использования).
  5. Дубликаты файлов («Одинаковые файлы»).

Для каждого из пунктов имеется возможность очистки, при этом, например, выбирая какой-либо пункт и нажимая кнопку для очистки памяти, вы можете выбрать, какие именно элементы следует удалить, а какие оставить (либо удалить все).

Выбор элементов для очистки

Управление файлами на Android

Управление файлами в Files Go

Вкладка «Файлы» содержит дополнительные возможности:

  • Доступ к определенным категориям файлов в файловом менеджере (например, можно посмотреть все документы, аудио, видео на устройстве) с возможностью удалить эти данные, или, при необходимости, перенести на SD карту. Удаление или перенос файла на карту памяти
  • Возможность отправки файлов на находящиеся рядом устройства с установленным приложением Files Go (используется Bluetooth).

Настройки Files Go

Настройки Files Go

Также может иметь смысл заглянуть в настройки приложения Files Go, позволяющие включить уведомления, среди которых есть те, которые могут оказаться полезными в контексте отслеживания мусора на устройстве:

  • О переполнении памяти.
  • О наличии неиспользуемых приложений (более 30 дней).
  • О больших папках с файлами аудио, видео, фото.

В завершение

На мой взгляд, выпуск такого приложения от Google — это отлично, еще лучше будет если со временем пользователи (особенно начинающие) перейдут от использования сторонних утилит для очистки памяти на Files Go (или приложение и вовсе встроят в Android). Причина того, что я так считаю, в том, что:

  • Приложениям от Google не нужно неясных разрешений для работы, потенциально способных представлять опасность, они свободны от рекламы и редко со временем становятся только хуже и загромождённее ненужными элементами. А вот полезные функции приобретают не редко.
  • Некоторые сторонние приложения для очистки, всяческие «метёлки» — одна из самых частых причин странного поведения телефона или планшета и того, что ваш Android быстро разряжается. Очень часто таким приложениям требуются разрешения, которые сложно объяснить, во всяком случае, для целей очистки кэша, внутренней памяти или даже сообщений на Android.

На текущий момент времени приложение Files Go доступно бесплатно на этой странице play.google.com/store/apps/details?id=com.google.android.apps.nbu.files.

Операционные системы Linux

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

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

Читать далее Операционные системы Linux

Как узнать ip роутера

Большинство домашних сетей получают доступ к интернету через маршрутизаторы или модемы. Нам не так часто нужно менять настройки маршрутизатора, но временами возникает такая необходимость. Обычно эти настройки можно открыть, набрав локальный ip адрес маршрутизатора в строке браузера. Также иногда может понадобится узнать ip адрес роутера для других действий или тестирования работы сети.

К сожалению, нет одного стандартного адреса, который бы использовали все маршрутизаторы, очень часто используется 192.168.1.1, но это не является правилом и можно встретить любые адреса из диапазона локальных сетей. На самом деле есть множество способов как узнать ip роутера wifi, так и в обычной сети.

КАК УЗНАТЬ IP РОУТЕРА В LINUX?

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

ЛОКАЛЬНЫЙ АДРЕС РОУТЕРА

Далее, вы можете использовать утилиты просмотра информации о сети. Компьютер активно взаимодействует с роутером для передачи данных в сеть и мы можем посмотреть адрес шлюза, который и будет адресом роутера. Команда ip:

ip route show

Здесь в первой же строке будет отображен адрес шлюза, через который передается весь трафик по умолчанию, в моем случае тот же самый 192.168.1.1. Если вы не хотите использовать команду ip, можно посмотреть таблицу маршрутизации пакетов командой route:

route -n

Тут тоже первая запись будет означать адрес маршрутизатора. Еще один путь узнать ip маршрутизатора — посмотреть таблицу записей ARP:

arp -a

Здесь все еще проще, если компьютер взаимодействует только с роутером, то будет выведена одна запись — адрес роутера. Подобную информацию может выдать и утилита netstat:

netstat -r -n

ВНЕШНИЙ АДРЕС РОУТЕРА

Если вы счастливый обладатель белого IP адреса или даже серого, который на спрятан за NAT и вас интересует как узнать внешний ip роутера, то для этого тоже есть простая команда:

curl http://ipecho.net/plain

Еще можно открыть эту же страницу в браузере:

Или ifconfig.me:

curl ifconfig.me

КАК УЗНАТЬ IP АДРЕС РОУТЕРА В WINDOWS?

Самый простой способ узнать ip адрес роутера в Windows — использовать утилиту командной строки ipconfig. Кликните правой кнопкой по значку пуск, затем выберите «Командная строка»

В открывшемся окне наберите:

ipconfig

Адрес роутера будет отображен напротив «Основной адрес шлюза». Еще один способ узнать IP адрес роутера — это использовать стандартную утилиту настроек. Кликните по значку сетевые подключения, выберите «Открыть центр управления сетями и общим доступом»:

Кликните по сети, к которой вы подключены:

Затем нажмите кнопку сведения:

Здесь и будет отображен адрес шлюза среди прочей другой информации. Если вам нужен внешний адрес, вы можете открыть в браузере те же сайты, что и для Linux.

ВЫВОДЫ

В этой статье мы рассмотрели как узнать ip роутера в сети. Как видите, это совсем не сложно, и существует множество методов, из которых вы можете выбрать тот, который будет более удобным для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Автозагрузка в Ubuntu

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

В этой статье мы поговорим о том, как работает автозагрузка в Ubuntu, какие существуют способы автозагрузки в этой системе и как добавить туда программы.

АВТОЗАГРУЗКА В UBUNTU

Первым делом нужно сказать, что в Ubuntu существует несколько уровней автозагрузки. Я не буду говорить здесь про systemd и автозагрузку сервисов, так как уже рассматривал это в одной из первых статей. Программу или скрипт можно добавить в автозагрузку такими путями:

  • Утилита «Автоматически запускаемые приложения»;
  • Папка «Автозапуск»;
  • Файл rc.local;
  • Файл Xinitrc;

Мы рассмотрим первые два способа, поскольку два последние более рассчитаны на скрипты, а не программы. Сначала автозагрузка в Ubuntu с помощью стандартной утилиты.

Откройте меню системы и наберите «Авто» и откройте программу, которая будет первой в списке, Автоматически запускаемые приложения:

Здесь будут перечислены все приложения, которые сейчас запускаются автоматически. Чтобы добавить в автозагрузку ubuntu еще одно приложение, нажмите кнопку «Добавить»:

Здесь нужно ввести имя нового пункта, а также команду запуска приложения. Вы можете выбрать приложение в файловой системе, если не помните путь, нажав кнопку «Обзор»:

В команде можно указывать параметры, если это нужно. Еще можно заполнить поле «Описание», но это уже необязательно. Если вам нужна определенная программа из главного меню, но вы не знаете где ее найти и как пишется ее команда, можно посмотреть ее в том же меню. Но для этого нам нужно сначала установить утилиту «Главное меню» из центра приложений:

Дальше запустите утилиту и найдите в ней нужное приложение. Затем нажмите «Свойства»:

Здесь вам нужно обратить внимание на строку «Команда», скопируйте ее и можете использовать для автозагрузки.

Следующий способ — это папка автозагрузки. Она находится по адресу ~/.config/autostart. По сути, это тот же самый способ, только он может выполняться без графического интерфейса. Когда вы настраиваете автозагрузку через приложение, то в этой папке создаются файлы настроек с именем desktop. Вот, например:

Напоминаю, что для того, чтобы посмотреть скрытые файлы нужно нажать сочетание клавиш Ctrl+H. Теперь попытаемся создать новый конфигурационный файл для еще одной программы. Вот таким будет его синтаксис:

[Desktop Entry]
Type=Application
Name=имя_нового_пункта
Exec=команда
Icon=полный_путь_к_иконке
Comment=комментарий
X-GNOME-Autostart-enabled=true

Для примера, сделаем файл для запуска плеера VLC, он будет выглядеть вот так:

vi ~/.config/autostart/vlc.desktop

[Desktop Entry]
Type=Application
Name=VLC
Exec=vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.png
Comment=VLC Media Player
X-GNOME-Autostart-enabled=true

Готово, и самое интересное, что если вы откроете приложение автозагрузки. То там тоже появится этот пункт. Это такой способ настройки без графического интерфейса.

ВЫВОДЫ

В этой небольшой статье мы рассмотрели как настраивается автозагрузка программ ubuntu различными способами — через графический интерфейс и терминал. Вы можете использовать эти знания, чтобы сделать работу в вашей системе более удобной. Даже несмотря на то, что Ubuntu перешла на Gnome, автозагрузка в ubuntu 16.04 и сейчас выглядят практически одинаково. Если у вас остались, вопросы, спрашивайте в комментариях!

Бесплатное обновление до Windows 10

С 31-го декабря Майкрософт закрывает лазейку, которая пока еще позволяет обновиться до Windows 10 легальным образом. Первый год обновление было бесплатно для всех, но даже через год MS не закрыли бесплатное обновление полностью.

Когда MS представили Windows 10, то они обещали невероятное количество из одного миллиарда устройств на этой ОС уже через два – три года. Но уже через год стало понятно, что ожидание и реальность совершенно разные вещи, и чтобы хоть как-то приблизится к цели, бесплатное обновление оставалось доступным до сих пор. Халяве скоро придет конец, так что если у тебя есть не обновленное устройство, поспеши.

На мой взгляд Windows 10 вполне хорошая ОС, я доволен. Хотя Linux мне нравятся не меньше, а может быть и больше.

Как удалить Paint 3D и пункт «Изменить с помощью Paint 3D» в Windows 10

Как удалить Paint 3D в Windows 10В Windows 10, начиная с версии Creators Update, помимо обычного графического редактора Paint присутствует также и Paint 3D, а заодно и пункт контекстного меню изображений — «Изменить с помощью Paint 3D». Многие используют Paint 3D всего один раз — посмотреть, что это такое, а указанный пункт в меню и вовсе не используют, а потому логичным может быть желание убрать его из системы.

В этой инструкции подробно о том, как удалить приложение Paint 3D в Windows 10 и убрать пункт контекстного меню «Изменить с помощью Paint 3D» и видео по всем описываемым действиям. Также могут оказаться полезными материалы: Как удалить объемные объекты из проводника Windows 10, Как изменить пункты контекстного меню Windows 10.

Удаление приложения Paint 3D

Для того, чтобы удалить Paint 3D достаточно будет использовать одну простую команду в Windows PowerShell (для выполнения команды требуются права администратора).

  1. Запустите PowerShell от имени Администратора. Для этого можно начать набирать PowerShell в поиске на панели задач Windows 10, затем нажать правой кнопкой мыши по найденному результату и выбрать пункт «Запуск от имени Администратора» или нажать правой кнопкой мыши по кнопке Пуск и выбрать пункт «Windows PowerShell (Администратор)». Запуск PowerShell от имени администратора
  2. В PowerShell введите команду Get-AppxPackage Microsoft.MSPaint | Remove-AppxPackage и нажмите Enter. Удаление Paint 3D в PowerShell
  3. Закройте PowerShell.

После короткого процесса выполнения команды, Paint 3D будет удален из системы. При желании, вы всегда можете заново его установить из магазина приложений.

Как удалить «Изменить с помощью Paint 3D» из контекстного меню

Для удаления пункта «Изменить с помощью Paint 3D» из контекстного меню изображений можно воспользоваться редактором реестра Windows 10. Порядок действий будет следующим.

  1. Нажмите клавиши Win+R (где Win — клавиша с эмблемой Windows), введите regedit в окно «Выполнить» и нажмите Enter.
  2. В редакторе реестра перейдите к разделу (папки в панели слева) HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes\ SystemFileAssociations\ .bmp\ Shell
  3. Внутри этого раздела вы увидите подраздел «3D Edit». Нажмите по нему правой кнопкой мыши и выберите пункт «Удалить». Убрать пункт Изменить с помощью Paint 3D
  4. Повторите то же самое для аналогичных разделов, в которых вместо .bmp указаны следующие расширения файлов: .gif, .jpeg, .jpe, .jpg, .png, .tif, .tiff

По завершении указанных действий можно закрыть редактор реестра, пункт «Изменить с помощью Paint 3D» будет убран из контекстного меню указанных типов файлов.

Видео — удаление Paint 3D в Windows 10

Возможно, вас также заинтересует статься: Настройка оформления и поведения Windows 10 в бесплатной программе Winaero Tweaker.

Репликация PostgreSQL

PostgreSQL или Postgres — это объектно-реляционная система управления базами данных с открытым исходным кодом, которая активно разрабатывается уже более чем 15 лет. Сервер баз данных может использоваться для работы высоко нагруженных систем и решения сложных промышленных задач. PostgreSQL может использоваться в Linux, Unix, BSD и Windows.

Репликация баз данных методом Master-Salve — это процесс копирования (синхронизации) данных из базы данных на одном сервере (Master), в базу данных на другом сервере (Salve). В этой статье мы рассмотрим как настраивается репликация PostgreSQL в Ubuntu.

ПРЕИМУЩЕСТВА РЕПЛИКАЦИИ

Основное преимущество — распределение базы данных между несколькими машинами. Если с основным сервером что-то происходит и он перестает работать, то данные все еще доступны на резервном сервере и могут быть без труда получены или восстановлены. Работа проекта продолжится без каких-либо трудностей.

В PostgreSQL доступно несколько способов репликации базы данных в зависимости от цели репликации. Можно настраивать репликацию только для резервного копирования или для организации отказоустойчивого сервера баз данных. Мы будем использовать репликацию типа Master-Salve. Она более подходит для резервного копирования. Для реализации будет использоваться модуль standby.

УСТАНОВКА И НАСТРОЙКА POSTGRESQL

Мы уже подробно рассматривали как установить Postgresql в Ubuntu в одной из предыдущих статей. Но в этой статье повторим эти команды более кратко. Установить и выполнить первоначальную настройку сервера нужно на обоих машинах. Если вы используете последние версии Ubuntu — 17.04 или 17.10, то версия PostgreSQL 9.6 уже есть в официальных репозиториях. Для более старых систем можно использовать PPA:

sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-9.6

В более новых версиях просто установите программу из репозиториев:

sudo apt install postgresql-9.6

Затем запустите службу и добавьте ее в автозагрузку:

systemctl start postgresql-9.6
systemctl enable postgresql-9.6

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

netstat -plntu

После того как Postgresql запущен, нам нужно настроить пароль для пользователя Postgres. Но для этого вам нужно авторизоваться под этим пользователем в системе:

sudo su - postgres

Затем, войдите в консоль управления:

psql

Осталось выполнить такую команду, чтобы задать пароль:

\password postgres

Осталось разрешить общение компьютеров между собой по сети на порту 5432 в брандмауэре:

sudo ufw allow postgresql/tcp
sudo ufw allow 5432/tcp
sudo ufw allow 5433/tcp

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

НАСТОЙКА РЕПЛИКАЦИИ POSTGRESQL

Сначала настроем мастер-сервер. Это основной сервер, который будет выполнять основные действия записи и рассылать данные на сервера Salve. Приложения могут не только читать, но и записывать данные взаимодействуя с этим сервером. Для его настройки нам нужно изменить содержимое файла postgresql.conf в папке /etc/postgresql/9.6/main/:

Сначала расскоментируйте строчку listen_address и пропишите в ней ip адрес вашего сервера. Порт должен быть 5433 иначе не заработает:

listen_address = '192.168.56.101'
port=5433

Расскоментируйте строчку wal_level и установите значение standby, она отвечает за способ репликации:

wal_level = hot_standby

Мы будем использовать локальную синхронизацию:

synchronous_commit = local

Включите режим архивирования и укажите команду для создания архива:

archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/9.6/archive/%f'

Теперь настроем куда именно будет выполняться синхронизация. В нашей инструкции мы будем использовать только два сервера — Master и Salve. Поэтому в строке max_wal_senders поставьте значение 2:

max_wal_senders = 2
wal_keep_segments = 10

Установите имя нашего сервера синхронизации:

synchronous_standby_names = 'pgslave01'

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

mkdir -p /var/lib/postgresql/9.6/archive/
chmod 700 /var/lib/postgresql/9.6/archive/
chown -R postgres:postgres /var/lib/postgresql/9.6/archive/

Дальше нам нужно отредактировать файл pg_hba.conf, он отвечает за аутентификацию пользователей. Здесь нужно прописать каждый сервер, базу данных, адрес и метод аутентификации. Синтаксис файла такой:

host база_данных пользователь ip_адрес метод опции

sudo vi /etc/postgresql/9.6/main/pg_hba.conf

# Localhost
host replication replica 127.0.0.1/32 md5
# PostgreSQL Master IP address
host replication replica 192.168.56.101/32 md5
# PostgreSQL SLave IP address
host replication replica 192.168.56.102/32 md5

После всех настроек нужно перезапустить службу:

systemctl restart postgresql-9.6

Дальше нам нужно создать нового пользователя, у которого будут права на репликацию. Назовите его replica:

su - postgres
createuser --replication -P replica

После всех этих действий настройка репликации postgresql на сервере Master завершена и он готов к работе. Дальше настроем сервер Salve. Тут все проще. Мы собираемся заменить директорию data этого сервера, на эту же директорию из сервера master и поддерживать их синхронизацию. Сначала остановите службу:

systemctl stop postgresql-9.6

Затем сделайте резервную копию текущей директории, если там есть важные данные и вы боитесь их потерять. Удалите текущую папку с данными:

sudo rm /var/lib/postgresql/9.6/main

Затем авторизуйтесь от имени пользователя postgres и скопируйте все данные из сервера Master:

su - postgres
pg_basebackup -h 192.168.56.101 -U replica -D /var/lib/postgresql/9.6/main -P --xlog -p 5433

Вам нужно будет ввести пароль и дождаться пока будут загружены данные. Дальше нужно исправить настройки /etc/postgresql/9.6/main/postgresql.conf:

sudo vi /etc/postgresql/9.6/main/postgresql.conf

Включите hot_standby:

hot_standby = on

И укажите ip адрес этого сервера в строке listen_address:

listen_addresses = '192.168.56.102'

Это все, можете сохранить изменения и закрыть файл. Затем создайте файл /etc/postgresql/9.6/main/recovery.conf:

sudo vi /etc/postgresql/9.6/main/recovery.conf

standby_mode = 'on'
primary_conninfo = 'host=192.168.56.101 port=5432 user=replica password=password application_name=pgslave01'
trigger_file = '/tmp/postgresql.trigger.5433'

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

systemctl start postgresql-9.6

Дальше осталось только протестировать как работает потоковая репликация postgresql.

ТЕСТИРОВАНИЕ РЕПЛИКАЦИИ

Чтобы посмотреть как работает репликация вы можете проверить состояния потока репликации, а также просто проверить передаются ли данные от Master на Salve. Сначала посмотрим параметры соединения:

su - postgres

psql -c "select application_name, state, sync_priority, sync_state from pg_stat_replication;"
psql -x -c "select * from pg_stat_replication;"

Затем авторизуйтесь на сервере Master и войдите в консоль управления:

sudo su postgres
psql

Создайте новую таблицу replica_test и вставьте в нее некоторые данные:

CREATE TABLE replica_test (test varchar(100));
INSERT INTO replica_test VALUES ('kovalets.net');
INSERT INTO replica_test VALUES ('This is from Master');

Затем перейдите на сервер Salve и проверьте действительно есть ли там эта табилца:

su - postgres

select * from replica_test;

Дальше вы можете попытаться выполнить запись на сервере Salve:

INSERT INTO replica_test VALUES ('this is SLAVE');

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

ВЫВОДЫ

В этой статье мы рассмотрели как работает репликация PostgreSQL типа Master — Salve. Как видите, все это немного сложнее, чем репликация MySQL, но тоже можно быстро разобраться и настроить. Если у вас остались вопросы, спрашивайте в комментариях!

Как установить Linux в Windows 10

Установка Linux в Windows 10В Windows 10 появилась новая возможность для разработчиков — оболочка Ubuntu Bash, позволяющая запускать, устанавливать приложения Linux, использовать скрипты bash прямо в Windows 10, все это называется «Подсистема Windows для Linux». В версии Windows 10 1709 Fall Creators Update доступны уже три дистрибутива Linux для установки. Во всех случаях требуется 64-разрядная система для установки.

В этой инструкции — о том, как установить Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10 и некоторые примеры использования в конце статьи. Следует также учитывать, что есть некоторые ограничения при использовании bash в Windows: например, нельзя запускать GUI приложения (правда, сообщают об обходных путях с помощью X server). Кроме этого, командами bash нельзя запустить Windows-программы, несмотря на наличие полного доступа к файловой системе ОС.

Установка Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10

Начиная с версии Windows 10 Fall Creators Update (версия 1709) установка подсистемы Linux для Windows несколько изменилась по сравнению с тем, что было в предыдущих версиях (для предыдущих версий, начиная с 1607, когда функция была представлена в бета-версии, инструкция — во второй части этой статьи). Также обратите внимание, что в Windows 10 2004 можно установить Kali Linux с графическим интерфейсом.

Теперь необходимые шаги выглядят следующим образом:

  1. Прежде всего, необходимо включить компонент «Подсистема Windows для Linux» в «Панель управления» — «Программы и компоненты» — «Включение и отключение компонентов Windows». Включение компонентов Linux для Windows 10
  2. После установки компонентов и перезагрузки компьютера, зайдите в Магазин приложений Windows 10 и загрузите оттуда Ubuntu, OpenSUSE или SUSE Linux ES (да, теперь доступно три дистрибутива). При загрузке возможны некоторые нюансы, о которых далее в примечаниях. Дистрибутивы Linux в магазине Windows 10
  3. Запустите загруженный дистрибутив как обычное приложение Windows 10 и выполните первоначальную настройку (имя пользователя и пароль). Настройка Ubuntu Linux в Windows 10 1709

Для включения компонента «Подсистема Windows для Linux» (первый шаг) можно использовать команду PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Теперь несколько примечаний, которые могут быть полезны при установке:

  • Вы можете установить сразу несколько дистрибутивов Linux.
  • При загрузке дистрибутивов Ubuntu, OpenSUSE и SUSE Linux Enterprise Server в русскоязычном магазине Windows 10 заметил следующий нюанс: если просто ввести название и нажать Enter, то нужных результатов в поиске не оказывается, но если начать вводить и затем нажать по появляющейся подсказке, автоматически попадаешь на нужную страницу. На всякий случай прямые ссылки на дистрибутивы в магазине: Ubuntu, OpenSUSE, SUSE LES.
  • Запускать Linux можно и из командной строки (не только с плитки в меню Пуск): ubuntu, opensuse-42 или sles-12

Установка Bash в Windows 10 1607 и 1703

Для того, чтобы установить оболочку bash, выполните следующие простые действия.

  1. Зайдите в параметры Windows 10 — Обновление и безопасность — Для разработчиков. Включите режим разработчика (должен быть подключен Интернет для загрузки необходимых компонентов). Включение режима разработчика в Windows 10
  2. Зайдите в панель управления — Программы и компоненты — Включение или отключение компонентов Windows, отметьте пункт «Подсистема Windows для Linux». Установка подсистемы Linux в Windows 10
  3. После установки компонентов, введите в поиске Windows 10 «bash», запустите предлагаемый вариант приложения и выполните установку. Вы можете задать свое имя пользователя и пароль для bash, либо использовать пользователя root без пароля. Установка Ubuntu bash

По завершении установки вы можете запускать Ubuntu Bash на Windows 10 через поиск, или создав ярлык для оболочки там, где вам требуется.

Запуск Ubuntu Bash в Windows 10

Примеры использования Ubuntu Shell в Windows

Для начала отмечу, что автор не является специалистом по bash, Linux и разработке, а примеры ниже — просто демонстрация того, что в Windows 10 bash работает с ожидаемыми результатами для тех, кто разбирается в этом.

Приложения Linux

Приложения в Windows 10 Bash можно устанавливать, удалять и обновлять с помощью apt-get (sudo apt-get) из репозитория Ubuntu.

apt-get install в Windows 10

Использование приложений с текстовым интерфейсом ничем не отличается от такового на Ubuntu, например, вы можете установить Git в Bash и использовать его привычным образом.

Использование bash git в Windows 10

Скрипты bash

Вы можете запускать скрипты bash в Windows 10, создать их можно в имеющемся в оболочке текстовом редакторе Nano.

Скрипты bash в Windows 10

Скрипты bash не могут вызвать программы и команды Windows, но возможен запуск скриптов и команд bash из bat файлов и сценариев PowerShell:

bash -c "команда"

Также вы можете попробовать запускать приложения с графическим интерфейсом в Ubuntu Shell в Windows 10, на этот счет в Интернете уже имеется не одна инструкция и суть способа сводится к использованию Xming X Server для вывода GUI приложения. Хотя официально возможность работы с такими приложениями Майкрософт не заявлена.

Как было написано выше, я не тот человек, который может в полной степени оценить ценность и функциональность нововведения, но вижу как минимум одно применение для себя: различные курсы Udacity, edX и другие, связанные с разработкой проходить будет куда проще, работая с необходимыми инструментами прямо в bash (а в этих курсах обычно демонстрируется работа именно в терминале MacOS и Linux bash).