Как справиться с «отложенной синхронизацией onedrive» в windows 10 [советы по minitool]

Как произвести балансировку раздела с BTRFS?¶

Произведём для всех фрагментов, заполненных менее, чем наполовину:

sudo btrfs fi balance start -dusage=50 -musage=50 

Здесь -dusage – максимальный процент заполнения при балансировке данных, -musage – максимальный процент заполнения при балансировке метаданных, а mountpoint – точка монтирования раздела.

Чем меньше значение usage, тем быстрее выполнится операция. Если на диске мало свободного места, то начинать следует с небольших значений, например с 5, постепенно увеличивая это число. Также можно балансировать отдельно данные и метаданные.

Подробнее о балансировке можно прочитать в официальной документации (на английском языке):

Adbfs — получение доступа к файлам

Еще один интересный способ получить доступ к файлам на устройстве с помощью ADB — использовать adbfs, псевдоФС, которая позволяет смонтировать устройство так, будто это флешка или любой другой накопитель.

Проще всего установить adbfs в Arch Linux. Здесь она есть в AUR, поэтому достаточно выполнить одну команду:

1 $yaourt-Sadbfs-rootless-git

В Ubuntu и других системах adbfs придется собирать вручную:

1
2
3
4

$sudo apt-get install libfuse-dev android-tools-adb

$git clonegit//github.com/spion/adbfs-rootless.git

$cd adbfs-rootless

$make

Ну а дальше можно подключать файловую систему:

1
2

$mkdir~/Android

$adbfs~/Android

Для отключения:

1 $fusermount-u~/Android

Файл fstab

На следующем шаге мы проверяем настройки монтирования корневой директории и раздела boot при загрузке системы. Они задаются в файле fstab.

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

LVM

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

Если мы используем LVM, то все, что нам нужно сделать, это открыть файл fstab и проверить, что в нем, на самом деле, используется LVM при монтировании корневого раздела:

vi /etc/fstab

Мы можем увидеть что-то на подобие:


/dev/mapper/centos-root /                       xfs     defaults        0 0

Понять, используется ли LVM можно командой:

lsblk

Мы должны увидеть пометку lvm:


    centos-root 253:0    0 13.4G  0 lvm  /

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

Использование идентификатора

Для получения списка дисков с их идентификаторами, вводим команду:

blkid

Мы получим что-то на подобие:

/dev/sdb1: UUID=»45053cf4-cb27-40b8-9b63-7f43fb123807″ TYPE=»xfs» 
/dev/sdb2: UUID=»Rzg9IW-5zmy-wsdv-mfIJ-HMRV-9Zup-XCcxPi» TYPE=»LVM2_member» 
/dev/sda1: UUID=»45053cf4-cb27-40b8-9b63-7f43fb123807″ TYPE=»xfs» 
/dev/sda2: UUID=»Rzg9IW-5zmy-wsdv-mfIJ-HMRV-9Zup-XCcxPi» TYPE=»LVM2_member» 
/dev/mapper/centos-root: UUID=»97ea6561-8e69-4a9d-b29b-5d6c68a5df64″ TYPE=»xfs» 
/dev/mapper/centos-swap: UUID=»db800e72-c138-4050-9949-cf03b779b709″ TYPE=»swap»

* как видим, идентификаторы дисков совпадают, так как команды dd клонирует информацию полностью

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

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

lsblk

Находим раздел, который соответствует корневому и смотрим его идентификатор. После открываем файл:

vi /etc/fstab

Наши записи могут быть, примерно, такими:

UUID=Rzg9IW-5zmy-wsdv-mfIJ-HMRV-9Zup-XCcxPi /                   xfs     defaults        0 0
UUID=45053cf4-cb27-40b8-9b63-7f43fb123807 /boot                   xfs     defaults        0 0

Но также никто нам не запретит использовать гибридный вариант, например:

/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=45053cf4-cb27-40b8-9b63-7f43fb123807 /boot                   xfs     defaults        0 0

* в данном варианте мы используем том LVM для корня и идентификатор для boot.

Буква (цифра) раздела

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

vi /etc/fstab

/dev/sda2    /                       xfs     defaults        0 0
/dev/sda1    /boot                       xfs     defaults        0 0

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

Создание резервных копий (backup)

<box 100% round left |>
dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bakdump -1aj -f /tmp/home0.bak /home — создать инкрементальную резервную копию директории /home в файл /tmp/home0.bakrestore -if /tmp/home0.bak — восстановить из резервной копии /tmp/home0.bakrsync -rogpav –delete /home /tmp — синхронизировать /tmp с /homersync -rogpav -e ssh –delete /home ip_address:/tmp — синхронизировать через SSH-туннельrsync -az -e ssh –delete ip_addr:/home/public /home/local — синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатиемrsync -az -e ssh –delete /home/local ip_addr:/home/public — синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатиемdd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ — сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннельtar -Puf backup.tar /home/user — создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ — копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ — копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-hometar cf — . | (cd /tmp/backup ; tar xf — ) — копирование одной директории в другую с сохранением полномочий и линковfind /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents — поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директориюfind /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 — поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из нихdd if=/dev/hda of=/dev/fd0 bs=512 count=1 — создать копию MBR (Master Boot Record) с /dev/hda на флоппи-дискdd if=/dev/fd0 of=/dev/hda bs=512 count=1 — восстановить MBR с флоппи-диска на /dev/hda

</box>

Работа в debian с lvm

LVM тема обширная и раскрыть ее у меня задача не стоит. В сети все это есть, я сам постоянно пользуюсь поиском. Приведу только несколько команд из своей шпаргалки, которыми я регулярно пользуюсь для создания, подключения и изменения lvm дисков. Команды актуальны для любых дистрибутивов, где есть lvm, не только в Debian.

Допустим, вы подключили 2 новых диска или raid массива к серверу и хотите их объединить в единое адресное пространство. Я расскажу, как это сделать

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

Это в общем случае. Возможно их можно будет как-то вытащить, но это уже не тривиальная задача.

В системе у меня один диск /dev/sda, я добавил еще 2 — sdb и sdc.

# lsblk -a
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0                     2:0    1    4K  0 disk 
sda                     8:0    0   20G  0 disk 
├─sda1                  8:1    0  243M  0 part /boot
├─sda2                  8:2    0    1K  0 part 
└─sda5                  8:5    0 19.8G  0 part 
  └─debian10--vg-root 254:0    0 19.8G  0 lvm  /
sdb                     8:16   0   10G  0 disk 
sdc                     8:32   0   10G  0 disk 

Инициализируем диски в качестве физического тома lvm.

# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

Теперь создадим группу томов, в которую будут входить оба диска.

# vgcreate vgbackup /dev/sdb /dev/sdc
  Volume group "vgbackup" successfully created

В данном случае vgbackup — название созданной группы. Теперь в этой группе томов мы можем создавать разделы. Они в чем-то похожи на разделы обычных дисков. Мы можем как создать один раздел на всю группу томов, так и нарезать эту группу на несколько разделов. Создадим один раздел на всем пространстве группы томов. Фактически, этот раздел будет занимать оба жестких диска, которые мы добавили.

# lvcreate -l100%FREE vgbackup -n lv_full

lv_full название логического  раздела. Теперь с ним можно работать, как с обычным разделом. Создавать файловую систему и монтировать к серверу. Сделаем это.

# mkfs -t ext4 /dev/vgbackup/lv_full
# mkdir /mnt/backup
# mount /dev/vgbackup/lv_full /mnt/backup

Проверяем, что получилось.

# df -h | grep /mnt/backup
/dev/mapper/vgbackup-lv_full    20G   45M   19G   1% /mnt/backup

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

Теперь для примера давайте удалим этот раздел и создадим 2 новых, один на 14 Гб, другой на 5 Гб и так же их подключим к системе. Для начала удаляем раздел lv_full, предварительно отмонтировав его.

# umount /mnt/backup
# lvremove /dev/vgbackup/lv_full

Проверяем, что раздела нет.

# lvs

Остался только один — системный. Создаем 2 новых раздела:

# lvcreate -L14G vgbackup -n lv01
# lvcreate -L4G vgbackup -n lv02
# lvs
  LV   VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root debian10-vg -wi-ao---- <19.76g                                                    
  lv01 vgbackup    -wi-a-----  14.00g                                                    
  lv02 vgbackup    -wi-a-----   4.00g       

Дальше так же создаем файловые системы и монтируем новые разделы к серверу. Надеюсь, на конкретных примерах я сумел показать удобство и особенность работы с lvm томами и разделами. Дальше мы продолжим эту тему. При автомонтировании через fstab томов lvm можно использовать их имена вида /dev/mapper/vgbackup-lv_full, а не метки. Эти имена не меняются.

Вот наглядный пример, где можно использовать lvm тома размазанные на несколько дисков. Есть небольшой файловый сервер с 4-мя sata дисками по 4 tb. Нужно было сделать максимально объемное файловое хранилище. Были собраны 2 mdadm raid1. Немного объема ушло на служебные разделы, а потом все, что осталось объединили в единый lvm том и получили шару объемом 6.4 Tb.

Сразу могу сказать, что производительность такой штуки не очень высокая, но зато есть защита от отказа одного из дисков, плюс файловое хранилище нужного объема. Можно было сразу все собрать в raid10, но я сейчас уже не помню, почему от этого отказались. Были какие-то объективные причины, а привел эту ситуацию я просто для примера. Таким образом можно объединять различные разнородные массивы для увеличения суммарного объема одного раздела.

Info

Другой источник информации о Linux и составляющих его программах — справочная подсистема . Страница руководства, несмотря на обилие ссылок различного типа, остаётся «линейным» текстом, структурированным только логически. Документ структурирован прежде всего топологически — это настоящий гипертекст, в котором множество небольших страниц объединены в дерево. В каждом разделе документа всегда есть оглавление, из которого можно перейти сразу к нужному подразделу, откуда всегда можно вернуться обратно. Кроме того, info-документ можно читать и как непрерывный текст, поэтому в каждом подразделе есть ссылки на предыдущий и последующий подразделы.

Info: An Introduction
. . .
* Menu:

* Getting Started:: Getting started using an Info reader.
* Expert Info:: Info commands for experts.
* Creating an Info File:: How to make your own Info file.
* Index:: An index of topics, commands, and variables.
. . .
—zz-Info: (info.info.bz2)Top, строк: 24 —All——————————
Welcome to Info version 4.6. Type ? for help, m for menu item.Пример 11. Просмотр info-документа

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

Одна или несколько страниц, которые можно перелистывать клавишей Пробел или Page Up/Page Down — это узел (node). Узел содержит обычный текст и меню (menu) — список ссылок на другие узлы, лежащие в дереве на более низком уровне. Ссылки внутри документа имеют вид «* имя_узла::» и перемещать по ним курсор можно клавишей Tab, а переходить к просмотру выбранного узла — клавишей Enter. Вернуться к предыдущему просмотренному узлу можно клавишей «» (oт «Last»). И, главное, выйти из программы можно, нажав «» (Quit). Более подробную справку об управлении программой можно в любой момент получить у самой , нажав «».

Узлы, составляющие документ , можно просматривать и подряд, один за другим (с помощью команд «», Next, и «», Previous), однако это бывает нужно нечасто. В верхней строке экрана показывает имя текущего узла, имя следующего узла и имя родительского (или верхнего) узла, в котором находится ссылка на текущий. Показанные Мефодию имя узла и имя верхнего узла () означают, что просматривается корневой узел документа, выше которого — только каталог со списком всех info-деревьев. В нижней части экрана расположена строка с информацией о текущем узле, а за ней — строка для ввода длинных команд (например, для поиска текста с помощью команды «»).

Команде можно указывать в параметрах всю цепочку узлов, приводящую к тому или иному разделу документации, однако это бывает нужно довольно редко:

Quitting Info
. . .Пример 12. Просмотр определённого узла info-документа

Сам ли Мефодий это придумал, или подсказал кто, но совершенно правильно было заключить в кавычки имя узла «Getting Started» — в этом случае искала узел по «адресу» «». Если бы команда имела вид , то «адрес» получился бы неправильный: «». Ничего таинственного в этом нет, и уже к концу лекции станет понятно, в чём здесь дело (Слова и разделители).

Синтаксис

Рассмотрим синтаксис команды:

Основные опции:

  • -d — установить дату изменения пароля;
  • -E — установить дату, срок действия учетной записи;
  • -h или —help — справочная информация;
  • -I — сделать пароль неактивным, после истечения срока действия;
  • -l или —list — показать информацию о аккаунте.
  • -M — максимальное количество дней до ввода пароля.

Примеры

Среди владельцев дистрибутивов Линукс очень много пользователей, не успевших привыкнуть к новым инструментам управления системой. В сети Интернет часто встречаются повторяющиеся вопросы пользователей относительно работы с командой chage и многими другими инструментами управления Линукс. А вот подробных описаний оказалось недостаточно.

Для первого примера посмотрим справочную информацию, для этого введем название утилиты с параметром —help.

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

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

Здесь 100 — количество дней.

Чтобы настроить последнюю дату изменения личных данных (в данном случае имеется в виду пароль пользователя), принято использовать опцию -D.

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

Как результат, юзер системы Linux получит предупреждение о смене пароля заранее (за десять дней до истечения срока).

Как заблокировать учетную запись

Для этой цели применяется инструмент chage с добавлением специальной опции -E.

В строке терминала следует указать следующее:

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

Заключение

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

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

Можно ли установить несколько версий PHP одновременно?¶

Да, это возможно при использовании репозитория Remi’s RPM.

В то же время одновременная установка и использование одной и той же мажорной версии PHP невозможна, т.е. нельзя одновременно установить и использовать версии 7.3.1 и 7.3.2, однако 7.2.9 и 7.3.2 уже можно.

Remi’s RPM – это сторонний репозиторий, созданный и поддерживаемый Remi Collect – активным участником сообщества и мейнтейнером всего PHP стека в Fedora.

Основная цель данного репозитория – предоставление различных версий стека PHP с возможностью одновременного использования, а также некоторых других программ для пользователей Fedora и Enterprise Linux (RHEL, CentOS, Oracle, Scientific Linux и т.д.).

Важно: Remi’s RPM – это сторонний репозиторий, поэтому в случае, если вы используете бета-версии Fedora или Fedora Rawhide, репозиторий может работать некорректно. Для подключения выполним сдедующую команду:

Для подключения выполним сдедующую команду:

sudo dnf install https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm

Важно: Перед использованием репозитория Remi, необходимо подключить. Для того, чтобы получать обновления PHP, активируем данный репозиторий:

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

sudo dnf config-manager --set-enabled remi

При необходимости можно включить экспериментальные репозитории с бета-версиями PHP (на примере версии 7.4):

sudo dnf config-manager --set-enabled remi-php74

Установим PHP-интерпретатор версии 7.3:

sudo dnf install php73-php

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

В случае использования nginx, установим менеджер процессов PHP-FPM для PHP версии 7.3:

sudo dnf install php73-php-fpm

Стоит обратить внимание на то, что все пакеты в репозитории Remi’s RPM, относящиеся к PHP, имеют в своем названии префикс вида , где – первые две цифры версии PHP, которую необходимо использовать

sudo systemctl enable --now php73-php-fpm.servie

Указанный выше префикс необходимо использовать и при взаимодействии с юнитами .

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

/usr/bin/php73 /path/to/file.php

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

Анализ файловых систем

badblocks -v /dev/hda1 — проверить раздел hda1 на наличие bad-блоковfsck /dev/hda1 — проверить/восстановить целостность linux-файловой системы раздела hda1fsck.ext2 /dev/hda1 или e2fsck /dev/hda1 — проверить/восстановить целостность файловой системы ext2 раздела hda1e2fsck -j /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там жеfsck.ext3 /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1fsck.vfat /dev/hda1 или fsck.msdos /dev/hda1 или dosfsck /dev/hda1 — проверить/восстановить целостность файловой системы fat раздела hda11

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Зов электронных книг
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: