пятница, 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, в комментариях на Хабре)

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

Alt+F - курсор на слово вперёд
Alt-B - курсор на слово назад
Ctrl-W или Alt+Backspace - удалить до границы слова назад
Alt+D - удалить до границы слова вперёд
Ctrl+K - удалить до конца стоки
Ctrl+U - удалить до начала строки
Alt+T - поменять местами два соседних слова (если поставить курсор между словами - именно эти два слова и поменяются)
Alt+точка - поставить на место курсора последний аргумент предыдущей команды; следующие нажатия проматывают последние аргументы назад по истории
Ctrl+R - открыть ПОИСК по истории команд от конца к началу
Примечание:
Вместо комбинаций типа Alt+A возможно последовательное нажатие Esc и A.
(Автор - Тихон Тарнавский, учебник "Работа в командной строке", LXF145)

воскресенье, 14 июля 2013 г.

Управление дополнительными учетными записями для входа в систему

После установки системы надо поменять параметры, с которыми будут создаваться новые пользователи:
$ sudo useradd -D -m -s /bin/bash

Добавление обычного пользователя-человека:
$ sudo useradd USERNAME
(создается каталог /home/USERNAME)
$ sudo passwd USERNAME
(новому пользователю задаётся пароль; без этого пользователи не могут входить в систему)

Удаление пользователя-человека из системы:
$ sudo userdel -r USERNAME
(удаляется каталог /home/USERNAME)

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

Создание группы:
$ sudo groupadd GROUPNAME

Удаление группы:
$ sudo groupdel GROUPNAME

Переименование группы:
$ sudo groupmod -n NEWGROUPNAME OLDGROUPNAME

Посмотреть, в какие группы входит пользователь:
$ groups USERNAME

Изменить список групп, в которых будет находиться создаваемый пользователь:
$ sudo usermod -G список,групп USERNAME

Группы, в которые по умолчанию включён первый пользователь (админ системы):
adm cdrom sudo dip plugdev lpadmin sambashare

Добавление нового пользователя во все группы, обеспечивающие админский доступ:
$ sudo usermod -G adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare USERNAME

Более подробно:
http://help.ubuntu.ru/wiki/пользователи_и_группы