Ubuntu — различия между версиями

Материал из K.Wiki
Перейти к: навигация, поиск
м (Как создать сжатый образ dd?)
м (Правки KiRiK (обсуждение) откачены к версии 192.168.1.1)
Строка 1: Строка 1:
 +
[[Категория:База знаний]]
 
== Настройки ==
 
== Настройки ==
=== Где хранится путь к dm по-умолчанию для пользователя? ===
+
=== Где хранится путь к dm по-умолчанию? ===
 
<tt>/etc/X11/defautl-display-manager</tt>
 
<tt>/etc/X11/defautl-display-manager</tt>
 
=== Где хранится сессия, запускаемая по-умолчанию? ===
 
=== Где хранится сессия, запускаемая по-умолчанию? ===
Строка 12: Строка 13:
 
=== Где настройка, позволяющая входить пользователем root в сеанс KDE? ===
 
=== Где настройка, позволяющая входить пользователем root в сеанс KDE? ===
 
Поле <tt>AllowRootLogin</tt> файла <tt>/etc/kde4/kdm/kdmrc</tt>.
 
Поле <tt>AllowRootLogin</tt> файла <tt>/etc/kde4/kdm/kdmrc</tt>.
 
=== Где хранятся настройки рабочего стола LXDE? ===
 
Секция <tt>desktop</tt> файла <tt>~/.config/pcmanfm/lubuntu/pcmanfm.conf</tt>.
 
 
=== Где хранятся файлы настроек новых создаваемых пользователей? ===
 
<tt>/etc/skel</tt>
 
 
== Авторизация ==
 
=== Как настроить авторизацию с помощью сканера отпечатков? ===
 
<ol>
 
<li>
 
Установить необходимое ПО:
 
<pre>sudo apt-get install libpam-fprintd libfprint0 fprint-demo fprintd</pre>
 
</li>
 
<li>
 
Настроить режимы авторизации (можно выбрать все):
 
<pre>sudo pam-auth-update</pre>
 
</li>
 
<li>
 
Задать эталоны отпечатков:
 
<pre>fprintd-enroll</pre>
 
</li>
 
</ol>
 
  
 
== Работа с пакетами ==
 
== Работа с пакетами ==
 
=== Как устанавливать пакеты для другой архитектуры? ===
 
=== Как устанавливать пакеты для другой архитектуры? ===
Для установки скачанного пакета в терминале:
+
В терминале:
 
  sudo dpkg --force-architecture -i <имя пакета>
 
  sudo dpkg --force-architecture -i <имя пакета>
Для использования репозиториев:
 
sudo dpkg --add-architecture {архитектура}
 
где <tt>{архитектура}</tt> может быть, например <tt>i386</tt>.
 
 
 
=== Какие сторонние репозитории стоит подключить? ===
 
=== Какие сторонние репозитории стоит подключить? ===
 +
* qutIM:
 +
sudo add-apt-repository ppa:qutim/qutim
 
* GIMP:
 
* GIMP:
 
  sudo add-apt-repository ppa:otto-kesselgulasch/gimp
 
  sudo add-apt-repository ppa:otto-kesselgulasch/gimp
* Google Chrome
 
sudo add-apt-repository 'deb http://dl.google.com/linux/chrome/deb/ stable main'
 
* Oracle® Java
 
sudo add-apt-repository ppa:webupd8team/java
 
* qutIM:
 
sudo add-apt-repository ppa:qutim/qutim
 
* XNeur
 
sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable
 
 
 
=== Как обновить индекс пакетов для muon или synaptic, если поиск не работает? ===
 
=== Как обновить индекс пакетов для muon или synaptic, если поиск не работает? ===
 
  sudo update-apt-xapian-index -f
 
  sudo update-apt-xapian-index -f
Строка 71: Строка 38:
 
  cd {путь к папке}
 
  cd {путь к папке}
 
  tar -cvpzf {имя бэкапа}.tar.gz *
 
  tar -cvpzf {имя бэкапа}.tar.gz *
 
 
=== Как восстановить бэкап файлов папки? ===
 
=== Как восстановить бэкап файлов папки? ===
 
В терминале:
 
В терминале:
 
  cd {путь к папке}
 
  cd {путь к папке}
 
  tar -xf {имя бэкапа}.tar.gz
 
  tar -xf {имя бэкапа}.tar.gz
 
+
=== Как следить за статусом dd? ===
=== Как создать сжатый образ dd? ===
+
 
В терминале:
 
В терминале:
dd if={источник} conv=sync,noerror bs=1M | gzip -c > {имя архива}.raw.gz
+
  watch -n 10 kill -USR1 {dd pid}
 
+
=== Как восстановить сжатый образ dd? ===
+
В терминале:
+
gunzip -c {имя архива}.raw.gz | dd of={назначение} conv=sync,noerror bs=1M
+
+
=== Как следить за статусом dd? ===
+
Если за всеми запущенными dd, то в терминале
+
  watch -n {период обновления в секундах} killall -s USR1 dd
+
Если известен PID нужного процесса, то в терминале:
+
watch -n {период обновления в секундах} kill -USR1 {PID}
+
 
+
== Права доступа ==
+
=== Как добавить бит SUID? ===
+
В терминале
+
sudo chmod u+s {имя файла}
+
  
 
== Логические и физические диски ==
 
== Логические и физические диски ==
Строка 106: Строка 56:
 
=== Как добавить поддержку exFAT? ===
 
=== Как добавить поддержку exFAT? ===
 
В терминале:
 
В терминале:
sudo apt-get install fuse-exfat
 
 
Для подключения дополнительного репозитория на старых версиях:
 
 
  sudo add-apt-repository ppa:relan/exfat
 
  sudo add-apt-repository ppa:relan/exfat
 
  sudo apt-get update
 
  sudo apt-get update
 
+
sudo apt-get install fuse-exfat
 
=== Как уменьшить нагрузку на раздел диска? ===
 
=== Как уменьшить нагрузку на раздел диска? ===
 
Для файловых систем <tt>ext3</tt> и <tt>ext4</tt> отключить журналирование при монтировании со стандартными параметрами
 
Для файловых систем <tt>ext3</tt> и <tt>ext4</tt> отключить журналирование при монтировании со стандартными параметрами
Строка 137: Строка 84:
  
 
Изменить параметры ядра: в файл <tt>/etc/sysctl.conf</tt> добавить строки
 
Изменить параметры ядра: в файл <tt>/etc/sysctl.conf</tt> добавить строки
  # Увеличение времени suspend режима.
+
  vm.laptop_mode = 5                    # увеличение времени suspend режима
  vm.laptop_mode = 5
+
  vm.dirty_writeback_centisecs = 15000 # таймаут времени записи буферов на диск равен 150 секундам
  # Таймаут времени записи буферов на диск равен 150 секундам.
+
  vm.swappiness = 10                    # swap подключается, когда оперативной памяти остается 10%
  vm.dirty_writeback_centisecs = 15000
+
# swap подключается, когда оперативной памяти остается 10%.
+
# Можно не менять этот параметр, а использовать zRam.
+
vm.swappiness = 10                   
+
 
и выполнить в терминале:
 
и выполнить в терминале:
 
  sudo sysctl -p
 
  sudo sysctl -p
 
или перезагрузить.
 
или перезагрузить.
 
Дополнительная информация на [http://help.ubuntu.ru/wiki/ssd help.ubuntu.ru].
 
  
 
=== Как использовать окружение системы, установленной на другой логический диск? ===
 
=== Как использовать окружение системы, установленной на другой логический диск? ===
Строка 446: Строка 387:
 
# Удалить файл <tt>~.kde/share/config/kdenliverc</tt>.
 
# Удалить файл <tt>~.kde/share/config/kdenliverc</tt>.
 
# Запустить программу.
 
# Запустить программу.
 
=== Faild to build gfxboot theme при сборке образа в Ubuntu Customization Kit ===
 
Установить пакет <tt>libfribidi-bin</tt>.
 
 
=== Setting locale failed при настройке пакетов ===
 
Если во время настройки или установки пакетов появляется сообщение
 
perl: warning: Setting locale failed.
 
perl: warning: Please check that your locale settings:
 
        LANGUAGE = (unset),
 
        LC_ALL = (unset),
 
        LANG = "ru_RU.UTF-8"
 
    are supported and installed on your system.
 
perl: warning: Falling back to the standard locale ("C").
 
locale: Cannot set LC_CTYPE to default locale: No such file or directory
 
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
 
locale: Cannot set LC_ALL to default locale: No such file or directory
 
нужно сгенерировать и обновить настройки локалей:
 
# locale-gen ru_RU ru_RU.UTF-8 en_US en_US.UTF-8
 
# dpkg-reconfigure locales
 
 
Ссылки:
 
* [http://ubuntuforums.org/showthread.php?t=1346581&p=8444183#post8444183 <nowiki>[SOLVED] perl: warning: Setting locale failed</nowiki>]
 
 
=== Cannot connect to X server :0. при запуске приложения от имени другого пользователя ===
 
Выполнить от имени пользователя, который работает с X-сервером:
 
xhost +local:{имя пользователя}
 
где <tt>{имя пользователя}</tt> указывает с чьими правами нужно будет запустить приложение.
 
 
Ссылки:
 
* [http://stackoverflow.com/questions/646930/cannot-connect-to-x-server-0-0-with-a-qt-application linux - Cannot connect to X server :0.0 with a Qt application - Stack Overflow]
 
 
== Разное ==
 
=== Как узнать тип установленной оперативной памяти? ===
 
sudo dmidecode -t memory
 
 
=== Как настроить работу с zRam? ===
 
$ sudo apt-get install zram-config
 
 
Ссылки:
 
* [http://www.linuxrussia.com/2013/05/ubuntu-zram.html LinuxRussia.com: Оптимизируем работу Ubuntu с помощью zRAM на маломощных компьютерах]
 
 
[[Категория:База знаний]]
 
[[Категория:Linux]][[Категория:Ubuntu]]
 

Версия 12:34, 21 декабря 2014

Содержание

Настройки

Где хранится путь к 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

  1. Закрыть программу.
  2. Удалить файл ~.kde/share/config/kdenliverc.
  3. Запустить программу.