LXF164: Ответы
Olkol (обсуждение | вклад) (Новая страница: «Категория:Постоянные рубрики Ответы Есть вопрос по открытому ПО? Пишите нам по а…») |
Версия 15:32, 29 октября 2018
|
|
|
Ответы
Есть вопрос по открытому ПО? Пишите нам по адресу answers@linuxformat.ru, и мы найдем ответ.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Содержание |
1 Создание загрузочных дисков аварийного восстановления системы
В Моим первым опытом общения с Linux был Slackware 2.2 на 80 установочных дискетах с Fidonet для почты. Теперь все не так, и у меня openSUSE 12. Помогая друзьям и домочадцам в решении проблем с Windows, я устал от того, что систему каждый раз приходится переустанавливать с нуля — потому что они не могут найти диски восстановления системы или вообще не создавали их.
Я хотел бы приводить соответствующий компьютер в рабочее и актуальное состояние и затем создать набор загрузочных CD/DVD в Linux для восстановления компьютера.
Грэм Поузи [Graham Pawsey]
О Это возможно, но придется пожонглировать дисками, так как вам понадобится несколько DVD для хранения ряда текущих версий системы. Другой вариант – создать диск аварийного восстановления системы, а резервные копии хранить на внешнем жестком диске или даже на объемной флэшке, так как сейчас они дешевеют.
Это также означает, что не придется хранить по несколько дисков для каждого компьютера – достаточно стандартного загрузочного диска и диска с резервными копиями для всех компьютеров.
Одно из лучших средств для решения этой задачи – Clonezilla, специально предназначенный для нее Live CD. Clonezilla может создавать резервные копии на жестком диске, USB-дисках, DVD-дисках или образы ISO для последующей записи на оптические диски или на сетевой сервер. Загрузить его можно с сайта http://clonezilla.org/downloads.php, но версий дистрибутива сущест-вует несколько.
Для текущего стабильного релиза их не менее шести. Версия amd64 предназначена для 64-битных систем (как AMD, так и Intel), i686 – для современных 32-битных платформ, а i486 работает почти на всех платформах. Версию выбирайте в соответствии со своей архитектурой, а резервные копии они создают одинаковые.
Каждую из этих версий можно загрузить в виде ISO-образа для записи на CD и в виде архива ZIP для копирования на флэшку. Второй вариант чуть сложнее, но на сайте Clonezilla есть подробные инструкции.
После загрузки Clonezilla и выбора языка можно запустить Clonezilla [Start Clonezilla] и пройтись по этапам создания резервной копии, или открыть командную строку [Enter shell] и сделать все вручную. Выберите первый вариант и укажите расположение резервных копий – это может быть локальный каталог или один из типов сетевого сервера. Выбор режима начинающего [Beginner] или эксперта [Expert] обычно очевиден – если у вас есть сомнения, выбирайте первый. Затем нужно выбрать, стоит ли создавать резервную копию всего диска или отдельных разделов. Для диска аварийного восстановления создайте копию всего диска, потому что она содержит таблицу разделов.
После выбора диска, резервную копию которого нужно создать, установите опцию проверки образа на восстановление. Это увеличивает время его создания, но образ, который невозможно восстановить, полностью бесполезен.
На создание резервной копии может потребоваться некоторое время.
Другие опции включают разбиение копии на фрагменты по размеру CD или создание самодостаточного диска восстановления. Если запустить этот процесс снова, вы увидите дополнительные опции, так как теперь у нас есть резервная копия для восстановления.
2 Ну что, готово?
В У меня есть файл, который копируется на сервер (с ftp или scp). По окончании копирования нужно перенести его еще кое-куда. Есть ли изящный/простой способ узнать, что файл скопирован полностью, прежде чем копировать его в другое место? Можно выполнить следующие команды:
MD5sum $file; sleep 2s; MD5sum $file
и сравнить контрольные суммы, чтобы определить, что файл еще копируется, но этот способ выглядит довольно сложным.
О Сделать это можно разными способами, в зависимости от обстоятельств. Если копирование было запущено на локальном компьютере, можно просто подождать, пока процесс копирования завершится, даже если он выполняется в фоновом режиме. Если команда копирования была запущена в той же оболочке, то команда
wait PID
завершится, когда завершится процесс с заданным идентификатором. Если копирование по SSH/SCP было запущено удаленно и вы знаете имя хоста или IP-адрес отправителя, можно поискать в системном лог-файле окончание сеанса.
tail -f -n 0 /var/log/messages | grep --quiet --max-count 0 ‘Received disconnect from IPADDRESS’
Команда tail следит за системным лог-файлом, выводя все новые записи. Команда grep ищет сообщение об отключении. Параметр --max-count задает количество вхождений. Оно установлено в нуль, так как после обнаружения данного количества вхождений grep завершается, и эта команда завершится по завершении сеанса SSH. Учтите, что если отключения не будет обнаружено, то команда не завершится никогда, поэтому нужно добавить несколько проверок. Те же действия можно сделать для лог-файла FTP. Другой вариант – определить, блокируется ли файл каким-то процессом, с помощью команды lsof или fuser. Если файл заблокирован, значит, он еще копируется.
Это не только сэкономит ресурсы по сравнению с md5sums, но и позволит избежать вероятных ошибок при изменении файла, контрольная сумма которого вычисляется. Команда
fuser --silent /path/to/file
вернет код 0, если файл используется, и 1, если нет, поэтому команды
while fuser --silent /path/to/file; do
sleep 1m
будут выполняться в цикле до тех пор, пока копирование не завершится. Было ли оно завершено успешно или было прервано, предстоит определить вам. Для более общих действий, например, для обработки каждого файла, загружаемого в каталог, вам пригодится incron (http://incron.aiken.cz). Он работает так же, как и cron, но срабатывает не по времени, а по оповещениям доступа к файлам. Поместите примерно такую строку в файл /etc/incron.d:
/path/to/watch IN_CLOSE_WRITE /command/to/run $#
Эта команда отслеживает каталог, указанный в начале строки, на события закрытия файлов, открытых на запись – именно то, что вам нужно. При обнаружении таких событий выполняется указанная команда, причем $# заменяется именем файла. В качестве команды можно указать скрипт, который будет проверять, корректен ли файл, и затем выполнять любые необходимые действия.
3 Осложнения в сети
В Это должно быть так просто. Для установки VOIP-телефона наберите адрес в браузере Firefox. IP-адрес моего Cisco SPA 301 — 192.168.1.4, но открыв его, я получил сообщение «Cannot access the device [Устройство недоступно]». Я попробовал установить беспроводную точку доступа D-Link (DWL-2100AP) с адресом 192.168.0.50 и получил такое же сообщение. Пока, насколько мне известно, точки не защищены паролями.
В руководстве по D-Link написано, что перед началом установки нужно назначить компьютеру статический IP-адрес, но я не знаю, должен ли это делать я или провайдер (и если я, то как). И какой статический адрес назначать? Тот же, что и у устанавливаемого устройства, текущий IP-адрес компьютера или вообще любой IP-адрес, который взбредет в голову?
Я довольно хорошо знаком с IT, но уже этой ужасной истории хватит, чтобы превратить меня в луддита. Можете ли вы вернуть мне веру в чудеса технического прогресса?
Морис Жорж [Maurice George]
О Это не имеет отношения к провайдеру. Адреса вашего компьютера, телефона и всех прочих устройств, в том числе и маршрутизатора – это адреса в локальной сети. Провайдер назначает вам один IP-адрес, внешний адрес маршрутизатора (узнать его можно на странице статуса маршрутизатора в его web-интерфейсе или зайдя на специальный сайт, например, www.whatismyip.com). Он маршрутизирует трафик между локальной сетью (LAN) и Интернетом в целом, который иногда называют WAN (Wide Area Network – глобальная сеть).
Указанные вами адреса 192.168 – это локальные адреса из диапазона, зарезервированного для частных сетей, но они принадлежат разным подсетям. В диапазоне адресов вида 192.168.x.y первые три числа задают подсеть, поэтому все ваши адреса, в том числе адрес маршрутизатора, должны начинаться с 192.168.1 или 192.168.0, но только с одного из них. Заглянув в любую программу настройки сети, например, в раздел Network (Сеть) системных настроек Ubuntu, вы найдете свой IP-адрес и маску подсети.
Какие адреса относятся к локальной подсети, определяется маской подсети. Обычно это 255.255.255.0. Это означает, что первые три числа каждого локального адреса должны быть одними и теми же. Для задания статического адреса нажмите на Options [Параметры], перейдите на вкладку IPv4 Settings [Настройки IPv4], выберите Manual [Вручную] и задайте адрес, маску подсети и шлюз. Маска и шлюз должны быть такими же, какие были заданы DHCP. Адрес должен быть другим, но находиться в той же подсети, что и шлюз. Серверы DHCP выделяют адреса из определенного диапазона подсети, например, от 192.168.1.100 до 192.168.1.200. Статические адреса нужно брать вне этого диапазона.
Заглянув в web-интерфейс своего маршрутизатора (если вы не делали этого прежде, то достаточно набрать в адресной строке тот же адрес, что был задан в сетевых настройках роутера), вы найдете там диапазон адресов, выделяемых DHCP. Выберите какой-нибудь адрес вне этого диапазона. Затем назначьте устройству другой адрес из того же блока адресов вне DHCP. Тогда у каждого из устройств будет уникальный адрес, и все они будут находиться в одной подсети и смогут взаимодействовать друг с другом.
4 Много-много Linux’ов
В Я новичок в мультизагрузочных системах, и мне нужен совет, как найти лучшую конфигурацию для своей системы (систем). Должен ли /boot находиться на первом основном разделе? Это не одно и то же, что и MBR? Должен ли быть у всех устанавливаемых дистрибутивов общий раздел /boot? Если да, то как настроить его так, чтобы следующий дистрибутив не перезаписал его? Ведь если он перезапишется, я смогу загрузить только последний установленный дистрибутив.
Можно ли сделать так, чтобы все дистрибутивы безопасно работали с общим разделом подкачки? (Я знаю о том, что перевод одной системы в спящий режим и затем загрузка другой может привести к ошибкам.) С общим разделом /home проблемы могут возникнуть, насколько я понимаю, с разными настройками одних и тех же приложений (или различных версий приложения) в разных дистрибутивах. Сколько места на диске нужно выделить каждому дистрибутиву? Можно ли в одном из дистрибутивов запустить другой, установленный на жестком диске, в виртуальной машине VirtualBox?
Я понимаю, что можно было просто установить один «основной» дистрибутив и затем установить другие в виртуальные машины. Но я хотел бы разместить их виртуальные диски на отдельных разделах, чтобы не заполнять свой раздел /home большими файлами.
С форумов
О Главная загрузочная запись (MBR) – небольшая, размером 512 байт, область на жестком диске, которая содержит таблицу разделов и загрузчик. Это не то же самое, что /boot, который представляет собой просто каталог в файловой системе. Его можно сделать общим, но это не рекомендуется, потому что вам придется заботиться об именах ядер. Раздел подкачки можно сделать общим, если он не используется для спящего режима. Я бы выбрал схему с общим разделом подкачки, отдельным корневым разделом для каждого дистрибутива и общим домашним разделом с отдельными каталогами для каждого дистрибутива на нем.
Ни один из дистрибутивов не обязан находиться на первичном разделе. Grub (загрузчик, используемый в большинстве дистрибутивов) может загружаться и с логического раздела, и в системе Linux может не быть ни одного первичного раздела. Если у вас общий раздел /home, то на разделах для дистрибутивов нужно оставить место только для файлов операционных систем – по 10 – 12 ГБ на дистрибутив достаточно.
Хотя общий раздел /home – хорошая идея, для своего пользователя в каждой системе следует создать отдельные домашние каталоги. Можете пользоваться одним и тем же именем пользователя – домашний каталог не обязательно должен быть вида /home/user, это лишь общепринятое соглашение.
5 Неувязки DHCP
В У меня есть приставка MythTV с сетевым именем civo и статическим IP-адресом 192.168.1.10. Иногда у нее возникает желание подключиться к моей сети по Wi-Fi, и она получает адрес по DHCP (например, 192.168.1.100). После этого при пинговании civo я получаю адрес 192.168.1.100 — это не то, чего бы мне хотелось. В web-интерфейсе OpenWrt я задал civo как имя устройства для IP-адреса 192.168.1.10.
Я думаю, что в OpenWrt для DNS используется Dnsmasq, так что, наверное, это ее проблема или «особенность». Можно ли отключить эту возможность или изменить порядок запроса адресов, чтобы использовались имена хостов, заданные первыми?
bobthebob1234, с форумов
О Как и большинство DHCP-серверов, Dnsmasq определяет адрес, который следует назначить сетевой карте, по ее MAC-адресу. Тогда, если вы отключитесь и подключитесь снова, то обычно получите один и тот же адрес. У вас две сетевые карты, одна проводная и одна беспроводная, с разными MAC-адресами. Даже если воспользоваться DHCP для обеих, их адреса все равно будут разными, но задать проводному интерфейсу статический адрес, то сервер DHCP даже не узнает о нем, поэтому он и не замечает статического адреса.
Исправляется это разными способами. Простейший – отключить беспроводной адаптер, если он не нужен, и тогда подключение всегда будет осуществляться по проводному интерфейсу. Если его можно отключить аппаратно или в BIOS, сделайте это. Если нет, можно добавить его модуль в «черный список». В терминале выполните команду:
lspci -k
Для просмотра используемого интерфейсом драйвера может потребоваться снабдить ее префиксом sudo. Затем добавьте строку:
blacklist modulename
в файл в каталоге /etc/modprobe.d. Дайте ему понятное имя, например blacklist-wireless.conf. Файл должен иметь расширение .conf.
Второй вариант – сделать так, чтобы у беспроводного интерфейса тоже был статический адрес, и задать ему тот же адрес, что и у проводного. Это сработает, если вы не будете подключать оба одновременно. Наконец, можно включить DHCP для проводного интерфейса и настроить Dnsmasq на назначение всем интерфейсам одного и того же адреса. Для настройки интерфейса в Dnsmasq используется параметр dhcp-host; например, строка:
dhcp-host=00:22:68:66:B2:79,192.168.1.16,oolon, infinite
задает компьютеру, имеющему MAC-адрес 00:22:68:66:B2:79, IP-адрес 192.168.1.16, имя хоста oolon и бесконечное время аренды (это клиент MythTV в моей сети). Указание второго MAC-адреса через запятую означает, что данное правило нужно применять к запросам с любого из них, сбрасывая время аренды для другого MAC-адреса. Как и с двумя статическими адресами, вы должны позаботиться о том, чтобы оба интерфейса не попытались подключиться в одно и то же время.
Если отключить беспроводной интерфейс нельзя, воспользуйтесь последним вариантом: несколькими MAC-адресами в конфигурации Dnsmasq. Сеть с DHCP проще в обслуживании, даже если сервер выделяет фиксированные адреса, поскольку все настройки сети задаются в одном месте.
В многопользовательских системах у меня всегда прекрасно работала схема /home/user-distro. В порядке альтернативы, можно добавить название дистрибутива к имени пользователя. Домашний каталог можно задать во время установки или изменить позже. Убедитесь, что во всех дистрибутивах у вашего пользователя один и тот же идентификатор, в большинстве из них они начинаются с 1000 у первого пользователя – так вы получите доступ к файлам в домашнем каталоге другого дистрибутива. Основная причина, по которой нельзя сделать домашний каталог общим для всех дистрибутивов – потенциальная возможность путаницы с файлами настройки, однако каталоги с общими данными, такими как документы, фотографии и электронная почта, можно создать в одном дистрибутиве и привязать к домашним каталогам других с помощью символических ссылок.
Что касается меню загрузки, выберите один основной дистрибутив и предоставьте ему отвечать за загрузку. Каждый раз после установки нового перезагрузитесь в главный дистрибутив и выполните команду:
sudo grub-mkconfig -o /boot/grub/grub.cfg
для обновления меню загрузчика.
Запустить виртуальную машину с настоящего раздела возможно, но делить ее с настоящей установкой сложно, потому что в двух системах разные «устройства» – обычно это под силу только экспертам.
Если вас беспокоит, что виртуальные диски отнимают место на диске, создайте для них отдельный раздел. |