Как восстановить Windows к исходному состоянию, и почему для этого больше не нужен install.wim
На протяжении многих лет ноутбуки и планшеты Windows комплектовались образом восстановления для отката к заводским настройкам. Windows 10 прервала эту традицию, сэкономив гигабайты дискового пространства.
Сегодня настал черед поговорить о более существенной экономии места на планшетах и ноутбуках (OEM ПК), которая стала возможна благодаря отказу от образа восстановления.
https://telegra.ph/Kak-vosstanovit-Windows-k-ishodnomu-sostoyaniyu-i-pochemu-dlya-ehtogo-bolshe-ne-nuzhen-installwim-07-24
На протяжении многих лет ноутбуки и планшеты Windows комплектовались образом восстановления для отката к заводским настройкам. Windows 10 прервала эту традицию, сэкономив гигабайты дискового пространства.
Сегодня настал черед поговорить о более существенной экономии места на планшетах и ноутбуках (OEM ПК), которая стала возможна благодаря отказу от образа восстановления.
https://telegra.ph/Kak-vosstanovit-Windows-k-ishodnomu-sostoyaniyu-i-pochemu-dlya-ehtogo-bolshe-ne-nuzhen-installwim-07-24
❤2
adduser — команда, упрощающая создание учетных записей пользователей в основанных на Debian дистрибутивах
Команда adduser используется в дистрибутиве Debian для упрощения создания учетных записей пользователей, а также автоматической проверки их соотвествия политике упомянутого дистрибутива. Она реализована в виде обертки для таких утилит, как useradd, passwd и chfn и использует дополнительный файл конфигурации /etc/adduser.conf для хранения параметров, относящихся к политике дистрибутива Debian.
Примечание: в дистрибутивах, не имеющих отношения к Debian, команда adduser полностью аналогична команде useradd (если быть точнее, она представлена обычной символьной ссылкой на утилиту useradd).
Базовый синтаксис команды adduser:
В результате исполнения данной команды выполняются следующие операции:
1- Создается учетная запись пользователя с именем .
2- Создается домашняя директория пользователя /home/, в которую копируются файлы из директории /etc/skel.
3- Создается группа пользователей с именем, соотвествующим имени нового пользователя, причем сам этот пользователь добавляется в нее.
4- Выводится запрос ввода пароля для учетной записи пользователя.
5- Выводится запрос ввода дополнительной информации, относящейся к учетной записи пользователя.
Несложно догадаться, что для выполнения практически всех описанных действий может использоваться приведенная ниже последовательность команд на основе более распространенных утилит:
Еще одним вариантом использования рассматриваемой команды является добавление существующего пользователя в новую группу пользователей. В этом случае используется следующий синтаксис:
Данная команда также может быть заменена на более сложную команду на основе более распространенной утилиты usermod:
Вторая команда является более сложной, но при этом и более гибкой, ведь она позволяет добавить пользователя сразу в несколько новых групп.
Примеры использования
Создание учетной записи пользователя iodminbook
Добавление пользователя iodminbook в группу testgroup
Команда adduser используется в дистрибутиве Debian для упрощения создания учетных записей пользователей, а также автоматической проверки их соотвествия политике упомянутого дистрибутива. Она реализована в виде обертки для таких утилит, как useradd, passwd и chfn и использует дополнительный файл конфигурации /etc/adduser.conf для хранения параметров, относящихся к политике дистрибутива Debian.
Примечание: в дистрибутивах, не имеющих отношения к Debian, команда adduser полностью аналогична команде useradd (если быть точнее, она представлена обычной символьной ссылкой на утилиту useradd).
Базовый синтаксис команды adduser:
# adduser
В результате исполнения данной команды выполняются следующие операции:
1- Создается учетная запись пользователя с именем .
2- Создается домашняя директория пользователя /home/, в которую копируются файлы из директории /etc/skel.
3- Создается группа пользователей с именем, соотвествующим имени нового пользователя, причем сам этот пользователь добавляется в нее.
4- Выводится запрос ввода пароля для учетной записи пользователя.
5- Выводится запрос ввода дополнительной информации, относящейся к учетной записи пользователя.
Несложно догадаться, что для выполнения практически всех описанных действий может использоваться приведенная ниже последовательность команд на основе более распространенных утилит:
# useradd -m -U
# passwd
# chfn
Еще одним вариантом использования рассматриваемой команды является добавление существующего пользователя в новую группу пользователей. В этом случае используется следующий синтаксис:
# adduser
Данная команда также может быть заменена на более сложную команду на основе более распространенной утилиты usermod:
# usermod -G , ...,
Вторая команда является более сложной, но при этом и более гибкой, ведь она позволяет добавить пользователя сразу в несколько новых групп.
Примеры использования
Создание учетной записи пользователя iodminbook
# adduser iodminbook
Добавление пользователя iodminbook в группу testgroup
# adduser iodminbook testgroup
This media is not supported in your browser
VIEW IN TELEGRAM
Удаление строк, соответствующих шаблону, в Vim
•
•
https://vimtricks.com/p/remove-lines-matching-a-pattern-in-vim/
•
:g/pattern/d
— удалить строки, соответствующие шаблону•
:g!/pattern/d
— удалить строки, не соответствующие шаблонуhttps://vimtricks.com/p/remove-lines-matching-a-pattern-in-vim/
❤2
Профилировщик памяти для Linux
Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:
⚫️ найти «горячие точки», которые необходимо оптимизировать, чтобы уменьшить объем памяти приложения
⚫️ найти утечки памяти, т. е. места, где выделяется память, которая никогда не деаллоцируется
⚫️ найти «горячие точки» выделения, то есть места в коде, которые вызывают большое количество вызовов выделения памяти
⚫️ находить временные выделения, то есть выделения, за которыми непосредственно следует их деаллокация
https://github.com/KDE/heaptrack
Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:
https://github.com/KDE/heaptrack
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Полезные командлеты Windows PowerShell
Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History — возвращает список команд, введенных в ходе текущей сессии.
Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History — возвращает список команд, введенных в ходе текущей сессии.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SRE Roadmap
Дорожная карта, чтобы стать SRE (концепции > инструменты)
https://github.com/teivah/sre-roadmap
Дорожная карта, чтобы стать SRE (концепции > инструменты)
https://github.com/teivah/sre-roadmap
👍5❤1
Как увеличить размер каталога /tmp/
Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
Теперь проверим, есть ли у нас каталог в фстабе:
Если нет, создаем, если существует то выполняем следующую команду:
Теперь готов каталог
Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
# mount -t tmpfs tmpfs /tmp -o size=1024M,mode=1777,remount
Теперь проверим, есть ли у нас каталог в фстабе:
# cat/etc/fstab
Если нет, создаем, если существует то выполняем следующую команду:
# none /tmp tmpfs size=1024M,mode=1777,rw 0 0
Теперь готов каталог
/tmp/
с размером, указанным в операторе “size” размером 1024 mb.👍5❤1
Утилиты linux
rsync
Примеры:
ss
Примеры:
ps
mpstat
Показывает статистику загрузки процессора. Команды:
free
Показывает потребление ОЗУ на текущий момент:
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
netstat
rsync
-v
— выводит подробную информацию о процессе копирования;[-a]
— сохраняет все атрибуты оригинальных файлов;-u
— не перезаписывать более новые файлы;-l
— копирует символьные ссылки;-L
— копирует содержимое ссылок;-p
— сохраняет права для файлов;-t
— сохраняет время модификации;-e
— использовать другой транспорт, например, ssh;[-z]
— cжимает файлы перед передачей;—recursive
— перебирать директории рекурсивно;—exclude
— Исключить файлы по шаблону;Примеры:
rsync -avz skillproject/data/
. — из подкаталога в текущий каталогrsync -avz skillproject/data/ aaa/
— из подпапки в подпапку aaa/rsync -avz skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— передача на удаленный серверrsync -avze ssh skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— то же самое м явным указанием sshss
-l или —listening
— посмотреть только прослушиваемые порты;-p или —program
— показать имя программы и ее PID;-t или —tcp
— показать tcp порты;-u
или —udp
показать udp порты;-n
или —numeric
показывать ip адреса в числовом виде.Примеры:
ss -tlpn
— проверить все прослушивающие tcp-портыss -tulpn | grep :80
— показать все процессы, работающие на 80-м портуps
ps -e
— показать все процессыps -ef
— показать подробную информацию о каждом процессеps -ef | grep phantom
— найти все процессы с именем phantom
mpstat
Показывает статистику загрузки процессора. Команды:
mpstat
— показывает общую информациюmpstat -P ALL
— по каждому ядруfree
Показывает потребление ОЗУ на текущий момент:
free -h
— показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname>
— проверить, установлен ли пакетdpkg -l
— список всех пакетовdpkg -l | grep apache2
— проверить, установлен ли конкретный пакетdpkg -i <package.deb>
— установить пакетnetstat
netstat -pnltu
— посмотреть список используемых портов👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
👍3❤1
Как проанализировать производительность DNS сервера с помощью WireShark?
На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать. Далее
https://telegra.ph/Kak-proanalizirovat-proizvoditelnost-DNS-servera-s-pomoshchyu-WireShark-01-23
На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать. Далее
https://telegra.ph/Kak-proanalizirovat-proizvoditelnost-DNS-servera-s-pomoshchyu-WireShark-01-23
🔥3
Скриптик переустановки пароля пользователя MikroTik
Скрипт интересен строкой преобразования кода символа из переменной
# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS
# by Sertik 09/06/2020
{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}
Скрипт интересен строкой преобразования кода символа из переменной
$key
, сграбленного с клавиатуры терминала, в сам символ.:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
❤1
50 базовых команд Windows с примерами
Изучите основные команды windows, которые помогут вам в устранении неполадок, настройке и сборе информации о системе. 50 базовых команд Windows с примерами.
https://bookflow.ru/50-bazovyh-komand-windows-s-primerami/
Изучите основные команды windows, которые помогут вам в устранении неполадок, настройке и сборе информации о системе. 50 базовых команд Windows с примерами.
https://bookflow.ru/50-bazovyh-komand-windows-s-primerami/
❤2
Как активировать debug режим в bash?
1. Использование опции
Запустите скрипт с опцией
Или добавьте
2. Использование опции
Опция
Также можно добавить
3. Использование режима отладки
Для максимально подробной отладки можно использовать обе опции сразу —
4. Использование
Команда
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
Переменная
1. Использование опции
-x
Запустите скрипт с опцией
-x
, чтобы bash выводил каждую команду перед её выполнением.
bash -x script.sh
Или добавьте
set -x
в самом скрипте, чтобы начать отладку с этого места:
#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки
2. Использование опции
-v
Опция
-v
заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.
bash -v script.sh
Также можно добавить
set -v
в скрипте для включения вывода на определённом участке:
#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода
3. Использование режима отладки
-xv
Для максимально подробной отладки можно использовать обе опции сразу —
-x
и -v
:
bash -xv script.sh
4. Использование
trap
для пошаговой отладкиКоманда
trap
позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:
trap 'echo "Команда: $BASH_COMMAND"' DEBUG
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
PS4
Переменная
PS4
позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:
export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh
❤4