четверг, 3 апреля 2014 г.

Создание полного образа рабочей системы (Parted Magic как аналог Acronis True Image)

К сожалению, Acronis True Image не умеет работать с линуксовыми дисковыми разделами. NTFS он бэкапит логически (только информацию), а EXT4 только посекторно, а значит
а) Долго, поскольку бэкапятся пустые сектора
б) Негибко: нет возможности восстановить образ на раздел другого размера
При этом соответствующая программа для линукса есть - FSArchiver, но она чисто консольная, а значит неинтуитивна. В таких критичных вещах, как операции с целыми дисковыми разделами - пользоваться ей страшновато. Ну как не тот раздел уничтожишь при восстановлении?
1) Оказывается, существует проект QT-FSArchiver GUI.
2) С 2012 года этот проект включен в образ загрузочного диска Parted Magic.
Сочетание инструмнтов GParted и FSArchiver GUI делает этот загрузочный диск/флэшку идеальным инструментом для работы с дисковыми разделами, при условии физической доступности компьютера.
К сожалению, с версии 2013-08-10 проект Parted Magic стал платным и распространяется теперь исключительно по подписке (на официальном сайте проекта стало невозможно скачать даже старые версии). К счастью, образ есть на рутрекере.

среда, 26 марта 2014 г.

Как переименовать сервер

Чтобы переименовать сервер, надо отредактировать на нём файлы /etc/hostname и /etc/hosts.
Если имя компьютера в этих файлах не будет совпадать, sudo будет ругаться при каждом запуске.
Есть еще команда $ sudo hostname NewHostname, она нужна чтобы временно поменять имя сервера без перезагрузки компьютера. В конфиг-файлы она ничего не пишет. Соответственно, вышеозначенные конфиг-файлы после редактирования требуют перезагрузки, без которой можно обойтись, если дополнить их редактирование командой hostname.)

пятница, 29 ноября 2013 г.

Работа с apt-get при подключении к интернету через прокси-сервер

Если выход в интернет осуществляется через прокси-сервер, для доступа к репозиториям необходимо прописать этот доступ в конфиг-файле:
/etc/apt/apt.conf.d/proxy
Если этого файла нет, его надо создать. В этом файле должна быть всего одна строчка:
Acquire::http::Proxy "http://<имя_сервера>:<порт>";
Например:
Acquire::http::Proxy "http://proxy.loc:3128";
Примечание: если при установке системы указать прокси-сервер, он прописывается именно в этот файл.

четверг, 28 ноября 2013 г.

Управление службами (services)

Управление автоматическим запуском служб:
Команда chkconfig.
(sudo apt-get install chkconfig - программа штатно в системе не установлена)
Использование:
chkconfig --list - просмотр списка установленных служб (автозапуск вкл/выкл)
sudo chkconfig <служба> on - включить автозапуск службы
sudo chkconfig <служба> off - отключить автозапуск службы
Ручной запуск и останов служб:
Команда service.
Использование:
service <служба> status - просмотр состояния конкретной службы (работает/остановлена)
sudo service <служба> start - запустить службу
sudo service <служба> stop - остановить службу
service --status-all - просмотр текущего статуса всех установленных служб (работает/остановлена)
Мониторинг сетевых служб:
Команда netstat.
sudo netstat -tulpn - просмотр открытых портов и закрепленных за ними служб

вторник, 29 октября 2013 г.

Управление фоновыми заданиями (background jobs)

Ctrl-Z - приостановить программу и вернуться в командную строку
$ bg - продолжить выполнение приостановленной программы в фоне
$ fg - продолжить выполнение приостановленной программы в интерактивном режиме
$ jobs - список фоновых заданий и приостановленных программ
$ kill %1 - прервать выполнение задания № 1 из списка, показанного командой jobs
$ fg %1 - вернуть задание № 1 в интерактивный режим
$ disown %1 - отвязать фоновое задание № 1 от текущего консольного сеанса
Если добавить значок & в конце консольной команды, она уйдёт на фоновое выполнение сразу после запуска.
Все фоновые задания (кроме отвязанных командой disown) аварийно завершаются при закрытии консольного сеанса из которого их запустили. Передать фоновые процессы от одного консольного сеанса другому нельзя. Можно передать только целиком весь консольный сеанс из одного терминала в другой, если он был создан при помощи команды screen.
Процессы, отвязанные командой disown в интерактивный режим вернуть уже нельзя. (Из списка jobs они пропадают.) Их можно убить только по номеру процесса:
$ pstree -p
$ kill <номер процесса>
Примечание: вместо системы фоновых заданий рекомендуется использовать менеджеры терминалов типа screen и tmux.

понедельник, 28 октября 2013 г.

Copy-Paste при работе с mcedit через SSH-клиент putty

При работе с текстовым редактором mcedit через SSH-клиент putty возникает проблема: у программы mcedit свой буфер обмена и она не даёт привычным образом работать с буфером Windows.
Решение проблемы: чтобы что-то скопировать из mcedit в буфер обмена винды или обратно - надо удерживать нажатым shift.

Т.е. shift + выделение мышью при работе с mcedit копирует текст в буфер Windows.
shift + правый клик на окне mcedit вставляет текст из буфера Windows в mcedit.

В остальных программах копирование в буфер Windows работает без шифта, а вот mcedit любые клики мышью "без шифта" монополизирует для своих целей.

суббота, 20 июля 2013 г.

Первичная настройка оболочки Bash после установки системы

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

1) Быстрый поиск. В файл .inputrc в домашнем каталоге пользователя (если файла нет - его надо создать) необходимо добавить следующие строки:

"\e[A": history-search-backward
"\e[B": history-search-forward

После этого, набрав в командной строке один или несколько символов, вы сможете пробегать стрелками вверх-вниз не всю историю, а только те команды, которые начинаются с этих символов. Поиск по всей истории тоже останется: по нажатию вверх или вниз в пустой строке.
2) Сохранение лаконичности. В файл .bashrc рекомендуется добавить такую строку:

HISTCONTROL=ignorespace:erasedups

Первый из этих параметров запрещает сохранение в истории строк, начинающихся с пробела: теперь для того, чтобы не засорять историю лишними командами, достаточно ставить перед ними пробел. Второй параметр заставляет в момент добавления новой команды к истории, удалять оттуда все её более ранние вызовы - опять же для лаконичности истории.
(Автор советов - Тихон Тарнавский, учебник "Работа в командной строке", LXF145)

3) Несколько консолей. Чтобы история команд корректно работала при одновременном запуске нескольких консолей, надо добавить в .bashrc следующую строчку:

PROMPT_COMMAND='history -a; history -n'

Первый параметр - чтобы история команд сохранялась сразу после ввода (а не во время закрытия терминала). Второй параметр - "нажатие Enter в консоли обновляет историю".
(Автор совета - fnatoss, в комментариях на Хабре)