Замена lynx
скриптом-оболочкой будет работать, если скрипты/программы вызывают lynx
без указания пути, поэтому система будет искать его в каталогах, перечисленных в переменной PATH
.
Вы должны выяснить, где находится lynx
, т.е. набрав type lynx
.
Я предполагаю, что это может быть /usr/bin/lynx
.
Переменная PATH
для скриптов/программ, вызывающих lynx
, должна иметь другой каталог (, например./usr/local/bin
)перед расположением lynx
(, например./usr/bin
). Если это не так, возможно, вам придется расширить PATH
.
Пример:
Предположим, что ваш PATH
установлен на
PATH=/usr/bin:/bin:/sbin:/usr/bin/X11
Вы можете расширить его с помощью
PATH="/usr/local/bin:$PATH"
в одном из сценариев запуска, который устанавливает PATH
для сценариев/программ. Как именно вы можете это сделать, зависит от того, как вызываются эти скрипты/программы.
Затем вы можете создать сценарий оболочки /usr/local/bin/lynx
, подобный этому:
#! /bin/sh
# Here you could do what is needed to get the user name and password for the
# proxy authentication and use these instead of hard coded values.
/usr/bin/lynx -pauth=proxyuserid:proxypass "$@"
Когда скрипт/программа хочет выполниться lynx foo bar
, она найдет ваш скрипт /usr/local/bin/lynx
раньше, чем найдет "настоящую рысь" в /usr/bin/lynx
.
Затем скрипт вызовет /usr/bin/lynx -pauth=proxyuserid:proxypass "foo" "bar"
.
Конечно, вы можете использовать другое местоположение вместо /usr/local/bin
.
Это решение скрипта-оболочки не будет работать, если скрипт/программа выполняет lynx с указанием пути, подобного /usr/bin/lynx foo bar
. В таком случае вы можете переименовать /usr/bin/lynx
, например, в. /usr/bin/lynx.real
и создайте сценарий /usr/bin/lynx
, вызывающий /usr/bin/lynx.real
таким же образом.
Для mdadm RAID 1 это возможно. Однако при этом (обход уровня RAID каким-либо образом )приведет к рассинхронизации дисков, что, в свою очередь, приведет к повреждению. Так что лучше монтировать только чтение -.
Определить смещение данных:
# mdadm --examine /dev/sda2
[...]
Raid Level : raid1
[...]
Data Offset : 2048 sectors
[...]
В данном случае это 2048 секторов.
Создайте (предпочтительно для чтения -только )петлевое устройство с этим смещением:
# losetup --find --show --offset=$((2048*512)) /dev/sda2
/dev/loop3
Установить:
# mount -o ro /dev/loop3 /mnt/somewhere
Создание и подключение петлевого устройства также можно выразить одной командой:
# mount -o ro,loop,offset=$((2048*512)) /dev/sda2 /mnt/somewhere
Один из недостатков монтирования -только для чтения заключается в том, что монтирование может завершиться ошибкой, если файловая система находится в нечистом состоянии, и ее нельзя будет восстановить из-за монтирования -только для чтения. В этом случае можно поместить копию -на -наложение записи поверх петлевого устройства.
Обратите внимание,если вы не сделаете это строго только для чтения -и обойдете уровень RAID, RAID больше не синхронизируется, и проблемы с повреждением будут следовать, если вы не заставите RAID повторно синхронизировать / восстановить себя после этого.
Для аппаратных и других типов RAID это зависит от формата. У многих RAID есть метаданные в конце, поэтому вы можете сделать те же шаги со смещением 0. В противном случае вам нужно как-то определить смещение данных.
Если на RAID нет файловой системы (cryptsetup, LVM,... )вы должны открыть эти слои перед шагом монтирования. Если устройство RAID разбито на разделы, петлевые устройства поддерживают разделы (losetup --partscan
, тогда, например,./dev/loop3p1
).