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

Материал из K.Wiki
Перейти к: навигация, поиск
(Решение проблем)
 
(не показаны 144 промежуточные версии 3 участников)
Строка 1: Строка 1:
[[Категория:База знаний]]
 
 
== Настройки ==
 
== Настройки ==
=== Где хранится путь к dm по-умолчанию? ===
+
=== Где хранится путь к dm по-умолчанию для пользователя? ===
 
<tt>/etc/X11/defautl-display-manager</tt>
 
<tt>/etc/X11/defautl-display-manager</tt>
 
=== Где хранится сессия, запускаемая по-умолчанию? ===
 
=== Где хранится сессия, запускаемая по-умолчанию? ===
Строка 8: Строка 7:
 
*<tt>ubuntu</tt>
 
*<tt>ubuntu</tt>
 
*<tt>ubuntu-2d</tt>
 
*<tt>ubuntu-2d</tt>
 +
*<tt>Lubuntu</tt>
 +
*...
 +
 
=== Где настройка, позволяющая входить пользователем 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>
 +
 +
=== Где хранятся ссылки на приложения для запуска при старте системы? ===
 +
<tt>/etc/xdg/autostart</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 useradd username
 +
 +
=== Как создать новую группу? ===
 +
sudo groupadd {имя группы}
 +
 +
=== Как добавить существующего пользователя в существующую группу? ===
 +
sudo usermod -a -G {имя группы} {имя пользователя}
  
 
== Работа с пакетами ==
 
== Работа с пакетами ==
 
=== Как устанавливать пакеты для другой архитектуры? ===
 
=== Как устанавливать пакеты для другой архитектуры? ===
В терминале:
+
Для установки скачанного пакета в терминале:
 
  sudo dpkg --force-architecture -i <имя пакета>
 
  sudo dpkg --force-architecture -i <имя пакета>
 +
Для использования репозиториев:
 +
sudo dpkg --add-architecture {архитектура}
 +
где <tt>{архитектура}</tt> может быть, например <tt>i386</tt>.
 +
 +
=== Какие сторонние репозитории стоит подключить? ===
 +
<ul>
 +
<li>
 +
Blender
 +
<pre>sudo add-apt-repository ppa:thomas-schiex/blender</pre>
 +
для trusty и более новых, либо
 +
<pre>sudo add-apt-repository ppa:irie/blender</pre>
 +
для trusty и более старых.
 +
</li>
 +
<li>
 +
btrfs-tools, btrfs-progs
 +
<pre>sudo add-apt-repository ppa:giroll/ppa</pre>
 +
</li>
 +
<li>
 +
GIMP
 +
<pre>sudo add-apt-repository ppa:otto-kesselgulasch/gimp</pre>
 +
</li>
 +
<li>
 +
Google Chrome
 +
<pre>sudo add-apt-repository 'deb http://dl.google.com/linux/chrome/deb/ stable main'</pre>
 +
</li>
 +
<li>
 +
LibreOffice
 +
<pre>sudo add-apt-repository ppa:libreoffice/ppa</pre>
 +
</li>
 +
<li>
 +
Mono
 +
<pre>sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
 +
echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list</pre>
 +
</li>
 +
<li>
 +
Node.js
 +
<pre>curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -</pre>
 +
<pre>curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -</pre>
 +
<pre>curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -</pre>
 +
<pre>curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -</pre>
 +
<pre>curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -</pre>
 +
</li>
 +
<li>
 +
ONLYOFFICE
 +
<pre>sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
 +
sudo add-apt-repository 'deb http://download.onlyoffice.com/repo/debian squeeze main'</pre>
 +
</li>
 +
<li>
 +
Oracle® Java
 +
<pre>sudo add-apt-repository ppa:webupd8team/java</pre>
 +
</li>
 +
<li>
 +
qutIM
 +
<pre>sudo add-apt-repository ppa:qutim/qutim</pre>
 +
</li>
 +
<li>
 +
Sweet Home 3D
 +
<pre>sudo sh -c 'echo "deb http://archive.getdeb.net/ubuntu xenial-getdeb apps" >> /etc/apt/sources.list.d/getdeb.list'
 +
wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -</pre>
 +
</li>
 +
<li>
 +
Telegram
 +
<pre>sudo add-apt-repository ppa:atareao/telegram</pre>
 +
</li>
 +
<li>
 +
TeX Live 2017
 +
<pre>sudo add-apt-repository ppa:jonathonf/texlive-2017</pre>
 +
</li>
 +
<li>
 +
Tizen Development Tools
 +
<pre>sudo add-apt-repository 'deb http://download.tizen.org/tools/latest-release/Ubuntu_14.10 /'</pre>
 +
</li>
 +
<li>
 +
Ubuntu Developer Tools Center
 +
<pre>sudo add-apt-repository ppa:didrocks/ubuntu-developer-tools-center</pre>
 +
</li>
 +
<li>
 +
VirtualBox
 +
<pre>wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
 +
add-apt-repository 'deb http://download.virtualbox.org/virtualbox/debian/ xenial contrib'</pre>
 +
</li>
 +
<li>
 +
WINE
 +
<pre>sudo add-apt-repository ppa:ubuntu-wine/ppa</pre>
 +
</li>
 +
<li>
 +
WineHQ
 +
<pre>sudo dpkg --add-architecture i386
 +
sudo add-apt-repository ppa:wine/wine-builds</pre>
 +
Перед установкой другие пакеты <tt>wine*</tt> должны быть удалены.
 +
Для установки:
 +
<pre>sudo apt-get install --install-recommends winehq-devel</pre>
 +
</li>
 +
<li>
 +
winusb / woeusb
 +
<pre>sudo add-apt-repository ppa:nilarimogard/webupd8</pre>
 +
</li>
 +
<li>
 +
XNeur
 +
<pre>sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable</pre>
 +
</li>
 +
<li>
 +
Yandex.Disk
 +
<pre>echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex.list > /dev/null && wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | sudo apt-key add - </pre>
 +
https://yandex.ru/support/disk/cli-clients.html
 +
</li>
 +
</ul>
 +
 +
=== Как обновить индекс пакетов для muon или synaptic, если поиск не работает? ===
 +
sudo update-apt-xapian-index -f
 +
 +
=== Как исправить ошибку dpkg "чтение списка файлов пакета «{имя пакета}»: Ошибка ввода/вывода" ===
 +
Исправить или удалить файл <tt>/var/lib/dpkg/info/{имя пакета}.list</tt>.
  
 
== Работа с процессами ==
 
== Работа с процессами ==
Строка 27: Строка 178:
 
В терминале:
 
В терминале:
 
  cd {путь к папке}
 
  cd {путь к папке}
  tar -cvpzf {имя бэкапа}.tar.gz *
+
далее зависимости от нужного контейнера:
 +
  tar -cvpaf {имя бэкапа}.tar.gz *
 +
tar -cvpaf {имя бэкапа}.tar.xz *
 +
tar -cvpaf {имя бэкапа}.tar.zst *
 +
 
 
=== Как восстановить бэкап файлов папки? ===
 
=== Как восстановить бэкап файлов папки? ===
 
В терминале:
 
В терминале:
 
  cd {путь к папке}
 
  cd {путь к папке}
  tar -xf {имя бэкапа}.tar.gz
+
  tar -xf {путь к файлу бэкапа}
 +
 
 +
=== Как создать сжатый образ dd? ===
 +
В терминале:
 +
dd if={источник} conv=sync,noerror bs=64K | gzip -c > {имя архива}.img.gz
 +
или
 +
dd if={источник} conv=sync,noerror bs=64K | xz > {имя архива}.img.xz
 +
Для повышения уровня сжатия можно указать аргумент <tt>-9</tt> для <tt>gzip</tt> или <tt>xz</tt>.
 +
 
 +
=== Как восстановить сжатый образ dd? ===
 +
В терминале:
 +
gunzip -c {имя архива}.img.gz | dd of={назначение}
 +
или
 +
xz -dc {имя архива}.img.xz | dd of={назначение}
  
 
=== Как следить за статусом dd? ===
 
=== Как следить за статусом dd? ===
 +
Если за всеми запущенными dd, то в терминале
 +
watch -n {период обновления в секундах} killall -s USR1 dd
 +
Если известен PID нужного процесса, то в терминале:
 +
watch -n {период обновления в секундах} kill -USR1 {PID}
 +
 +
== Права доступа ==
 +
=== Как добавить бит SUID? ===
 +
В терминале
 +
sudo chmod u+s {имя файла}
 +
 +
=== Как рекурсивно сделать файлы не исполняемыми? ===
 +
В терминале
 +
chmod -R -x+X {путь к директории}
 +
 +
=== Как изменить права только для файлов в директории? ===
 +
В терминале
 +
  find {путь к директории} -type f -print0 | xargs -0 chmod {изменение прав}
 +
 +
== Логические и физические диски ==
 +
=== Как узнать UUID логического диска? ===
 
В терминале:
 
В терминале:
  watch -n 10 kill -USR1 {dd pid}
+
  sudo blkid
 +
 
 +
=== Как перемонтировать раздел согласно правилам fstab? ===
 +
sudo mount -o remount {точка монтирования}
 +
 
 +
=== Как получить список доступных дисков? ===
 +
sudo fstab -l
 +
 
 +
=== Как добавить поддержку exFAT? ===
 +
В терминале:
 +
sudo apt-get install fuse-exfat
 +
 
 +
Для подключения дополнительного репозитория на старых версиях:
 +
sudo add-apt-repository ppa:relan/exfat
 +
sudo apt-get update
 +
 
 +
=== Как изменить UUID exFAT-раздела? ===
 +
<ol>
 +
<li>
 +
Узнать текущий UUID:
 +
<pre>blkid /dev/{id раздела}</pre>
 +
Он будет в формате <tt>1234-5678</tt>.
 +
</li>
 +
<li>
 +
Перейти к редактированию бинарных данных раздела
 +
<pre>sudo hexedit /dev/{id раздела}</pre>
 +
</li>
 +
<li>
 +
Нажать <tt>/</tt> для поиска.
 +
</li>
 +
<li>
 +
Указать текущий UUUD в формате <tt>78563412</tt> и нажать <b>Enter</b>.
 +
</li>
 +
<li>
 +
В найденной позиции указать нужный UUID в формате <tt>78563412</tt> и нажать <b>F2</b>.
 +
</li>
 +
<li>
 +
Аналогично поправить в нескольких местах контрольную сумму.
 +
Ожидаемая будет указана при попытке монтирования (байты также идут в обратном порядке).
 +
</li>
 +
</ol>
 +
 
 +
Источник: [https://unix.stackexchange.com/a/341796 linux - How to change filesystem UUID (2 same UUID)? - Unix &amp; Linux Stack Exchange].
 +
 
 +
=== Как уменьшить нагрузку на раздел диска? ===
 +
Для файловых систем <tt>ext3</tt> и <tt>ext4</tt> отключить журналирование при монтировании со стандартными параметрами
 +
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 раздела}
 +
 
 +
Уменьшить количество обращений к разделу после монтирования: в файле <tt>/etc/fstab</tt> исправить строку, соответствующую разделу
 +
UUID={UUID раздела}  {точка монтирования}  {тип файловой системы}  noatime,nodiratime,discard,errors=remount-ro,commit=60  0    1
 +
* <tt>noatime</tt> - не записывать время обращения к файлам
 +
* <tt>nodiratime</tt> - не записывать время обращения к папкам
 +
* <tt>discard</tt> - включить TRIM (распределенная нагрузка на SSD)
 +
* <tt>commit=60</tt> - частота обращения к диску
 +
 
 +
Если раздел системный, то перенести запись временных файлов в оперативную память: в файл <tt>/etc/fstab</tt> добавить строки
 +
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
 +
 
 +
Изменить параметры ядра: в файл <tt>/etc/sysctl.conf</tt> добавить строки
 +
# Увеличение времени suspend режима.
 +
vm.laptop_mode = 5
 +
# Таймаут времени записи буферов на диск равен 150 секундам.
 +
vm.dirty_writeback_centisecs = 15000
 +
# swap подключается, когда оперативной памяти остается 10%.
 +
# Можно не менять этот параметр, а использовать zRam.
 +
vm.swappiness = 10                   
 +
и выполнить в терминале:
 +
sudo sysctl -p
 +
или перезагрузить.
 +
 
 +
Дополнительная информация на [http://help.ubuntu.ru/wiki/ssd help.ubuntu.ru].
 +
 
 +
=== Как использовать окружение системы, установленной на другой логический диск? ===
 +
Пусть раздел с другой установленной системой <tt>/dev/sdxi</tt>.
 +
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-сервер ==
 
== SMB-сервер ==
Строка 45: Строка 321:
 
  security = share
 
  security = share
  
== HTTP-сервер ==
+
== FTP-сервер ==
=== Как установить и настроить WEB-сервер? ===
+
=== proftpd ===
==== Установка ПО ====
+
Один из наиболее гибких FTP-серверов.
1. Установить MySQL:
+
 
 +
Установка:
 +
sudo apt-get install proftpd
 +
 
 +
Настройки хранятся в файле <tt>/etc/proftpd/proftpd.conf</tt>, после его изменения нужно перезапустить сервер:
 +
sudo service proftpd restart
 +
 
 +
==== Примеры настроек ====
 +
 
 +
Изменить имя сервера:
 +
ServerName "my-ftp-server"
 +
 
 +
Отображение скрытых файлов:
 +
ListOptions -la
 +
 
 +
Увеличить максимальное количество одновременных подключений (для защиты от DoS атак рекомендуется не выставлять более 30):
 +
MaxInstances 60
 +
 
 +
Сделать загруженные и каталоги (второе число) файлы полностью доступными владельцу, и группе только для чтения:
 +
Umask 017 017
 +
 
 +
Ограничить пользователя домашним каталогом:
 +
DefaultRoot ~
 +
 
 +
== MySQL-сервер ==
 +
 
 +
=== Как установить MySQL сервер? ===
 +
 
 
  sudo apt-get install mysql-server
 
  sudo apt-get install mysql-server
 +
 
При запросе указать пароль для администратора MySQL.
 
При запросе указать пароль для администратора MySQL.
  
2. Установить Apache:
+
=== Как получить через консоль доступ к командам MySQL? ===
 +
 
 +
mysql -u user -p
 +
# ввести пароль
 +
 
 +
user - имя пользователя или root для доступа из sudo.
 +
 
 +
Для выхода:
 +
 
 +
quit
 +
 
 +
=== Как создать базу данных? ===
 +
 
 +
CREATE DATABASE dbname;
 +
 
 +
dbname - имя БД.
 +
 
 +
=== Как создать пользователя? ===
 +
 
 +
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
 +
 
 +
user - имя пользователя, password - пароль.
 +
 
 +
=== Как предоставить пользователю права администратора? ===
 +
 
 +
GRANT ALL ON *.* TO 'user'@'localhost';
 +
 
 +
user - имя пользователя.
 +
 
 +
=== Как предоставить пользователю права администратора БД? ===
 +
 
 +
GRANT ALL ON dbname.* TO 'user'@'localhost';
 +
 
 +
dbname - имя БД, user - имя пользователя.
 +
 
 +
== HTTP-сервер ==
 +
 
 +
=== LAMP ===
 +
 
 +
Как просто развернуть LAMP-сервер?
 +
 
 +
$ apt update
 +
$ apt upgrade
 +
$ apt install tasksel
 +
$ tasksel install lamp-server
 +
$ a2enmod rewrite
 +
$ service apache2 restart
 +
 
 +
=== Apache ===
 +
==== Установка ПО ====
 +
1. Установить Apache:
 
  sudo apt-get install apache2
 
  sudo apt-get install apache2
  
3. Установить php5 с библиотеками:
+
2. Установить php5 с библиотеками:
  sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php-image-graph imagemagick
+
  sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php-image-graph imagemagick php5-gd php5-curl
  
4. Перезапустить Apache:
+
3. Перезапустить Apache:
  sudo /etc/init.d/apache2 restart
+
  sudo service apache2 restart
  
 
==== Настройка Virtual Hosts ====
 
==== Настройка Virtual Hosts ====
Строка 93: Строка 447:
 
  </Directory>
 
  </Directory>
 
   
 
   
  ErrorLog ${APACHE_LOG_DIR}/error.log
+
  ErrorLog /var/www/new.site/error.log
 
   
 
   
 
  # Possible values include: debug, info, notice, warn, error, crit,
 
  # Possible values include: debug, info, notice, warn, error, crit,
Строка 99: Строка 453:
 
  LogLevel warn
 
  LogLevel warn
 
   
 
   
  CustomLog ${APACHE_LOG_DIR}/access.log combined
+
  CustomLog /var/www/new.site/access.log combined
 
   
 
   
 
     Alias /doc/ "/usr/share/doc/"
 
     Alias /doc/ "/usr/share/doc/"
Строка 118: Строка 472:
 
:2.3. Подключить новый хост:
 
:2.3. Подключить новый хост:
 
  sudo a2ensite new.site
 
  sudo a2ensite new.site
Потом отключить можно будет так:
+
:Потом отключить можно будет так:
 
  sudo a2dissite new.site
 
  sudo a2dissite new.site
  
Строка 126: Строка 480:
 
4. Запустить Apache:
 
4. Запустить Apache:
 
   sudo service apache2 start
 
   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
 +
Настройки хранятся в <tt>/etc/php5/conf.d/xcache.ini</tt>
 +
 +
2. Добавить кэширование:
 +
sudo apt-get install memcached php5-memcached
 +
 +
3. Перезапустить сервер
 +
sudo service apache2 restart
 +
 +
==== Настройка почтовой службы ====
 +
Для работы отправки почты можно выбрать одну из следующих утилит.
 +
 +
===== sendmail =====
 +
1. Установить <tt>sendmail</tt>:
 +
sudo apt-get install sendmail-bin
 +
 +
2. В файле <tt>/etc/php5/apache2/php.ini</tt> заменить строку
 +
;sendmail_path =
 +
на
 +
sendmail_path = /usr/sbin/sendmail -t -i
 +
 +
'''Важно:''' возможные тормоза могут быть вызваны некорректным hostname.
 +
 +
===== ssmtp =====
 +
1. Установить <tt>ssmtp</tt>:
 +
sudo apt-get install ssmtp
 +
 +
2. В файле <tt>/etc/php5/apache2/php.ini</tt> заменить строку
 +
;sendmail_path =
 +
на
 +
sendmail_path = /usr/sbin/ssmtp -t
 +
 +
3. В файле <tt>/etc/ssmtp/ssmtp.conf</tt> прописать настройки (на примере smtp.gmail.com)
 +
root={обратный почтовый адрес}
 +
mailhub=smtp.gmail.com:587
 +
FromLineOverride=YES
 +
AuthUser={имя пользователя}@gmail.com
 +
AuthPass={пароль}
 +
UseSTARTTLS=YES
 +
 +
4. Обезопасить доступ к <tt>/etc/ssmtp/ssmtp.conf</tt>:
 +
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. Основной файл конфигурации (<tt>/etc/nginx/nginx.conf</tt>):
 +
 +
Устранение уязвимости: в файле <tt>/etc/php5/fpm/php.ini</tt> добавить настройку:
 +
cgi.fix_pathinfo=0
 +
 +
Отключение автоопределения HTTPS: в файле <tt>/etc/nginx/fastcgi_params</tt> закомментировать <tt>fastcgi_param HTTPS</tt>.
  
 
== Удаленное управление ==
 
== Удаленное управление ==
 
=== x11vnc ===  
 
=== x11vnc ===  
Позволяет запустить сервер vnc для подключения, например, к текущему сеансу.<br/>
+
Позволяет запустить сервер vnc для подключения, например, к текущему сеансу.
 +
 
 
Примеры использования:
 
Примеры использования:
 +
* задать пароль для дальнейших подключений
 
  x11vnc -storepasswd <пароль> ~/.vnc/passwd
 
  x11vnc -storepasswd <пароль> ~/.vnc/passwd
задать пароль для дальнейших подключений
+
* остановить серверы
 
  x11vnc -kill
 
  x11vnc -kill
остановить серверы
+
* не выходить после отключения
 
  x11vnc -forever
 
  x11vnc -forever
не выходить после отключения
+
* использовать запущенный локальный сеанс
 
  -x11vnc -display :0
 
  -x11vnc -display :0
использовать запущенный локальный сеанс
+
* спрашивать пароль при подключении
 
  x11vnc -usepw
 
  x11vnc -usepw
спрашивать пароль при подключении
 
  
== Другое ==
+
=== tightvncserver ===
=== Как узнать UUID логического диска? ===
+
Позволяет запустить сервер vnc для подключения к отдельной x-сессии.
В терминале:
+
sudo blkid
+
=== Как добавить поддержку exFAT? ===
+
В терминале:
+
sudo add-apt-repository ppa:relan/exfat
+
sudo apt-get update
+
sudo apt-get install fuse-exfat
+
=== Как уменьшить нагрузку на раздел диска? ===
+
Для файловых систем <tt>ext3</tt> и <tt>ext4</tt> отключить журналирование при монтировании со стандартными параметрами
+
sudo tun2fs -o journal_data_writeback /dev/{id раздела}
+
и удалить журнал
+
sudo tun2fs -O ^has_journal /dev/{id раздела}
+
  
Отключить запись времени обращения к файлам и папкам: в файле <tt>/etc/fstab</tt> исправить строку, соответствующую разделу
+
При первом запуске <tt>vncserver</tt> предложит указать пароль, который будет в дальнейшем использоваться для подключения.
UUID={UUID раздела}    {точка монтирования}    {тип файловой системы}    noatime,nodiratime    0    1
+
  
Если раздел системный, то перенести запись временных файлов в оперативную память: в файл <tt>/etc/fstab</tt> добавить строки
+
Примеры использования:
tmpfs    /var/log    tmpfs    defaults    0    0
+
* запустить сервер с x-сессией размера 1024x600
  tmpfs    /tmp        tmpfs    defaults    0    0
+
  vncserver -geometry 1024x600
tmpfs    /var/tmp    tmpfs    defaults    0    0
+
x-сессия будет запущена на первом свободном виртуальном дисплее. Если дисплей i, то порт для подключения 590i.
  tmpfs    /var/lock    tmpfs    defaults    0    0
+
* остановить сервер, соответствующий виртуальному дисплею 2
 +
  vncserver -kill :2
  
Изменить параметры ядра: в файл <tt>/etc/sysctl.conf</tt> добавить строки
+
Настройки запуска хранятся в <tt>~/.vnc/xstartup</tt>. Пример для запуска сессии lubuntu:
  vm.laptop_mode=5                      # увеличение времени suspend режима
+
xrdb $HOME/.Xresources
  vm.dirty_writeback_centisecs=15000    # таймаут времени записи буферов на диск равен 150 секундам
+
xsetroot -solid grey
vm.swappiness=10                      # swap подключается, когда оперативной памяти остается 10%
+
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 +
startlubuntu &
 +
 
 +
=== OpenSSH ===
 +
Команда
 +
sudo apt-get install ssh
 +
установит метапакет клиента и сервера ssh.
 +
 
 +
Настройки хранятся в файле <tt>/etc/ssh/sshd_config</tt>, после его изменения нужно перезапустить сервер:
 +
  sudo service ssh restart
 +
 
 +
==== Примеры настроек ====
 +
Запретить доступ суперпользователю:
 +
  PermitRootLogin no
 +
 
 +
Разрешить доступ только группам <tt>adm</tt> и <tt>ssh</tt>:
 +
AllowGroups adm, ssh
 +
 
 +
== Ubuntu Customization Kit ==
 +
=== Проблемы, возникающие при сборке образа ===
 +
==== Faild to build gfxboot theme ====
 +
Установить пакет <tt>libfribidi-bin</tt>.
 +
 
 +
==== Unable to extract gfxboot-theme-ubuntu source package ====
 +
Костыль:
 +
в файле <tt>/usr/lib/uck/customization-profiles/localized_cd/customize_iso</tt> заменить
 +
<pre>GFXBOOT_THEME_UBUNTU_SOURCE_PACKAGE=http://archive.ubuntu.com/ubuntu/ubuntu/ubuntu/pool/main/g/gfxboot-theme-ubuntu/$(zgrep gz "$APT_SOURCES_TMP_DIR"/Sources.gz | grep gfxboot-theme-ubuntu | sed -n 1p | awk '{ print $3 }')</pre>
 +
присвоением корректно ссылки на gz-архив с gfxboot-theme-ubuntu, например,
 +
<pre>GFXBOOT_THEME_UBUNTU_SOURCE_PACKAGE=http://archive.ubuntu.com/ubuntu/ubuntu/ubuntu/pool/main/g/gfxboot-theme-ubuntu/gfxboot-theme-ubuntu_0.20.0.tar.xz</pre>
 +
И, поскольку поменялось расширение, заменить там же
 +
<pre>tar xfz *.tar.gz ||</pre>
 +
на
 +
<pre>tar xf *.tar.xz ||</pre>
 +
 
 +
==== You asked for a hybrid ISO but isohybrid command was not found ====
 +
Установить пакет <tt>syslinux-utils</tt>.
 +
 
 +
==== language-pack-touch-en : Conflicts: language-pack-en ====
 +
В файле <tt>/usr/lib/uck/customization-profiles/localized_cd/customize</tt> заменить
 +
<pre>add=`echo "$REPO_LANGS" | grep -- -"$l" | grep -Ev "kde|gnome"`</pre>
 +
на
 +
<pre>add=`echo "$REPO_LANGS" | grep -- -"$l" | grep -Ev "kde|gnome|touch"`</pre>
 +
 
 +
Источник: [https://answers.launchpad.net/uck/+question/261894 Question #261894 : Questions : Ubuntu Customization Kit:]
  
 
== Решение проблем ==
 
== Решение проблем ==
Строка 177: Строка 657:
 
  dpkg-divert --local --rename --add /sbin/initctl
 
  dpkg-divert --local --rename --add /sbin/initctl
 
  ln -s /bin/true /sbin/initctl
 
  ln -s /bin/true /sbin/initctl
 +
 
=== unable start cron, gdm ===
 
=== unable start cron, gdm ===
 
Снова дело в <tt>chroot</tt>.
 
Снова дело в <tt>chroot</tt>.
Строка 182: Строка 663:
 
  dpkg-divert --local --rename --add /sbin/start
 
  dpkg-divert --local --rename --add /sbin/start
 
  ln -s /bin/true /sbin/start
 
  ln -s /bin/true /sbin/start
 +
 
===Черный экран при старте KDE4===
 
===Черный экран при старте KDE4===
 
Скорее всего, проблемы с видеокартой . Нужно отключить визуальные эффекты (<tt>Alt + Shift + F12</tt>) . Если рабочий стол отобразится, то можно пробовать подружить систему с эффектами (после каждого шага проверить помогло или нет)
 
Скорее всего, проблемы с видеокартой . Нужно отключить визуальные эффекты (<tt>Alt + Shift + F12</tt>) . Если рабочий стол отобразится, то можно пробовать подружить систему с эффектами (после каждого шага проверить помогло или нет)
Строка 187: Строка 669:
 
* в настройках переключить рендер эффектов на <tt>XRender</tt>,
 
* в настройках переключить рендер эффектов на <tt>XRender</tt>,
 
* отключить автоматическую активацию эффектов и не трогать их.
 
* отключить автоматическую активацию эффектов и не трогать их.
 +
 
=== Вывод изображения через HDMI на видеокарты ATI не на полный экран ===
 
=== Вывод изображения через HDMI на видеокарты ATI не на полный экран ===
# Установить Catalyst Control Center (пакет <tt>fglrx-amdcccle</tt>).
+
1. Установить Catalyst Control Center (пакет <tt>fglrx-amdcccle</tt>).
# В настройках <tt>Scaling</tt> выставить в нуль.
+
 
 +
2. В настройках <tt>Scaling</tt> выставить в нуль.
 +
 
 +
=== kdenlive не работает с libx264 ===
 +
# Закрыть программу.
 +
# Удалить файл <tt>~.kde/share/config/kdenliverc</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]
 +
 
 +
=== Некорректный рендеринг Qt-приложений в Ubuntu 15.10 ===
 +
В <tt>/etc/environment</tt> добавить
 +
QT_GRAPHICSSYSTEM=native
 +
 
 +
Ссылки:
 +
* [https://bugreports.qt.io/browse/QTBUG-49215 <nowiki>[QTBUG-49215] Qt rendering issues on Ubuntu 15.10 - Qt Bug Tracker</nowiki>]
 +
 
 +
=== Ошибка "<tt>/run/lvm/lvmetad.socket: connect failed: No such file or directory</tt>" при вызове update-grub в chroot ===
 +
 
 +
В <tt>/etc/lvm/lvm.conf</tt> изменить значение <tt>use_lvmetad</tt> на 0:
 +
<pre>use_lvmetad = 0</pre>
 +
 
 +
Ссылки:
 +
* [https://unix.stackexchange.com/questions/199164/error-run-lvm-lvmetad-socket-connect-failed-no-such-file-or-directory-but linux - Error “/run/lvm/lvmetad.socket: connect failed: No such file or directory” - but not Grub related]
 +
 
 +
=== Нет текста, мерцает экран на странице авторизации sddm при использовании видеокарты i915 ===
 +
 
 +
Добавить <tt>QT_QUICK_BACKEND=software</tt> в '''/etc/environment''' и перезагрузить.
 +
 
 +
Ссылки:
 +
* https://bugs.kde.org/show_bug.cgi?id=489229#c6
 +
 
 +
=== Setting RfKill State requires privileges / Установка состояния RfKill требует соответствующих разрешений ===
 +
 
 +
sudo usermod -a -G bluetooth <user>
 +
sudo usermod -a -G netdev <user>
 +
 
 +
Ссылки:
 +
* https://askubuntu.com/questions/1419667/ubuntu-setting-rfkill-state-requires-privileges
 +
 
 +
=== error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory ===
 +
 
 +
В файл '''/etc/apt/sources.list''' добавить
 +
 
 +
deb http://archive.ubuntu.com/ubuntu lunar main universe
 +
 
 +
Выполнить:
 +
 
 +
sudo apt update
 +
sudo apt install libgconf-2-4
 +
 
 +
Ссылки:
 +
* https://github.com/keybase/client/issues/25984
 +
 
 +
=== Некорректное разрешение в electron-приложениях ===
 +
 
 +
Запускать приложение с флагом <tt>--force-device-scale-factor</tt>
 +
 
 +
Пример:
 +
electron --force-device-scale-factor=0.8
 +
 
 +
Ссылки:
 +
* https://github.com/electron/electron/issues/615#issuecomment-57472351
 +
 
 +
== Разное ==
 +
=== Как получить информацию о процессоре? ===
 +
lscpu
 +
 
 +
=== Как узнать тип установленной оперативной памяти? ===
 +
sudo dmidecode -t memory
 +
 
 +
=== Как настроить работу с zRam? ===
 +
$ sudo apt-get install zram-config
 +
 
 +
Ссылки:
 +
* [http://www.linuxrussia.com/2013/05/ubuntu-zram.html LinuxRussia.com: Оптимизируем работу Ubuntu с помощью zRAM на маломощных компьютерах]
 +
 
 +
=== Как установить ядрлужебная:Свежие_правкио версии 4? ===
 +
Пример для версии 4.0.6:
 +
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-headers-4.0.6-040006_4.0.6-040006.201506222135_all.deb
 +
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-headers-4.0.6-040006-generic_4.0.6-040006.201506222135_amd64.deb
 +
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-image-4.0.6-040006-generic_4.0.6-040006.201506222135_amd64.deb
 +
sudo dpkg -i linux-headers-4.0.6*.deb linux-image-4.0.6*.deb
 +
sudo reboot
 +
 
 +
Для удаления:
 +
sudo apt-get remove 'linux-headers-4.0.6*' 'linux-image-4.0.6*'
 +
 
 +
=== Как отключить действие при закрытии крышки ноутбука? ===
 +
В файл <tt>/etc/systemd/logind.conf</tt> добавить настройку
 +
HandleLidSwitch=ignore
 +
и перезапустить сервис
 +
sudo service systemd-logind restart
 +
 
 +
Ссылка:
 +
[https://askubuntu.com/a/372616 power management - How can I tell Ubuntu to do nothing when I close my laptop lid? - Ask Ubuntu]
 +
 
 +
=== Как оптимизировать энергопотребление на ноутбуке? ===
 +
sudo apt install tlp tlp-rdw acpi-call-dkms tp-smapi-dkms acpi-call-dkms
 +
 
 +
Ссылка:
 +
https://medium.com/@hkdb/ubuntu-18-04-on-lenovo-x1-carbon-6g-d99d5667d4d5
 +
 
 +
=== Как отмасштабировать и сориентировать несколько картинок? ===
 +
 
 +
for file in *.jpg; do convert $file -auto-orient -resize 1920x1080 converted/$file; done
 +
 
 +
Качество можно указать с помощью опции quality.
 +
Пример:
 +
-quality 80%
 +
 
 +
Ссылки:
 +
* https://photo.stackexchange.com/questions/91560/how-can-i-physically-rotate-a-digital-photo-under-linux
 +
* https://www.howtogeek.com/109369/how-to-quickly-resize-convert-modify-images-from-the-linux-terminal/
 +
* https://stackoverflow.com/questions/9929652/linux-batch-conversion-change-quality-of-jpg-with-convert-but-keep-its-name
 +
 
 +
=== Как запустить полноэкранное слайдшоу из картинок? ===
 +
 
 +
mirage -sf <путь к директории с картинками>
 +
 
 +
=== Как настроить автоматическое скрытие указателя мыши? ===
 +
 
 +
unclutter -display :0.0 -idle 5
 +
 
 +
Ссылка:
 +
https://stackoverflow.com/questions/7119247/ubuntu-command-line-move-mouse-cursor-for-hiding-cursor
 +
 
 +
=== Как настроить автоматический ответ на консольные вопросы приложения? ===
 +
 
 +
Подставить `y`:
 +
 
 +
yes | command-that-asks-for-input
 +
 
 +
или, если нужен другой автоматический ответ:
 +
 
 +
yes Y | command-that-asks-for-input
 +
 
 +
Ссылка: https://stackoverflow.com/a/7642711
 +
 
 +
[[Категория:База знаний]]
 +
[[Категория:Операционные системы]][[Категория:Linux]][[Категория:Ubuntu]]

Текущая версия на 10:59, 28 августа 2024

Содержание

Настройки[править]

Где хранится путь к dm по-умолчанию для пользователя?[править]

/etc/X11/defautl-display-manager

Где хранится сессия, запускаемая по-умолчанию?[править]

Поле Session секции [Desktop] файла ~.dmrc Возможные значения:

  • ubuntu
  • ubuntu-2d
  • Lubuntu
  • ...

Где настройка, позволяющая входить пользователем root в сеанс KDE?[править]

Поле AllowRootLogin файла /etc/kde4/kdm/kdmrc.

Где хранятся настройки рабочего стола LXDE?[править]

Секция desktop файла ~/.config/pcmanfm/lubuntu/pcmanfm.conf.

Где хранятся файлы настроек новых создаваемых пользователей?[править]

/etc/skel

Где хранятся ссылки на приложения для запуска при старте системы?[править]

/etc/xdg/autostart

Авторизация[править]

Как настроить авторизацию с помощью сканера отпечатков?[править]

  1. Установить необходимое ПО:
    sudo apt-get install libpam-fprintd libfprint0 fprint-demo fprintd
  2. Настроить режимы авторизации (можно выбрать все):
    sudo pam-auth-update
  3. Задать эталоны отпечатков:
    fprintd-enroll

Работа с пользователями и группами[править]

Как создать нового пользователя?[править]

sudo useradd username

Как создать новую группу?[править]

sudo groupadd {имя группы}

Как добавить существующего пользователя в существующую группу?[править]

sudo usermod -a -G {имя группы} {имя пользователя}

Работа с пакетами[править]

Как устанавливать пакеты для другой архитектуры?[править]

Для установки скачанного пакета в терминале:

sudo dpkg --force-architecture -i <имя пакета>

Для использования репозиториев:

sudo dpkg --add-architecture {архитектура}

где {архитектура} может быть, например i386.

Какие сторонние репозитории стоит подключить?[править]

  • Blender
    sudo add-apt-repository ppa:thomas-schiex/blender

    для trusty и более новых, либо

    sudo add-apt-repository ppa:irie/blender

    для trusty и более старых.

  • btrfs-tools, btrfs-progs
    sudo add-apt-repository ppa:giroll/ppa
  • 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'
  • LibreOffice
    sudo add-apt-repository ppa:libreoffice/ppa
  • Mono
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list
  • Node.js
    curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
    curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
  • ONLYOFFICE
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
    sudo add-apt-repository 'deb http://download.onlyoffice.com/repo/debian squeeze main'
  • Oracle® Java
    sudo add-apt-repository ppa:webupd8team/java
  • qutIM
    sudo add-apt-repository ppa:qutim/qutim
  • Sweet Home 3D
    sudo sh -c 'echo "deb http://archive.getdeb.net/ubuntu xenial-getdeb apps" >> /etc/apt/sources.list.d/getdeb.list'
    wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
  • Telegram
    sudo add-apt-repository ppa:atareao/telegram
  • TeX Live 2017
    sudo add-apt-repository ppa:jonathonf/texlive-2017
  • Tizen Development Tools
    sudo add-apt-repository 'deb http://download.tizen.org/tools/latest-release/Ubuntu_14.10 /'
  • Ubuntu Developer Tools Center
    sudo add-apt-repository ppa:didrocks/ubuntu-developer-tools-center
  • VirtualBox
    wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
    add-apt-repository 'deb http://download.virtualbox.org/virtualbox/debian/ xenial contrib'
  • WINE
    sudo add-apt-repository ppa:ubuntu-wine/ppa
  • WineHQ
    sudo dpkg --add-architecture i386
    sudo add-apt-repository ppa:wine/wine-builds

    Перед установкой другие пакеты wine* должны быть удалены. Для установки:

    sudo apt-get install --install-recommends winehq-devel
  • winusb / woeusb
    sudo add-apt-repository ppa:nilarimogard/webupd8
  • XNeur
    sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable
  • Yandex.Disk
    echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex.list > /dev/null && wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | sudo apt-key add - 

    https://yandex.ru/support/disk/cli-clients.html

Как обновить индекс пакетов для muon или synaptic, если поиск не работает?[править]

sudo update-apt-xapian-index -f

Как исправить ошибку dpkg "чтение списка файлов пакета «{имя пакета}»: Ошибка ввода/вывода"[править]

Исправить или удалить файл /var/lib/dpkg/info/{имя пакета}.list.

Работа с процессами[править]

Как вывести список процессов?[править]

Для текущего сеанса в терминале:

ps

Для всех сеансов:

ps -a

Бэкапы и образы[править]

Как сделать бэкап файлов папки?[править]

В терминале:

cd {путь к папке}

далее зависимости от нужного контейнера:

tar -cvpaf {имя бэкапа}.tar.gz *
tar -cvpaf {имя бэкапа}.tar.xz *
tar -cvpaf {имя бэкапа}.tar.zst *

Как восстановить бэкап файлов папки?[править]

В терминале:

cd {путь к папке}
tar -xf {путь к файлу бэкапа}

Как создать сжатый образ dd?[править]

В терминале:

dd if={источник} conv=sync,noerror bs=64K | gzip -c > {имя архива}.img.gz

или

dd if={источник} conv=sync,noerror bs=64K | xz > {имя архива}.img.xz

Для повышения уровня сжатия можно указать аргумент -9 для gzip или xz.

Как восстановить сжатый образ dd?[править]

В терминале:

gunzip -c {имя архива}.img.gz | dd of={назначение}

или

xz -dc {имя архива}.img.xz | dd of={назначение}

Как следить за статусом dd?[править]

Если за всеми запущенными dd, то в терминале

watch -n {период обновления в секундах} killall -s USR1 dd

Если известен PID нужного процесса, то в терминале:

watch -n {период обновления в секундах} kill -USR1 {PID}

Права доступа[править]

Как добавить бит SUID?[править]

В терминале

sudo chmod u+s {имя файла}

Как рекурсивно сделать файлы не исполняемыми?[править]

В терминале

chmod -R -x+X {путь к директории}

Как изменить права только для файлов в директории?[править]

В терминале

 find {путь к директории} -type f -print0 | xargs -0 chmod {изменение прав}

Логические и физические диски[править]

Как узнать UUID логического диска?[править]

В терминале:

sudo blkid

Как перемонтировать раздел согласно правилам fstab?[править]

sudo mount -o remount {точка монтирования}

Как получить список доступных дисков?[править]

sudo fstab -l

Как добавить поддержку exFAT?[править]

В терминале:

sudo apt-get install fuse-exfat

Для подключения дополнительного репозитория на старых версиях:

sudo add-apt-repository ppa:relan/exfat
sudo apt-get update

Как изменить UUID exFAT-раздела?[править]

  1. Узнать текущий UUID:
    blkid /dev/{id раздела}

    Он будет в формате 1234-5678.

  2. Перейти к редактированию бинарных данных раздела
    sudo hexedit /dev/{id раздела}
  3. Нажать / для поиска.
  4. Указать текущий UUUD в формате 78563412 и нажать Enter.
  5. В найденной позиции указать нужный UUID в формате 78563412 и нажать F2.
  6. Аналогично поправить в нескольких местах контрольную сумму. Ожидаемая будет указана при попытке монтирования (байты также идут в обратном порядке).

Источник: linux - How to change filesystem UUID (2 same UUID)? - Unix & Linux Stack Exchange.

Как уменьшить нагрузку на раздел диска?[править]

Для файловых систем 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 добавить строки

# Увеличение времени suspend режима.
vm.laptop_mode = 5
# Таймаут времени записи буферов на диск равен 150 секундам.
vm.dirty_writeback_centisecs = 15000
# swap подключается, когда оперативной памяти остается 10%.
# Можно не менять этот параметр, а использовать zRam.
vm.swappiness = 10                    

и выполнить в терминале:

sudo sysctl -p

или перезагрузить.

Дополнительная информация на help.ubuntu.ru.

Как использовать окружение системы, установленной на другой логический диск?[править]

Пусть раздел с другой установленной системой /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-сервер[править]

Как установить MySQL сервер?[править]

sudo apt-get install mysql-server

При запросе указать пароль для администратора MySQL.

Как получить через консоль доступ к командам MySQL?[править]

mysql -u user -p
# ввести пароль

user - имя пользователя или root для доступа из sudo.

Для выхода:

quit

Как создать базу данных?[править]

CREATE DATABASE dbname;

dbname - имя БД.

Как создать пользователя?[править]

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

user - имя пользователя, password - пароль.

Как предоставить пользователю права администратора?[править]

GRANT ALL ON *.* TO 'user'@'localhost';

user - имя пользователя.

Как предоставить пользователю права администратора БД?[править]

GRANT ALL ON dbname.* TO 'user'@'localhost';

dbname - имя БД, user - имя пользователя.

HTTP-сервер[править]

LAMP[править]

Как просто развернуть LAMP-сервер?

$ apt update
$ apt upgrade
$ apt install tasksel
$ tasksel install lamp-server
$ a2enmod rewrite
$ service apache2 restart

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

Ubuntu Customization Kit[править]

Проблемы, возникающие при сборке образа[править]

Faild to build gfxboot theme[править]

Установить пакет libfribidi-bin.

Unable to extract gfxboot-theme-ubuntu source package[править]

Костыль: в файле /usr/lib/uck/customization-profiles/localized_cd/customize_iso заменить

GFXBOOT_THEME_UBUNTU_SOURCE_PACKAGE=http://archive.ubuntu.com/ubuntu/ubuntu/ubuntu/pool/main/g/gfxboot-theme-ubuntu/$(zgrep gz "$APT_SOURCES_TMP_DIR"/Sources.gz | grep gfxboot-theme-ubuntu | sed -n 1p | awk '{ print $3 }')

присвоением корректно ссылки на gz-архив с gfxboot-theme-ubuntu, например,

GFXBOOT_THEME_UBUNTU_SOURCE_PACKAGE=http://archive.ubuntu.com/ubuntu/ubuntu/ubuntu/pool/main/g/gfxboot-theme-ubuntu/gfxboot-theme-ubuntu_0.20.0.tar.xz

И, поскольку поменялось расширение, заменить там же

tar xfz *.tar.gz ||

на

tar xf *.tar.xz ||

You asked for a hybrid ISO but isohybrid command was not found[править]

Установить пакет syslinux-utils.

language-pack-touch-en : Conflicts: language-pack-en[править]

В файле /usr/lib/uck/customization-profiles/localized_cd/customize заменить

add=`echo "$REPO_LANGS" | grep -- -"$l" | grep -Ev "kde|gnome"`

на

add=`echo "$REPO_LANGS" | grep -- -"$l" | grep -Ev "kde|gnome|touch"`

Источник: Question #261894 : Questions : Ubuntu Customization Kit:

Решение проблем[править]

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. Запустить программу.

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

Ссылки:

Cannot connect to X server :0. при запуске приложения от имени другого пользователя[править]

Выполнить от имени пользователя, который работает с X-сервером:

xhost +local:{имя пользователя}

где {имя пользователя} указывает с чьими правами нужно будет запустить приложение.

Ссылки:

Некорректный рендеринг Qt-приложений в Ubuntu 15.10[править]

В /etc/environment добавить

QT_GRAPHICSSYSTEM=native

Ссылки:

Ошибка "/run/lvm/lvmetad.socket: connect failed: No such file or directory" при вызове update-grub в chroot[править]

В /etc/lvm/lvm.conf изменить значение use_lvmetad на 0:

use_lvmetad = 0

Ссылки:

Нет текста, мерцает экран на странице авторизации sddm при использовании видеокарты i915[править]

Добавить QT_QUICK_BACKEND=software в /etc/environment и перезагрузить.

Ссылки:

Setting RfKill State requires privileges / Установка состояния RfKill требует соответствующих разрешений[править]

sudo usermod -a -G bluetooth <user>
sudo usermod -a -G netdev <user>

Ссылки:

error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory[править]

В файл /etc/apt/sources.list добавить

deb http://archive.ubuntu.com/ubuntu lunar main universe

Выполнить:

sudo apt update
sudo apt install libgconf-2-4

Ссылки:

Некорректное разрешение в electron-приложениях[править]

Запускать приложение с флагом --force-device-scale-factor

Пример:

electron --force-device-scale-factor=0.8

Ссылки:

Разное[править]

Как получить информацию о процессоре?[править]

lscpu

Как узнать тип установленной оперативной памяти?[править]

sudo dmidecode -t memory

Как настроить работу с zRam?[править]

$ sudo apt-get install zram-config

Ссылки:

Как установить ядрлужебная:Свежие_правкио версии 4?[править]

Пример для версии 4.0.6:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-headers-4.0.6-040006_4.0.6-040006.201506222135_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-headers-4.0.6-040006-generic_4.0.6-040006.201506222135_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.6-wily/linux-image-4.0.6-040006-generic_4.0.6-040006.201506222135_amd64.deb
sudo dpkg -i linux-headers-4.0.6*.deb linux-image-4.0.6*.deb
sudo reboot

Для удаления:

sudo apt-get remove 'linux-headers-4.0.6*' 'linux-image-4.0.6*'

Как отключить действие при закрытии крышки ноутбука?[править]

В файл /etc/systemd/logind.conf добавить настройку

HandleLidSwitch=ignore

и перезапустить сервис

sudo service systemd-logind restart

Ссылка: power management - How can I tell Ubuntu to do nothing when I close my laptop lid? - Ask Ubuntu

Как оптимизировать энергопотребление на ноутбуке?[править]

sudo apt install tlp tlp-rdw acpi-call-dkms tp-smapi-dkms acpi-call-dkms

Ссылка: https://medium.com/@hkdb/ubuntu-18-04-on-lenovo-x1-carbon-6g-d99d5667d4d5

Как отмасштабировать и сориентировать несколько картинок?[править]

for file in *.jpg; do convert $file -auto-orient -resize 1920x1080 converted/$file; done

Качество можно указать с помощью опции quality. Пример:

-quality 80%

Ссылки:

Как запустить полноэкранное слайдшоу из картинок?[править]

mirage -sf <путь к директории с картинками>

Как настроить автоматическое скрытие указателя мыши?[править]

unclutter -display :0.0 -idle 5

Ссылка: https://stackoverflow.com/questions/7119247/ubuntu-command-line-move-mouse-cursor-for-hiding-cursor

Как настроить автоматический ответ на консольные вопросы приложения?[править]

Подставить `y`:

yes | command-that-asks-for-input

или, если нужен другой автоматический ответ:

yes Y | command-that-asks-for-input

Ссылка: https://stackoverflow.com/a/7642711