Ubuntu
Содержание
Настройки
Где хранится путь к dm по-умолчанию?
/etc/X11/defautl-display-manager
Где хранится сессия, запускаемая по-умолчанию?
Поле Session секции [Desktop] файла ~.dmrc Возможные значения:
- ubuntu
- ubuntu-2d
- Lubuntu
- ...
Где настройка, позволяющая входить пользователем root в сеанс KDE?
Поле AllowRootLogin файла /etc/kde4/kdm/kdmrc.
Работа с пакетами
Как устанавливать пакеты для другой архитектуры?
В терминале:
sudo dpkg --force-architecture -i <имя пакета>
Какие сторонние репозитории стоит подключить?
- qutIM:
sudo add-apt-repository ppa:qutim/qutim
- GIMP:
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
Как обновить индекс пакетов для muon или synaptic, если поиск не работает?
sudo update-apt-xapian-index -f
Работа с процессами
Как вывести список процессов?
Для текущего сеанса в терминале:
ps
Для всех сеансов:
ps -a
Бэкапы и образы
Как сделать бэкап файлов папки?
В терминале:
cd {путь к папке} tar -cvpzf {имя бэкапа}.tar.gz *
Как восстановить бэкап файлов папки?
В терминале:
cd {путь к папке} tar -xf {имя бэкапа}.tar.gz
Как следить за статусом dd?
В терминале:
watch -n 10 kill -USR1 {dd pid}
Логические и физические диски
Как узнать UUID логического диска?
В терминале:
sudo blkid
Как перемонтировать раздел согласно правилам fstab?
sudo mount -o remount {точка монтирования}
Как получить список доступных дисков?
sudo fstab -l
Как добавить поддержку exFAT?
В терминале:
sudo add-apt-repository ppa:relan/exfat sudo apt-get update sudo apt-get install fuse-exfat
Как уменьшить нагрузку на раздел диска?
Для файловых систем ext3 и ext4 отключить журналирование при монтировании со стандартными параметрами
sudo tune2fs -o journal_data_writeback /dev/{id раздела}
и удалить журнал
sudo tune2fs -O ^has_journal /dev/{id раздела}
и еще
sudo tune2fs -m 0 /dev/{id раздела} sudo tune2fs -c 0 /dev/{id раздела}
и зафиксировать изменения
sudo e2fsck -f /dev/{id раздела}
Уменьшить количество обращений к разделу после монтирования: в файле /etc/fstab исправить строку, соответствующую разделу
UUID={UUID раздела} {точка монтирования} {тип файловой системы} noatime,nodiratime,discard,errors=remount-ro,commit=60 0 1
- noatime - не записывать время обращения к файлам
- nodiratime - не записывать время обращения к папкам
- discard - включить TRIM (распределенная нагрузка на SSD)
- commit=60 - частота обращения к диску
Если раздел системный, то перенести запись временных файлов в оперативную память: в файл /etc/fstab добавить строки
tmpfs /run tmpfs rw 0 0 tmpfs /run/lock tmpfs rw 0 0 tmpfs /tmp tmpfs rw,size=128m 0 0 tmpfs /var/log tmpfs rw,size=16m 0 0
Изменить параметры ядра: в файл /etc/sysctl.conf добавить строки
vm.laptop_mode = 5 # увеличение времени suspend режима vm.dirty_writeback_centisecs = 15000 # таймаут времени записи буферов на диск равен 150 секундам vm.swappiness = 10 # swap подключается, когда оперативной памяти остается 10%
и выполнить в терминале:
sudo sysctl -p
или перезагрузить.
Как использовать окружение системы, установленной на другой логический диск?
Пусть раздел с другой установленной системой /dev/sdxi.
sudo mount /dev/sdxi /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt
SMB-сервер
Как перезапустить samba?
В терминале:
sudo service smbd restart
Как отключить запрос пароля на сервере при подключении через smb?
В файле /etc/samba/smb.conf задать параметр
security = share
FTP-сервер
proftpd
Один из наиболее гибких FTP-серверов.
Установка:
sudo apt-get install proftpd
Настройки хранятся в файле /etc/proftpd/proftpd.conf, после его изменения нужно перезапустить сервер:
sudo service proftpd restart
Примеры настроек
Изменить имя сервера:
ServerName "my-ftp-server"
Отображение скрытых файлов:
ListOptions -la
Увеличить максимальное количество одновременных подключений (для защиты от DoS атак рекомендуется не выставлять более 30):
MaxInstances 60
Сделать загруженные и каталоги (второе число) файлы полностью доступными владельцу, и группе только для чтения:
Umask 017 017
Ограничить пользователя домашним каталогом:
DefaultRoot ~
MySQL-сервер
sudo apt-get install mysql-server
При запросе указать пароль для администратора MySQL.
HTTP-сервер
Apache
Установка ПО
1. Установить Apache:
sudo apt-get install apache2
2. Установить php5 с библиотеками:
sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php-image-graph imagemagick php5-gd php5-curl
3. Перезапустить Apache:
sudo service apache2 restart
Настройка Virtual Hosts
1. Остановить Apache:
sudo service apache2 stop
2. Создать конфигурации для хостов (на примере new.site).
- 2.1. Создать конфигурационный файл по адресу /etc/apache2/sites-available/new.site с содержимым:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/new.site/www ServerName new.site ServerAlias "new.site" "www.new.site" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/new.site/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/www/new.site/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/www/new.site/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
- 2.2. Создать необходимые директории:
sudo mkdir /var/www/new.site sudo mkdir /var/www/new.site/www
- 2.3. Подключить новый хост:
sudo a2ensite new.site
- Потом отключить можно будет так:
sudo a2dissite new.site
3. Обновить конфигурацию Apache:
sudo service apache2 reload
4. Запустить Apache:
sudo service apache2 start
Безопасная настройка
1. Ограничить права:
chmod 640 /etc/apache2 chmod 640 /etc/php5
2. Установить модуль Apache:
sudo apt-get install apache2-mpm-itk
3. Дополнить конфигурации хостов (далее для пользователя {user} и группы {group}):
AssignUserId {user} {group} # пользователь и группа, соответствующие правам работы сервера #php_admin_value open_basedir /home/{user}/www/:. #php_admin_value safe_mode on # включить безопасный режим php php_admin_value upload_tmp_dir /home/{user}/tmp # временный каталог для загрузок php_admin_value session.save_path /home/{user}/tmp # временный каталог для сессий
4. Создать папку для временных файлов:
mkdir /home/{user}/tmp
Настройка mod_rwrite
1. Активировать модуль:
sudo a2enmod rewrite
2. В файлах конфигурации хостов изменить
AllowOverride None
на
AllowOverride All
3. Перезапустить сервер:
sudo service apache2 restart
Добавление акселератора PHP
1. Установить акселератор на выбор
- APC:
sudo apt-get install php-apc
- xcache:
sudo apt-get install php5-xcache
Настройки хранятся в /etc/php5/conf.d/xcache.ini
2. Добавить кэширование:
sudo apt-get install memcached php5-memcached
3. Перезапустить сервер
sudo service apache2 restart
Настройка почтовой службы
Для работы отправки почты можно выбрать одну из следующих утилит.
sendmail
1. Установить sendmail:
sudo apt-get install sendmail-bin
2. В файле /etc/php5/apache2/php.ini заменить строку
;sendmail_path =
на
sendmail_path = /usr/sbin/sendmail -t -i
Важно: возможные тормоза могут быть вызваны некорректным hostname.
ssmtp
1. Установить ssmtp:
sudo apt-get install ssmtp
2. В файле /etc/php5/apache2/php.ini заменить строку
;sendmail_path =
на
sendmail_path = /usr/sbin/ssmtp -t
3. В файле /etc/ssmtp/ssmtp.conf прописать настройки (на примере smtp.gmail.com)
root={обратный почтовый адрес} mailhub=smtp.gmail.com:587 FromLineOverride=YES AuthUser={имя пользователя}@gmail.com AuthPass={пароль} UseSTARTTLS=YES
4. Обезопасить доступ к /etc/ssmtp/ssmtp.conf:
adduser www-data mail chmod 2555 /usr/sbin/ssmtp chgrp mail /usr/sbin/ssmtp chmod 640 /etc/ssmtp/ssmtp.conf chown root:mail /etc/ssmtp/ssmtp.conf deluser www-data mail
nginx
1. Установка:
apt-get install nginx php5-cli php5-common php5-suhosin php5-cgi php5-fpm mysql-server php5-mysql php5-gd php5-apc memcached php5-memcached
2. Основной файл конфигурации (/etc/nginx/nginx.conf):
Устранение уязвимости: в файле /etc/php5/fpm/php.ini добавить настройку:
cgi.fix_pathinfo=0
Отключение автоопределения HTTPS: в файле /etc/nginx/fastcgi_params закомментировать fastcgi_param HTTPS.
Удаленное управление
x11vnc
Позволяет запустить сервер vnc для подключения, например, к текущему сеансу.
Примеры использования:
- задать пароль для дальнейших подключений
x11vnc -storepasswd <пароль> ~/.vnc/passwd
- остановить серверы
x11vnc -kill
- не выходить после отключения
x11vnc -forever
- использовать запущенный локальный сеанс
-x11vnc -display :0
- спрашивать пароль при подключении
x11vnc -usepw
tightvncserver
Позволяет запустить сервер vnc для подключения к отдельной x-сессии.
При первом запуске vncserver предложит указать пароль, который будет в дальнейшем использоваться для подключения.
Примеры использования:
- запустить сервер с x-сессией размера 1024x600
vncserver -geometry 1024x600
x-сессия будет запущена на первом свободном виртуальном дисплее. Если дисплей i, то порт для подключения 590i.
- остановить сервер, соответствующий виртуальному дисплею 2
vncserver -kill :2
Настройки запуска хранятся в ~/.vnc/xstartup. Пример для запуска сессии lubuntu:
xrdb $HOME/.Xresources xsetroot -solid grey x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & startlubuntu &
OpenSSH
Команда
sudo apt-get install ssh
установит метапакет клиента и сервера ssh.
Настройки хранятся в файле /etc/ssh/sshd_config, после его изменения нужно перезапустить сервер:
sudo service ssh restart
Примеры настроек
Запретить доступ суперпользователю:
PermitRootLogin no
Разрешить доступ только группам adm и ssh:
AllowGroups adm, ssh
Решение проблем
unable to connect to upstart
Дело в том, что в режиме chroot невозможно выполнять задачи upstart. Нужно сделать следующее в терминале из-под chroot:
dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl
unable start cron, gdm
Снова дело в chroot. Судя по всему, нужно сделать по аналогии в терминале из-под chroot:
dpkg-divert --local --rename --add /sbin/start ln -s /bin/true /sbin/start
Черный экран при старте KDE4
Скорее всего, проблемы с видеокартой . Нужно отключить визуальные эффекты (Alt + Shift + F12) . Если рабочий стол отобразится, то можно пробовать подружить систему с эффектами (после каждого шага проверить помогло или нет)
- обновить драйвер видеокарты,
- в настройках переключить рендер эффектов на XRender,
- отключить автоматическую активацию эффектов и не трогать их.
Вывод изображения через HDMI на видеокарты ATI не на полный экран
1. Установить Catalyst Control Center (пакет fglrx-amdcccle).
2. В настройках Scaling выставить в нуль.
kdenlive не работает с libx264
- Закрыть программу.
- Удалить файл ~.kde/share/config/kdenliverc.
- Запустить программу.