установка dokuwiki centos php nginx часть 2

посмотреть часть 1

Установка CentOS


https://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/

https://sys-adm.in/os/nix/669-ustanovka-centos-7.html
https://www.if-not-true-then-false.com/2014/centos-7-netinstall-guide/
https://wiki.centos.org/HowTos/PXE/PXE_Setup
https://centos.name/?page/howto/PXE-Setup
http://wikiadmin.net/boot-pxe-install-or-live-on-centos7/
Настройка сервера сетевой установки на базе CentOS
Инструкция по установке с EFI

записать на флешку, софт для записи, ошибки при установке

Установка в текстовом режиме
Когда увидите пункт install centos меню, нажать клавишу табуляции, добавить text в конец всех существующих параметров командной строки установщика, а затем нажать клавишу enter.

Дистрибутив
https://mirror.yandex.ru/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-NetInstall-1804.iso
http://isoredirect.centos.org/centos/7/isos/x86_64/

в качестве репозитория при установке добавить
https://mirror.yandex.ru/centos/7/os/x86_64/
http://mirror.centos.org/centos/7/os/x86_64/

Автоматическая установка
https://www.tecmint.com/multiple-centos-installations-using-kickstart/
Kickstart или Автоматическая установка CentOS Linux
https://github.com/m0zgen/centos-kickstart-image-generator

Установщик CentOS автоматически создает файл /root/anaconda-ks.cfg, который содержит абсолютно всю информацию о выбранных пакетах и настройках установки текущей ОС. Это позволяет производить автоматическую установку системы
https://nixadmin.ru/centos_pxe_kickstart
/usr/sbin/system-config-kickstart

пример конфига



если интернет по DHCP, то
network --bootproto=dhcp --device=eth0 --noipv6 --activate
network --hostname=centos-test

если шина диска hda, sata, scsi, то
clearpart --all --initlabel --drives=sda

инсталяционные источники
http://mirror.centos.org/centos/7/os/x86_64/
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/

установка с kickstart
Указать файл можно вручную, на этапе отображения загрузочного меню установочного диска, нажать Esc в терминале ввести:
linux inst.ks=<путь к файлу kickstart>
Например:
linux inst.ks=cdrom:/dev/cdrom:/ks.cfg

Распаковка ISO образа
mount /home/User/Downloads/iso/CentOS-7-x86_64-Minimal-1611.iso /mnt/iso/
mkdir /tmp/centos_custom/
cp -rp /mnt/iso/* /tmp/centos_custom/

Добавление kickstart файла в образ
копируем наш kickstart файл в корень папки centos_custom, указываем ему название ks.cfg, после добавляем пункт загрузочного меню изменив файл isolinux/isolinux.cfg, добавив в него следующие строки:
label auto 
  menu label ^Auto install CentOS Linux 7 
  kernel vmlinuz
  append initrd=initrd.img inst.ks=cdrom:/dev/cdrom:/ks.cfg

Строки необходимо вставить в секцию, где расположены label по умолчанию, например сразу перед строками раздела:

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

Можно также добавить текстовую загрузку:

label text
  menu label ^Text install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet text


Создание ISO из папки образа
cd /tmp/centos_custom


Kickstart можно использовать с обыкновенной флешкой. Для этого нужно скопировать anaconda-ks.cfg с уже установленной системы, предварительно смонтировав флешку,

root@server01 [~]# mount /dev/sdc1 /media
root@server01 [~]# cp /root/anaconda-ks.cfg /media/ks.cfg
и запустить установку CentOS с такими опциями :

linux ks=hd:sdc1:/ks.cfg


Ошибки при установке
"/sbin/dmsquash-live-root: line 273: write error: No space left on device"
У установок Kickstart RHEL 7 и выше требуется не менее 2 ГБ памяти, назначенных машине.

Генерация пароля
https://thornelabs.net/2014/02/03/hash-roots-password-in-rhel-and-centos-kickstart-profiles.html
openssl passwd -1 "my_password"
mkpasswd -m sha-512
echo "my_password" | md5sum
echo "my_password" | sha512sum

Работа с пакетами
поиск пакета по файлу
yum whatprovides "*/grub-crypt"
yum search netstat
repoquery -qf */netstat */lsof */nmap

очистка кеша и переиндексация репозиториев (в случае ошибки)
yum clean all

установка нужных пакетов
Yum, шпаргалка
EPEL Repo на CentOS 7/6 — Инструкция по Установке
yum install epel-release

yum install mc ncdu nano curl wget pciutils netstat net-tools

Базовая настройка CentOS 7
Настройка сети в CentOS 7
uzverss работа с сетевыми интерфейсами

создание пользователей
adduser username
passwd username
gpasswd -a username wheel # добавить в группу
gpasswd -d username wheel # удалить из группы
userdel username
userdel -r username # удалит пользователя с каталогом
sudo lid -g wheel

глянуть пользователей
cat /etc/passwd | awk /bash/{print}


коротко об systemd

удаление старых ядер
http://pyatilistnik.org/kak-udalit-staryie-yadra-centos-7-za-minutu/

rpm -q kernel
uname -a
yum -y install yum-utils

сделаем, так чтобы CentOS 7, оставлял только 2 или 3 ядра, а все остальное затирал
package-cleanup --oldkernels --count=2

Теперь сделаем, чтобы система сама, автоматически это делала и проводила ревизию
vi /etc/yum.conf
installonly_limit=3

удалить вручную
yum remove имя ядра


Синхронизация времени
https://itdraft.ru/2018/12/20/sinhronizacija-vremeni-v-centos-7/
http://fliplinux.com/centos-x44.html

По-умолчанию в Centos 7 minimal синхронизация времени не настроена
yum install chrony

Для изменения серверов синхронизации времени надо отредактировать файл
nano /etc/chrony.conf

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

Запускаем сервис и добавляем его в автозагрузку
systemctl start chronyd
systemctl enable chronyd

Смотрим статус
chronyc sources

Проверяем, активировалась ли синхронизация
timedatectl

ручная настройка
date +%T -s "17:34:55"

комбинация клавиш, которая позволяет обратиться напрямую в ядро, минуя всяческие программы и оболочки

Alt + SysRq + B. Равнозначно нажатию кнопки Reset. Нежелательно, ибо высока вероятность потерять несохранённые данные.
Alt + SysRq + O. Выключает систему корректным образом.
Alt + SysRq + S. Синхронизует систему. Если выполнить перед первой командой, то можно не бояться за данные.
Alt + SysRq + K. Перезагружвет графическую оболочку. Выполнять, если всё зависло и не отвечает.
Alt + SysRq + R. Если не хочешь перезагружать иксы, отвиснет твою мышку и клавиатуру.
Alt + SysRq + H. Выводит вышеуказанные и все прочие доступные команды.


убрать заставку при загрузке grub
http://centosquestions.com/turn-off-progress-bar-centos-boot/

vi /etc/default/grub
Удалите rhgb quiet из этой записи
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

изменить на
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap"

после внесения этих изменений вам нужно переконфигурировать grub2
grub2-mkconfig -o /etc/grub2.cfg



Настройка русской локализации utf-8 в CentOS (старое)
Настройка русской локализации utf-8 в CentOS
Базовая настройка CentOS 7
locale -a | grep ru
нет русской локали то ее необходимо сделать. Команда для этого выглядит так:
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

файлы находящиеся в папке /usr/share/i18n/ принадлежат glibc-common-2.x.x и если вы их не наблюдаете там, то необходимо разбираться с самим glibc-common

touch /etc/sysconfig/i18n
LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"

запись в /etc/environment перебивает этот файл, т.е. если там есть LANG="en_US.UTF-8" то в /etc/sysconfig/i18n можно писать что угодно

если пустой /usr/share/i18n/locales/ и выдаёт ошибку
haracter map file `UTF-8' not found: No such file or directory
cannot read character map directory `/usr/share/i18n/charmaps': No such file or directory

yum -y install glibc-locale-source glibc-langpack-en
localedef -f UTF-8 -i en_US en_US.UTF-8

настройка раскладки и локали
system-config-language
system-config-keyboard

/etc/vconsole.conf
KEYTABLE="ru"
MODEL="pc105"
LAYOUT="us,ru"
VARIANT="intl"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll"


https://wiki.centos.org/EdHeron/EditorDefaultNano
для удобства работы настраиваем nano и делаем редактором по умолчанию



nano, по умолчанию, включает перенос слов. Хотя это хорошо в обычном документе, это нежелательно в файлах конфигурации.



Проверим используемый в данный момент редактор по умолчанию:
echo $EDITOR

Установим nano редактором по умолчанию
export EDITOR=nano

Установка и Настройка OpenSSH-сервера


http://redhat-club.org/2011/установка-и-настройка-openssh-сервера-в-rhel-centos-fedora

yum install openssh-server

chkconfig sshd on
chkconfig --level 2345 sshd on
sudo systemctl reload sshd.service

systemctl restart sshd

Настройки SSH-сервера хранятся в файле /etc/ssh/sshd_config

далееНаиболее важные опции с точки зрения безопасности:

Port 22 – Порт по умолчанию.
Protocol 2,1 – Какая реализация протокола SSH будет использоваться. Рекомендую оставить только 2.
ListenAddress – По умолчанию SSH сервер прослушивает все доступные интерфейсы, что абсолютно не нужно в большинстве ситуаций. Необходимо прописать сетевой интерфейс, с которого будет осуществляться управление сервером.
PermitRootLogin yes – По умолчанию разрешает входить по SSH суперпользователю root. Необходимо указать no.
AllowUsers adminsys – Данный параметр разрешает входить по SSH только перечисленным пользователям.
AllowGroups wheel – Группа пользователей которой можно входить по SSH, опцию можно не использовать если указана опция AllowUsers.
DenyUsers baduser – Данная опция запрещает вход по SSH перечисленным пользователям.
DenyGroups badgroup – Данная опция запрещает вход по SSH перечисленным группам пользователей.
MaxAuthTries 3 – Сколько раз переспрашивать пароль при неверном вводе. В данном случае SSH-сервер после 3 неверных попыток разорвет соединение с клиентом.
LoginGraceTime 60 – Через сколько секунд разрывать соединение при отсутствии аутентификации со стороны клиента.
PermitEmptyPasswords no – Разрешать использовать пустые пароли. По вполне понятным причинам значение этого параметра no.
PrintLastLog yes – при входе пользователя в систему по SSH ему будет показано когда и откуда последний раз был произведен вход под данным пользователем.
LogLevel INFO – В качестве параметра этой опции необходимо указать уровень журналирования. Возможные значения QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2, DEBUG3. Чем выше уровень журналирования, тем больше информации появится в файле регистрации событий.
SyslogFacility AUTHPRIV – Куда будут попадать логи. Возможные значения: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
Посмотреть в каком файле окажется логируемая информация можно посмотрев опции syslogd в файле /etc/syslog.conf.


ошибки при подключении по ssh


Устанавливаем статический ip



узнаём интерфейс
ip a
nano /etc/sysconfig/network-scripts/ifcfg-интерфейс



ip neig flush all # очистить кэш arp
systemd-resolve --flush-caches # очистить кэш dns имён
systemctl restart systemd-resolved # обновить dns
sudo /etc/init.d/dns-clean start # очистить кэш dns имён для старых os

ip ro
yum install net-tools # нужен для роутинга
route add default gw 192.168.1.1 # добавить шлюз по умолчанию
route del default gw 192.168.1.1 # удалить шлюз по умолчанию
route add -net 192.168.2.0/24 gw 192.168.1.2 # дополнительный роутинг
route delete -net 192.168.1.0 # удалить маршрут

лучше обойтись без net-tools, поскольку он устарел
ip route add default via 192.168.1.1
ip route add default via 192.168.1.1


https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html
Для того чтобы добавленные маршруты работали после перезапуска системы необходимо прописать их в /etc/sysconfig/network-scripts/route-имя_интерфейса
default 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
172.16.1.0/24 via 192.168.0.1 dev eth0

systemctl restart network

Сменить имя и группу пользователя
Изменить только имя пользователя:
usermod --login new_username old_username

Чтобы изменить имя пользователя и имя домашнего каталога:
usermod --login new_username --move-home --home /home/dir_old_username old_username

Вы также можете изменить имя группы, связанной с пользователем:
groupmod --new-name new_username old_username

коротко:
usermod -l new_user -m -d /home/old_user old_user
groupmod -n new_user old_user


Ввод Linux в домен (инструкция от Eset)

SAMBA
Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера
nmcli connection modify "ens192" ipv4.addresses "192.168.1.100/24 192.168.1.1"

Настройка FQDN
hostnamectl set-hostname ls01.fqdn.com

Перезагружаем службу имен
systemctl restart systemd-hostnamed

Проверить результат можно следующими командами
hostnamectl status
hostname
hostname -s
hostname -f

SELINUX
На данном этапе службу SELINUX необходимо отключить, проверить статус службы SELINUX можно командой
sestatus

Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.
reboot

SAMBA
Установка
yum install samba

Добавление службы в автоматический запуск
chkconfig smb on

Запуск службы и проверка состояния
service smb start
smbstatus

firewallD
По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой

firewall-cmd --state

Для получения списка правил и сервисов используйте
firewall-cmd --list-all
firewall-cmd --list-services

Общий ресурс с анонимным доступом
Создаем папку для ресурса /samba/guest
mkdir /samba
mkdir /samba/guest

Меняем владельца и назначаем права
chown nobody:nobody /samba/guest
chmod 777 /samba/guest

Редактируем файл конфигурации SAMBA /etc/samba/smb.conf
nano /etc/samba/smb.conf

Меняем содержание строк оригинального файла на следующее



min protocol = NT1 выставить если есть windows XP и нет win10
если есть win 10 то https://support.microsoft.com/ru-ru/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and

Проверка параметров и перезагрузка службы
testparm
service smb restart
smbstatus

запускаем SELINUX


особенности установки Oracle linux
wget -c http://mirrors.kernel.org/oracle/OL7/u6/x86_64/x86_64-boot-uek.iso
при установке указать репозиторий
yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/

список зеркал для загрузки
https://community.oracle.com/docs/DOC-917963
список реп
http://yum.oracle.com/oracle-linux-7.html

Подключение публичного Yum-репозитория для Oracle Enterprise Linux
https://stan1slav.blogspot.com/2010/08/yum-oracle-enterprise-linux.html
cd /etc/yum.repos.d
mv oracle-linux-ol7.repo oracle-linux-ol7.repo.disabled
wget http://public-yum.oracle.com/public-yum-ol7.repo
Изменить в файле описания репозитариев (public-yum-el*.repo) enabled=0 на enabled=1 для необходимых секций.

если нужно поставить MySQL
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
rpm -Uvh mysql80-community-release-el7-2.noarch.rpm

установка инструмента разработчиков MySQL Workbench
yum install mysql-workbench-community

Увеличение LVM диска
Правильное увеличение размера диска в виртуальной машине
Увеличение LVM диска в виртуальной машине на лету
https://www.gotoadm.ru/resize-disk-lvm-on-linux-centos/
lvextend и lvreduce изменяют размер логического тома. опция -r
resize2fs работает с файловыми системами ext2/3/4 и должен использоваться после того, как один из них выпустил lvextend
команда resize2fs ПОСЛЕ расширения или ПРЕЖДЕ ЧЕМ уменьшить логические экстенты, назначенные данному логическому тому
df -h
parted /dev/sda
print
resizepart 2
resizepart 3
quit
pvs
lvscan
lvdisplay
vgs
pvresize /dev/sda3
lvextend /dev/test-srv-vg/root -l +100%FREE

pvdisplay -Cv
vgscan
vgchange -ay
resize2fs /dev/test-srv-vg/root

fsck -f /dev/mapper/test--srv--vg-root (если не смонтирована)
fdisk -l /dev/sda


Ставит LEMP



https://www.hostinger.com/tutorials/how-to-install-lemp-centos7
https://www.cloudjojo.com/how-to-install-nginx-mariadb-php-lemp-on-centos-7/
https://serveradmin.ru/ustanovka-i-nastroyka-nginx-php-fpm-php7-1-na-centos-7/

1) установка nginx
yum install epel-release -y
yum install nginx -y
systemctl start nginx
systemctl enable nginx

2) установка MySQL (MariaDB)
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
MariaDB запросит пароль root, так как это первоначальная установка, и у вас его нет, поэтому просто нажмите enter. Следующее приглашение спросит, хотите ли вы установить пароль root, введите Y и следуйте инструкциям

3) установка PHP v7.3
yum repolist
yum install yum-utils
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
curl -O http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
yum --enablerepo=remi,remi-php73 install php-fpm php-common



обновить php
yum-config-manager --disable remi-php73
yum-config-manager --enable remi-php74
yum update -y

4) настройка связки nginx + php
/etc/nginx/conf.d - каталог для запуска конфигураций, сюда добавляем символические ссылки
например: ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
/etc/nginx/virt_host - папка для хранения файлов конфигураций хостов (можно обозвать по другому)

в дебиановых
sites-available
каталог для хранения файлов хостов
sites-enabled
каталог, предоставляющий Nginx список хостов, которые нужно обслуживать

Добавление виртуальных хостов на nginx (очень доступно)
https://shneider-host.ru/blog/dobavlenie-virtualnyh-hostov-na-nginx.html
https://www.8host.com/blog/nastrojka-virtualnyx-xostov-nginx-v-centos-7/
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-on-centos-7
NGINX - создание виртуальных хостов
Один конфиг Nginx для работы с кучей разных сайтов
Динамические виртуальные хосты (dynamic vhost) в nginx
Настройка NGINX для поддержки одного и нескольких сайтов WordPress
Несколько сайтов на nginx, один IP-адрес


mkdir /etc/nginx/virt_host
nano /etc/nginx/virt_host/default_php.conf



netstat -tulpn | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste

nano /etc/php-fpm.d/www.conf
Найдите и измените эти строки:

user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

5) проверяем
ln -s /etc/nginx/virt_host/default_php.conf /etc/nginx/conf.d/
nginx -t
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl restart php-fpm nginx

https://nginxconfig.io/
https://www.nginx.com/resources/wiki/start/
https://docs.joomla.org/Nginx
https://www.nginx.com/resources/wiki/start/topics/recipes/yii/
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/
https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/
https://wordpress.org/support/article/create-a-network/
Настройка nginx для работы с сертификатами ГОСТ 2012 года


NGINX Unit
http://unit.nginx.org/
https://github.com/nginx/unit
http://hg.nginx.org/unit
https://hub.docker.com/r/nginx/unit/
https://github.com/miholeus/nginx-unit-python

Remi's RPM repository PHP with the NGINX unit application server

1. Official repository installation


2. Remi repository installation


3. Server and modules installation


4. Test configuration
4.1 Preparation
curl -O https://blog.remirepo.net/public/unit.config


4.2 Run the service:
# systemctl start unit

4.3 Configuration
Configuration is managed through a REST API:

# curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config

And to check running configuration:
# curl --unix-socket /var/run/unit/control.sock http://localhost/config

5 Usage
You can access the application on each new port:

http://localhost:8300/ for default PHP
http://localhost:8356/ for PHP version 5.6
http://localhost:8372/ for PHP version 7.2
etc


https://unit.nginx.org/configuration/
Nginx Unit Веб. Мысли вслух
Установка NGINX + PHP7 последних версий
Nginx Unit + Django + Virtualenv - Конфигурация
Установка WordPress с модулем NGINX
Installing WordPress with NGINX Unit - NGINX
HOW TO INSTALL NGINX UNIT ON LINUX
NGINX Unit – Application Server from Nginx
Nginx Unit + Bitrix настройка
Настройка NGINX Unit под PHP


Разные CMS

Настройка брадмаузера


Установка dokuwiki


https://computingforgeeks.com/install-dokuwiki-behind-nginx-and-letsencrypt-on-linux/
https://www.dokuwiki.org/install:centos

https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
export ARCHIVE="dokuwiki-stable"
tar xvf ${ARCHIVE}.tgz
sudo mkdir -p /var/www/html/
export RELEASE="2018-04-22a"
sudo mv dokuwiki-${RELEASE} /var/www/html/dokuwiki
sudo chown -R nginx:nginx /var/www/html/dokuwiki/
chmod -R 755 /var/www/html/dokuwiki/

nano /etc/nginx/virt_host/dokuwiki.conf



ln -s /etc/nginx/virt_host/dokuwiki.conf /etc/nginx/conf.d/
проверим
nginx -t
sudo systemctl restart php-fpm nginx

ошибки при установке и настройке dokuwiki
вся ценная информация находится в папке dokuwiki/data/pages бекапировать нужно её

за авторизацию отвечают
/dokuwiki/conf/
acl.auth.php
local.php
users.auth.php

если при доменной аудентификации пишет No ACL setup yet! Denying access to everyone.
то в файле local.php добавить вывод ошибок
$conf['plugin']['authad']['debug'] = 1;

скорее всего не установлен php-ldap
yum install php-ldap
systemctl restart php-fpm nginx

сброс авторизации можно сделать при помощи файла install.php


Возня с SELinux


Включение и Отключение SELinux

Системы защиты Linux, подробно о SELinux

sestatus
setenforce 0 # выключить selinux
setenforce 1 # включить selinux
nano /etc/selinux/config
SELINUX=permissive

Если не обнаружено сообщений о запретах в /var/log/messages, то
SELINUX=enforcing

возня с MySQL
Как cбросить пароль пользователя root в MySQL
https://andreyex.ru/operacionnaya-sistema-linux/nastrojka-linux/kak-cbrosit-parol-polzovatelya-root-v-mysql/

1.Войдите как root через SSH и остановитt сервер MySQL.

debian-ubuntu# /etc/init.d/mysql stop
centos-fedora# /etc/init.d/mysqld stop

2. Запустите сервер MySQL с опцией “skip-grant-tables”.

# mysqld_safe --skip-grant-tables &

Это отключит проверку подлинности MySQL и запустить процесс в фоновом режиме.

3. Войдите в MySQL как root.

# mysql -u root mysql

4. Сбросьте пароль MySQL.

UPDATE user SET Password=PASSWORD('NEW_YOUR_PASSWORD') WHERE User='root';
FLUSH PRIVILEGES;
exit;

Заменить "new_your_password" новым паролем!

5. После того, как пароль будет сброшен, запустите сервер MySQL в нормальном режиме.

debian-ubuntu# /etc/init.d/mysql restart
centos-fedora# /etc/init.d/mysqld restart

Теперь вы можете подключиться к MySQL как пользователь root, используя новый пароль.

Введите "mysql -u root -p" в терминале, и введите пароль при появлении соответствующего запроса.

Импорт и экспорт базы данных MySQL
Экспорт БД
Чтобы экспортировать базу данных, откройте терминал, убедитесь, что вы не вошли в MySQL

mysqldump -u [username] -p [database name] > [database name].sql

База данных, которая выбрана в команде теперь будет экспортированы.

Импорт БД
Чтобы импортировать базу данных, необходимо сначала создать новую пустую базу данных в оболочке
MySQL, чтобы служить в качестве места для ваших данных.

CREATE DATABASE newdatabase;

Затем выйдите из оболочки MySQL и введите следующую команду в командной строке:
mysql -u [username] -p newdatabase < [database name].sql

При этом выбранная база данных будет импортирована в целевую базу данных в MySQL.

Перестал реплицироваться сервер MySQL


возня с nginx
ps auZ | grep nginx
grep nginx /var/log/audit/audit.log | audit2allow -M nginx
getsebool -a | grep -i http
semanage fcontext -l | grep nginx

chcon -R -t httpd_sys_content_t /web/ # временно разрешить запись в web

https://p0vidl0.info/nginx-i-selinux-pri-obnovlenii-do-rhel-6-6-centos-6-6.html
Добавление контекста httpd_t в список permissive:
# semanage permissive -a httpd_t

Удаление контекста httpd_t из списка permissive:
# semanage permissive -d httpd_t

semanage fcontext -a -t httpd_sys_content_t /www(/.*)?
semanage fcontext --add --type httpd_sys_content_t '/var/www/dokuwiki(/.*)?'

cat /etc/selinux/targeted/contexts/files/


самое простое решение
sudo yum install policycoreutils-python
sudo semanage permissive -a httpd_t

разные мелочи
Adminer аналог phpMyAdmin в одном файле
https://www.adminer.org/

https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io



Перенос из KVM в VMware


подошло:
qemu-img convert -f qcow2 centos7-docuwiki.qcow2 -O vmdk centos7-docuwiki.vmdk
qemu-img convert -f raw -O vmdk centos7-docuwiki.raw centos7-docuwiki.vmdk

испробованные варианты
qemu-img convert -f qcow2 myImage.qcow2 -O vmdk myNewImage.vmdk
esxcli system module load -m multiextent
vmkfstools -i myImage.vmdk outputName.vmdk -d thin

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 SC-1.qcow2 SC-1.vmdk
esxcli system module load -m multiextent
vmkfstools -i myImage.vmdk outputName.vmdk -d thin

не взлетело:
https://client.cloud4y.ru/index.php/knowledgebase/57/-KVM-Xen---VMware---QEMU.html
qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 centos7-docuwiki.qcow2 centos7-docuwiki.vmdk

esxcli system module load -m multiextent
vmkfstools -i centos7-wiki.vmdk centos7_wiki.vmdk -d thin


dokuwiki



https://www.dokuwiki.org/ru:dokuwiki
https://www.dokuwiki.org/ru:install
https://www.dokuwiki.org/install:fedora
https://www.dokuwiki.org/install:nginx

все страницы по умолчанию сохраняются в папке /var/www/html/dokuwiki/data/pages/ при обновлении или восстановлении, после установки нужно заменить эту папку, а также файлы аудентификации, находящиеся тут: /var/www/html/dokuwiki/conf/ acl.auth.php local.php и users.auth.php
а потом заново установить плагины

установка плагинов в dokuwiki
https://www.dokuwiki.org/plugin:addnewpage
https://www.dokuwiki.org/plugin:bookcreator
https://www.dokuwiki.org/plugin:dw2pdf
https://www.dokuwiki.org/plugin:odt
https://www.dokuwiki.org/tips:pdfexport


Install Composer on CentOS 7
# sudo yum -y update
# sudo yum install git zip unzip
# cd /tmp
# sudo curl -sS https://getcomposer.org/installer | php
или
# php -r "readfile('https://getcomposer.org/installer');" | php
# mv composer.phar /usr/local/bin/composer
$ php /usr/local/bin/composer --version

https://github.com/mpdf/mpdf/
composer require mpdf/mpdf

проверить php
php -i | grep php.ini
php -i | grep "Configuration File"

HTML в PDF
Генерируем PDF-файлы в веб-проекте: программа wkhtmltopdf


PS.
после установки dokuwiki удалить файл install.php
(или перенести, он пригодится если слетела авторизация)


Установка xrdp на CentOS 7
установка XRDP, VNC и SSH на Ubuntu и Debian.
разница между DE и WM, а также работа в голых иксах

бекап
lftp - Синхронизация папок по ftp
Как добавить задание в планировщик cron в Linux/UNIX

15 2 * * * /home/пользователь/backup.sh 2>&1 >/dev/null


изменение времени файлов, удаление истории посещения и команд в linux
сброс пароля
https://disnetern.ru/password-reset-root-centos-red-hat/
Если Вы забыли root пароль на линуксе CentOS Вам нужно провести данные манипуляции:

1) При загрузке останавливаем загрузчик на GRUB нажатием любой кнопки.
2) Выбираем нужную строчку и нажимаем e.
3) Выбираем строчку с kernel (kernel /vmlinuz /…версия ядра…/ root=LABEL=/)
4) Дописываем в конец строки single и нажимаем Enter
5) Нажимаем b для загрузки системы
6) После загрузки меняем пароль (passwd)
Данная методика работает почти на всех ОС линукс.

аварии, ошибки
Восстанавливаем свалившийся в busybox из-за ошибки initramfs Linux
Монтирование LVM томов (CentOS)
Перестал реплицироваться сервер MySQL

не видит сетевую карту
yum install pciutils
lspci -k -nn | grep -i 'ethernet'
lspci | grep Eth видит, а ip a - нет
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum install kmod-e100
reboot

ошибки работы с yum
yum update — multilib Как решить проблему Error: Protected multilib versions
Процесс обновления на aws (sudo yum update) завис из-за нехватки памяти, после этого попытки sudo yum update приводили к сообщению
Помогло:

yum upgrade --setopt=protected_multilib=false --skip-broken

https://www.centos.org/forums/viewtopic.php?t=67121
yum --enablerepo=extras install epel-release
yum install keychecker
keychecker

package-cleanup --dupes Отобразить список дублирующих пакетов
package-cleanup –cleandupes удаление дублирующих пакетов более старой версии

ошибки при обновлении
Пробуем другое зеркало.
http://centos-mirror.rbc.ru/pub/centos/7.5.1804/updates/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
error: Failed dependencies:
	epel-release = 7 is needed by remi-release-7.6-2.el7.remi.noarch

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh remi-release-7.rpm


yum clean all
Это очистит все тайники yum, включая кэшированные зеркала ваших репозиториев yum. На следующем запуске появится новый список зеркал.


дополнительно
Веб-сервер на основе Nginx и PHP-FPM
Оптимальная настройка Nginx
Виртуальные хосты в Apache и Nginx

Установка стека LEMP в Ubuntu 18.04
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
Настройка сервера Linux Nginx, PHP 7, MySQL (LEMP) с поддержкой сертификата Let’s Encrypt в Ubuntu Linux 18.04 Bionic
https://www.digitalocean.com/community/tutorials/nginx-ubuntu-18-04-ru

Настройте Perl-FastCGI на сервере CentOS 7 Nginx

Webmin



sudo rpm --import http://www.webmin.com/jcameron-key.asc
sudo yum install webmin
sudo chkconfig webmin on


Drupal
https://help.ubuntu.ru/wiki/drupal
Перед началом использования создайте для Drupal базу данных с помощью клиента mysql:
mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;"
Также желательно завести отдельного пользователя MySQL, который будет иметь доступ только к созданной базе:
mysql -u root -p
вводим там запросы:





MySQL: Полный список часто используемых и полезных команд
посмотреть всех пользователей
SELECT User, Host FROM mysql.user;
SELECT User, Host, Password, password_expired FROM mysql.user;
увидеть разрешения для пользователя
SHOW GRANTS FOR 'test'@'localhost'
отзыв всех разрешений
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'test'@'localhost'
удалить пользователя test
drop user 'test'@'localhost'
SHOW DATABASES;
удалить базу
DROP DATABASE имя_базы_даных;

«Could not load MODX config file»
/setup/index.php


chown -R www-data:www-data /var/www/

ошибки
Как установить Lighttpd на CentOS 7
systemctl status lighttpd

Loaded: loaded (/usr/lib/systemd/system/lighttpd.service; disabled; vendor preset: disabled)

откройте файл конфигурации /etc/lighttpd/lighttpd.conf и измените строку server.use-ipv6 с «enable» на disable.
systemctl restart lighttpd



Как установить WordPress на Ubuntu с LEMP (Linux, Nginx, MySQL, PHP)
https://websiteforstudents.com/install-typo3-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php/
https://docs.joomla.org/Nginx

Расшариваем веб-сайт на localhost в глобальную сеть интернет.
centos docker yii



установка dokuwiki centos php nginx часть 1

посмотреть часть 2

Настройка брадмаузера



https://www.certdepot.net/rhel7-get-started-firewalld/
https://www.8host.com/blog/nastrojka-brandmauera-firewalld-v-centos-7/
https://itproffi.ru/firewalld-ustanovka-i-nastrojka-zony-nat-probros-portov/
Настройка firewalld CentOS 7 с примерами команд
Использование ipset во встроенном брандмауэре CentOS 7

краткий рабочий пример
vpn pptp centos7
установка sams2 centos

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --list-all
firewall-cmd --get-zones
firewall-cmd --get-services

firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services

firewall-cmd --zone=external --list-ports
firewall-cmd --zone=external --list-services

firewall-cmd --zone=external --change-interface=enp3s0 --permanent
firewall-cmd --zone=external --remove-service=ssh --permanent
firewall-cmd --get-active-zones

firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent

firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-port=3128/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=external --list-services
firewall-cmd --list-all
systemctl restart firewalld
sudo systemctl enable firewalld

http://fliplinux.com/ip-cen.html
«белый список»
firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32


firewall-cmd --permanent --new-ipset=IP-users --type=hash:net
firewall-cmd --ipset=IP-servers --add-entry=192.168.0.0/24 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.12 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.200 --permanent

firewall-cmd --ipset=IP-servers --remove-entry=192.168.20.0/24 --permanent

firewall-cmd --ipset=IP-servers --get-entries
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset="IP-servers" service name="ssh" accept'

firewall-cmd --remove-rich-rule='rule source ipset=IP-users service name="http" drop' --permanent

firewall-cmd --permanent --zone=public --list-rich-rules

чтобы все пользователи (список ipset IP-users) ходили через squid несмотря на net.ipv4.ip_forward=1
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -m set --match-set IP-servers src -j ACCEPT

firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j DROP

открыть Google Play
firewall-cmd --zone=public --add-port=5228/tcp --permanent
firewall-cmd --zone=external --add-port=5228/tcp --permanent

firewall-cmd --reload
systemctl restart firewalld

iptables -S

углубиться в firewall-cmd
http://notes-unix.blogspot.com/2015/06/firewalld.html
Использование firewall-cmd:
... получение списка всех поддерживаемых зон:
# firewall-cmd --get-zones
... получение активных зон
# firewall-cmd --get-active-zones
... задание зоны по умолчанию
# firewall-cmd --set-default-zone=
... добавление интерфейса в зону
# firewall-cmd [--zone=] --add-interface=
... удаление интерфейса из зоны
# firewall-cmd [--zone=] --remove-interface=
... сделать запрос, относится ли интерфейс к зоне
# firewall-cmd [--zone=] --query-interface=
... включение "режима паники", блокирующего весь сетевой трафик
# firewall-cmd --enable-panic
... Отключение "режима паники"
# firewall-cmd --disable-panic

Включение службы/маскарадинга/блока на постоянно:

Эти опции доступны только после перезагрузки или перезапуска. Для того чтобы иметь опции, изменяемые в среде выполнения, и постоянные опции, необходимо обеспечить оба варианта.
Опция --permanent должна быть первой для всех постоянных вызовов
... Пример: включение службы http в зоне public на постоянно
# firewall-cmd --permanent --zone=public --add-service=http
... Пример: Включение порта 443/TCP для https в пределах зоны home на постоянно:
# firewall-cmd --permanent --zone=home --add-port=443/tcp

Включение/Отключение службы в пределах зоны:
... получение списка всех поддерживаемых служб
# firewall-cmd --get-services
... включение службы в пределах зоны
# firewall-cmd [--zone=] --add-service=
... отключение службы для зоны
# firewall-cmd [--zone=] --remove-service=
... сделать запрос, включена ли служба в пределах зоны
# firewall-cmd [--zone=] --query-service=
... включение службы в пределах зоны на постоянно
# firewall-cmd --permanent [--zone=] --add-service=
Включение/Отключения маскарадинга:
... включение маскарадинга в пределах зоны
# firewall-cmd [--zone=] --add-masquerade
... отключение маскарадинга для зоны
# firewall-cmd [--zone=] --remove-masquerade
Включение/Отключения блока ICMP:
... включение блока ICMP в пределах зоны:
# firewall-cmd [--zone=] --add-icmp-block=
... отключение блока ICMP для зоны:
# firewall-cmd [--zone=] --remove-icmp-block=
Включение/Отключение перенаправления или переназначения портов:
... включение перенаправления или переназначения портов в пределах зоны
# firewall-cmd [--zone=] --add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=
| :toport=[-]:toaddr=
}
... отключение перенаправления или переназначения портов для зоны
# firewall-cmd [--zone=] --remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=
| :toport=[-]:toaddr=
}

... Пример: Перенаправление ssh на узел 127.0.0.2 в пределах зоны home:
# firewall-cmd --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
Запуск/Останов/Перезапуск службы firewalld:
# systemctl stop/start/restart firewalld.service
Если хотите использовать собственные правила статического брандмауэра совместно со службами iptables и ip6tables, установите iptables-services, отключите FirewallD, а также включите iptables и ip6tables:
# yum install iptables-services
# systemctl mask firewalld.service
# systemctl enable iptables.service
# systemctl enable ip6tables.service
Для задействования своих правил статического межсетевого экрана используйте /etc/sysconfig/iptables и /etc/sysconfig/ip6tables.

проверить какие порты открыты:
netstat -nlp
netstat -anp | grep 8080
nmap -sT -O localhost
lsof -i | grep 8080

iptables -L -v -n
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

сохранить:
/usr/libexec/iptables/iptables.init save

Стандартные зоны FirewallD:

Drop - неизменяемая зона
Все входящие сетевые пакеты сбрасываются, ответ на них недопустим. Возможны только исходящие сетевые соединения.
Block - неизменяемая зона
Все входящие сетевые соединения отклоняются с сообщениями icmp-host-prohibited (для IPv4) и
icmp6-adm-prohibited (для IPv6). Возможны только инициированные в рамках данной системы сетевые соединения.
Trusted - неизменяемая зона
Разрешены все сетевые соединения.
Public
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети считаются ненадёжными.
Предназначено для использования в общественных местах.
External
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети считаются ненадёжными. Предназначено для использования во "внешних" сетях с активированным режимом маскарадинга, особенно с применением роутеров.
DMZ
Разрешены лишь отдельные входящие соединения.Предназначено для компьютеров в личной "безоружной" зоне с ограниченным общественным доступом к внутренней сети.
Work
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети, по большей части, считаются надёжными.
Предназначено для использования в рабочем пространстве.
Home
Разрешены лишь отдельные входящие соединения. Остальные компьютеры сети, по большей части, считаются надёжными. Предназначено для использования в домашних сетях.
Internal
Предназначено для использования во "внутренних" сетях. Остальные компьютеры сети, по большей части, считаются надёжными. Разрешены лишь отдельные входящие соединения.


http://linux-notes.org/udalit-iptables-pravilo/

iptables -L your_chain_name -n -v
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -D INPUT номер_строки

очистить все правила iptables
iptables -F
iptables -X


# iptables -L INPUT --line-numbers
# iptables -L INPUT -n --line-numbers | less
# iptables -L INPUT -n --line-numbers | grep 172.16.0.101

посмотреть правила
iptables -S

проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80


прочесть pdf в консоли можно с помощью fbpdf, fbgs и fbida
но удобней - jfbview

jfbview /home/user/Библиотека/книга.pdf -p 285

открыть книгу на 285 стр.

247g - перейти на 247 страницу
+ увеличить
- уменьшить
q - выйти

Read more... )
http://seasonofcode.com/pages/jfbview.html
https://github.com/jichu4n/JFBView
http://seasonofcode.com/assets/files/jfbview.html




LaTeX на форуме
http://physics.nad.ru/matboard/themes/23123.html
Многие наверняка знают, что писать математические формулы в тегах HTML не
очень удобно, а для некоторых сложных формул это сделать просто невозможно. С
другой стороны
LaTeX
даёт возможность набора красивых математических формул. Но как
совместить код LaTeX с HTML? Для этого нужно преобразовать формулу в графическое
изображение и вставлять формулу в страничку сайта или в сообщение форума уже в
виде рисунка с прозрачным фоном. Для этого существуют специальные конверторы. Один такой конвертор
активируется на нашем форуме, если формулу в формате LaTeX заключить в теги
math
. Напишите формулу (например, z=x+y), выделите её курсором в окне ввода
сообщения и нажмите кнопку LaTeX на панели инструментов внизу окна ввода.
Формула окажется заключённой в требуемые теги. Далее нажимаем "Просмотр".  Пробуем:
<math>z=x+y</math> даёт результат:

Для совместимости с BBCode конвертор также активируется при заключение
формулы в теги math с квадратными скобками. Это работает даже если не
отмечать галочкой флажок BBCode вверху окна ввода текста. Пробуем:


[math]z=x+y[/math] даёт результат:

Степени и индексы
·
Дроби
·
Скобки
·
Некоторые функции
·
Корни
·
Интегралы и дифференциалы
·
Цвета
·
Неравенства
·
Штрихи и многоточия
·
Греческие буквы
·
Символы бинарных операций
·
Символы бинарных отношений
·
Стрелки
Крышки, подчеркивания и т.д.
·
Шрифты
·
Таблицы и матрицы
·
Кириллица
·
Графика
·
Примеры



Степени и индексы.


Степени и индексы набираются с помощью знаков ^ и _ соответственно. Если
показатель степени или индекс являются выражением, состоящим более чем из одного
символа, то их надо заключать в фигурные скобки { и }. Например, следующие
выражения (далее теги math в коде опускаются) преобразуются в формулы:


a^2 + b^2 = c^2                     


a_2 + b_2 = c_2                      


a^{10} + b_{10} = c^{10}    


a^{b^{c}}                                


Если у одной буквы есть как верхние, так и нижние индексы, то их можно
указать в произвольном порядке:


a_{10}^{20}    


a^2_3                 


Если требуется, чтобы индексы располагались не один под другим, а на разных
расстояниях от выражения, к которому они относятся, то нужно оформить часть
индексов как индексы к "пустой" формуле (паре из открывающей и закрывающей
фигурных скобок):


R_j{}^i{}_{kl}


Дроби.


Дроби, обозначаемые косой чертой, набираются непосредственно:


x + 1/x   даёт


Дроби, в которых числитель расположен над знаменателем, набираются с помощью
команды \frac{числитель}{знаменатель}. Эта команда имеет два аргумента -
числитель и знаменатель


\frac{(a+b )^2}{4} - \frac{(a-b )^2}{4} = ab        


Скобки


Круглые и квадратные скобки набираются непосредственно. Для набора фигурных
скобок используются команды \{ \}. Например,


f\{x,y\}=(x^2+y^2)^2                  


Другие типы скобок набираются с помощью команд \lceil, \rceil, \lfloor,
\rfloor, \langle, \rangle. Например,


\lceil X \rceil, \lfloor Y \rfloor, \langle Z \rangle



Для автоматического выбора размера скобок используются команды \left и
\right, помещаемые перед открывающей и перед закрывающей скобками
соответственно. Сравните:


(x + \frac{1}{x})^2                  


\left( x + \frac{1}{x} \right)^2  



Некоторые функции


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


\arg, \cos, \cosh, \cot, \coth, \csc,

\det, \dim, \exp, \gcd, \hom, \inf,

\ker, \lg, \ln, \log, \max, \min,

\sec, \sin, \sinh, \sup, \tan, \tanh,

\arccos, \arcsin, \arctan


Например,


В некоторых функциях, таких как требуется указывать дополнительную
информацию. В таком случае она оформляется как нижний индекс:


\log_{2}              


\min_{i \in [a, b]}  


Корни


Корни набираются с помощью команды \sqrt[n]{выражение}, обязательным
аргументом которой является подкоренное выражение. Кроме обязательного аргумента
можно указать необязательный аргумент, заключаемый в квадратные скобки, который
является показателем корня.


\sqrt{x+1}      


\sqrt[3]{x+1}  




Интегралы и дифференциалы


В этом разделе собраны символы, наиболее часто используемые в
дифференциальном и интегральном исчислении.


\int интеграл

\iint двойной интеграл

\iiint тройной интеграл

\oint круговой интеграл

\partial частная производная

\infty бесконечность

\lim предел

\to стрелка (в пределах)




Примеры использования.


\int_{0}^{3} f(x) dx                                                  


\iint_{x^2 + y^2 = 1} f(x, y) dx dy                      
 


\iiint_{x^2 + y^2 + z^2 = 1} f(x, y, z) dx dy dz


Для двойных и тройных интегралов нужно использовать приведенные выше
обозначения. Если использовать простые интегралы, то формула получится
некрасивой, сравните:


\int \int_{x^2 + y^2 = 1} f(x, y) dx dy                                                 


dz = \frac{\partial z}{\partial x} dx + \frac{\partial
z}{\partial y} dy
      


\lim_{x \to \infty} \left(1 + \frac{1}{n} \right)^n =
e
                              


Цвета


\red \green \blue \white \yellow \cyan \magenta \black


\red \frac{(a+b )^2}{4} - \frac{(a-b )^2}{4} = ab                


Неравенства


Строгие неравенства набираются непосредственно: a < b, a > b

Для нестрогих неравенств используются команды \leq
и \geq:


,


Вместо команд \leq и \geq
можно использовать команды \le и
\ge.


Штрихи и многоточия


Штрихи обозначаются с помощью знака '


Различают многоточия по центру строки (команда \cdots)
и по низу строки (команда \ldots):


a_1 + a_2 + \cdots + a_n              


a_1 + a_2 + \ldots + a_n               


Греческие буквы


Имя команды, задающей греческую букву совпадает с английским названием этой
буквы. Исключение составляет буква "o" (омикрон), она совпадает с латинской
буквой "o", поэтому специальной команды для нее не предусмотрено. Кроме того,
некоторые греческие буквы имеют по два варианта написания, что также отражено в
таблице.





Большинство прописных греческих букв совпадает по начертанию с латинскими
буквами, поэтому специальных команд для них не предусмотрено - надо просто
использовать соответствующую латинскую букву. Приведем перечень прописных
греческих букв, не совпадающих с латинскими:


\Gamma, \Delta, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon,
\Phi, \Psi, \Omega





Символы бинарных операций


При выводе символов бинарных операций (наподобие знаков сложения, вычитания и
т.д.) оставляются небольшие пробелы по обе стороны от знака. Вот список символов
бинарных операций:





Символы бинарных отношений


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





Стрелки


В LaTeX существует достаточно много различных стрелок. Большинство из них
собрано в следующей таблице:





Крышки, подчеркивания и т.д.


Команды для создания крышек, подчеркиваний и других подобных знаков имеют вид
\<имя>{выражение}, где <имя> - имя команды. Вот они:


\hat{A} \check{A} \breve{A} \acute{A} \grave{A}

\tilde{A} \bar{A} \vec{A} \dot{A} \ddot{A}





Можно использовать также следующие команды:


\widetilde{ABC} \widehat{ABC} \overline{ABC}

\overbrace{ABC} \underbrace{ABC} \underline{ABC}






Также:

\hat{ABC} \widehat{ABC}

\tilde{ABC} \widetilde{ABC}






Шрифты


Для смены шрифтов используются команды вида \<имя шрифта>, приведенные в
следующей таблице:

\mathrm - прямой,

\mathbf - полужирный

\mathsf - рубленый

\mathtt - имитация пишущей машинки

\mathcal - рукописный

\mathit - курсив

\mathfrak - готический

\mathbb - для обозначения множеств


Все эти команды действуют на один следующий за ними символ. Если нужно
изменить шрифт группы символов, то группу надо заключить в фигурные скобки.
Кроме того, некоторые шрифты действуют только на прописные буквы:


\mathrm{xyzXYZ} \mathbf{xyzXYZ} \mathsf{xyzXYZ}
\mathtt{xyzXYZ}

\mathcal{xyzXYZ} \mathit{xyzXYZ} \mathfrak{xyzXYZ} \mathbb{xyzXYZ}





Имеется восемь размеров шрифта, пронумерованных от 0 до 7 (по умолчанию - 3).

Эти размеры соответствуют следующим директивам LaTeX:

0 - \tiny - \fs0

1 - \small - \fs1

2 - \normalsize - \fs2

3 - \large - \fs3
(по умолчанию)

4 - \Large - \fs4

5 - \LARGE - \fs5

6 - \huge - \fs6

7 - \Huge \fs7


Все эти команды изменяют размер шрифт от места появления команды и до конца
формулы (или до следующей команды смены размера шрифта). Если нужно изменить
размер только части формулы, то нужно писать так:


abcdefg -{\huge abcdefg}- abcdefg



Относительный размер шрифта (например увеличение на 2):

abcdefg -{\fs{+2} abcdefg}- abcdefg



Пример применения команд:



{\tiny ABCDEFG abcdefg} \\

{\small ABCDEFG abcdefg} \\

{\normalsize ABCDEFG abcdefg} \\

{\large ABCDEFG abcdefg} \\

{\Large ABCDEFG abcdefg} \\

{\LARGE ABCDEFG abcdefg} \\

{\huge ABCDEFG abcdefg} \\

{\Huge ABCDEFG abcdefg} \\






Пример уменьшения шрифта в формуле:

m_{\fs{-2}{H_2O}}=V\rho_{\fs{-2}{H_2O}}       


или y=e^{x^2}                                                             


та же формула с директивами размера

\Large y=e^{\fs{-1}x^{\tiny2}}                         



Таблицы и матрицы


Для набора таблиц используются команды \begin{array}{xx...x} и \end{array}.
Первая команда открывает таблицы, а вторая - закрывает ее. Аргумент команды
\begin{array} описывает сколько и каких столбцов будет в таблице. В аргументе
можно использовать следующие символы:

l - столбец выровнен по левому краю,

c - столбец выровнен по центру,

r - столбец выровнен по правому краю.

Для того, чтобы столбцы были разделены вертикальной чертой, в аргументе команды
\begin{array} эти столбцы нужно разделить символом |. Для разделения строк
используется команда \hline. Применение этих команд для создания таблиц должно
быть понятно из следующего примера:




\begin{array}{|lcr.l|c|r|}

\hline \\

 1 &  2 &  3 &  4 &  5 &  6 \\

 7 &  8 &  9 & 10 & 11 & 12 \\

\hdash \\

13 & 14 & 15 & 16 & 17 & 18 \\

\hline

\end{array}



Или вот таблица календаря:




\begin{array}{|c|ccccc|}

\hline \\

Mon &   &  7 & 14 & 21 & 28 \\

Tue & 1 &  8 & 15 & 22 & 29 \\

Wed & 2 &  9 & 16 & 23 & 30 \\

Thu & 3 & 10 & 17 & 24 & 31 \\

Fri & 4 & 11 & 18 & 25 &    \\

\hline \\

Sat & 5 & 12 & 19 & 26 &    \\

Sun & 6 & 13 & 20 & 27 &    \\

\hline

\end{array}




Cимволы & разделяют столбцы таблицы, а \\ означает конец строки.


А вот встроенная функция, выводящая календарь на 1-ый месяц 2008 года




\calendar[2008,1]
- текущий месяц с выделенным сегодняшним числом

Или с тем же результатом
просто \calendar






 


Команды \begin{array}{xx...x} и \end{array} можно использовать и для набора
матриц: нужно только заключить таблицу в скобки командами \left( и \right).
Однако, для этого существуют более удобные команды:

\begin{pmatrix} и \end{pmatrix},

\begin{bmatrix} и \end{bmatrix},

\begin{vmatrix} и \end{vmatrix},

\begin{Vmatrix} и \end{Vmatrix}.


Приведем пример их использования:


\begin{pmatrix} 1 & 2 \\ 3 &
4 \end{pmatrix},

\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix},

\begin{vmatrix} 1 & 2 \\ 3 & 4 \end{vmatrix},

\begin{Vmatrix} 1 & 2 \\ 3 & 4 \end{Vmatrix},




Пример матрицы с точками:


A = \begin{pmatrix}

a_{11} & a_{12} & \cdots & a_{1n} \\

a_{21} & a_{22} & \cdots & a_{2n} \\        


\vdots & \vdots & \ddots & \vdots \\

a_{n1} & a_{n2} & \cdots & a_{nn}

\end{pmatrix}





Система уравнений:



\left\{

\begin{eqnarray}

x + y + z & = & 3  \\

2y        & = & x+z\\

2x + y    & = &   z

\end{eqnarray}





Кириллица


Решается добавлением директивы \cyr и написание букв транслитом: \cyr Na dvore trava, na trave drova




M_{\cyr maslo}=\frac{\rho_{\cyr maslo}}{\rho_{\cyr kerosin}}M_{\cyr kerosin}




Графика


{\cyr GRAFIKA}-\circle(20)-{\mathtt
LaTeX} \\

\line (200,0) \\

\\

\unitlength{2.0}             
%%масштаб%%

\picture(100) {

    (50,50){\circle(100)}     %%окружность%%

    (50,50){\circle(20,80)}   %%эллипс%% 

    (50,50){\circle(50,50;12)}%%арка в формате 1234%%

    (50,50){\circle(70,70;45,225)}%%арка в градусах%%  


    (50,50){\line(50,50)}     %%линия%%

    (0,100){\line(100,-100)}  %%линия%%

    (48,48){\bullet}         
%%точка%%

    (25,10){\(\frac12\)^2}    %%формула%%

    ( 0, 0){\bezier(10,90)(150,80)} %%кривая%%

}




Примеры


<math>f(x)=\int_{-\infty}^x e^{-t^2}dt</math>



<math>x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>



<math>\sum_{n=0}^\infty\frac{x^n}{n!}</math>



<math>f^\prime(x)\ =\lim_{\Delta x\to0}\frac{f(x+\Delta x)-f(x)}{\Delta x}</math>



<math>e^x=\lim_{n\to\infty} \left(1+\frac~xn\right)^n</math>



<math>A\ =\ \large\left(\begin{array}{c.cccc}&1&2&\cdots&n\\\hdash1&a_{11}&a_{12}&\cdots&a_{1n}\\2&a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\vdots&\ddots&\vdots\\n&a_{n1}&a_{n2}&\cdots&a_{nn}\end{array}\right)</math>



Архив обсуждения на форуме:
http://physics.nad.ru/matboard/themes/23123.html

вставить формулы в ЖЖ
Простой способ писать хитрые формулы в ЖЖ
Как Wolfram|Alpha помогает вставлять математические формулы в Blogger

редактор уравнений ЛаТеХ
http://ru.numberempire.com/texequationeditor/equationeditor.php
http://tex.s2cms.ru/
https://www.wolframalpha.com/
https://www.latex4technics.com/
http://www.texample.net/tikz/examples/
http://mathurl.com/
https://www.codecogs.com/latex/eqneditor.php
http://www.astronet.ru/db/latex2gif/
https://ru.numberempire.com/latexequationeditor.php
http://www.forkosh.com/mimetextutorial.html
https://www.papeeria.com

софтины и прочее

https://www.latex-project.org/get/
https://www.ctan.org/
https://www.tug.org/texlive/
https://repology.org/project/texlive/versions
https://miktex.org/

https://code.google.com/archive/p/typo-tex-html/

http://www.tug.org/texworks/
https://github.com/TeXworks/texworks
https://launchpad.net/~texworks/+archive/ubuntu/stable
https://www.texstudio.org/
https://www.lyx.org/
http://www.bakoma-tex.com/menu/about.php
http://jwork.org/rtextdoc/download/

https://sourceforge.net/projects/texpen/
https://sourceforge.net/projects/visualasciimath/
https://sourceforge.net/projects/winefish.berlios/
https://sebbrudzinski.github.io/Open-LaTeX-Studio/index.html
https://github.com/sebbrudzinski/Open-LaTeX-Studio
https://github.com/alexandervdm/gummi

https://jwork.org/dmelt/install/current/

Осваиваем LaTeX за 30 минут
https://unixhow.com/1842/luchshij-redaktor-latex-dlya-linux
Набор и вёрстка в системеLATEX
разное
http://physics.nad.ru/latex.html
http://www.tex.uniyar.ac.ru/doc.html
http://www.sbras.ru/win/docs/TeX/LaTex2e/docs_koi.html
http://xtalk.msk.su/tex/
http://andreyolegovich.ru/PC/LaTeX.php
http://mydebianblog.blogspot.ru/2009/01/latex-math-in-latex.html
http://mydebianblog.blogspot.ru/search/label/ЛаТеХ
http://proft.me/2013/05/6/latex-professionalnaya-kompyuternaya-tipografiya/
http://wiki.linuxformat.ru/wiki/LXF85:LaTeX
https://sites.google.com/site/csltex/
http://www.orthlib.ru/hip/hiptex.html
ftp://94.244.139.11/lit/1.%20Manuals/tex/cslinstall.html
http://ru.numberempire.com/texequationeditor/equationeditor.php
http://sredalinux.blogspot.co.uk/2015/04/lyx.html
Обзор on-line сервисов для преобразования формул Latex в картинки
В Google Docs появился редактор формул
Как я пишу конспекты по математике на LaTeX в Vim
Как написать пост с формулами: markdown + LaTeX
Готовим к публикации пост с формулами
Электрические схемы средствами LaTeX и TikZ
Вычисления в латехе? Да запросто!
Вёрстка визитных карточек в LaTeX
Python в Latex
Графика в LaTeX. Часть I
Графика в LaTeX. Часть II
Векторная графика в LaTeX. Пакет PGF/TikZ
LaTeX — Установка pscyr в TeXlive
CSL TeX - новая система для набора церковнославянских текстов в LaTeX-е в стандaрте HIP
https://sites.google.com/site/csltex/

http://ru-tex.livejournal.com/
http://tex.s2cms.ru/page/
https://www.ibm.com/developerworks/ru/library/latex_tutorial_03/
https://www.tug.org/texlive/doc/texlive-ru/texlive-ru.html
http://www.tug.org/texlive/
https://github.com/alexandervdm/gummi
https://github.com/aitjcize/Gummi
http://jenyay.net/Soft/Texgui
https://khan.github.io/KaTeX/
http://docs.mathjax.org/en/latest/mathjax.html
https://www.codecogs.com/
http://asciimath.org/
https://www.mathjax.org/
https://katex.org/





Создание статьи с ответами на часто задаваемые вопросы по LyX давно назрело. Известно, сколько нервов может попортить даже казалось бы небольшая проблема. Хуже того, начинающий пользователь не найдя ответов на свои вопросы может и вовсе отказаться от использования программы. Поэтому, в данной заметке я постараюсь дать ответы на наиболее популярные вопросы по LyX для начинающих пользователей.Read more... )
http://obscurityway.blogspot.ru/2013/05/lyx.html



В настоящее время в рунете практически отсутствует информация по LyX не в виде обзоров, а в виде учебников, руководств, самоучителей. Данная учебная статья посвящена работе в текстовом процессоре LyX и призвана в некоторой мере восполнить этот пробел. По задумке, выполнив небольшое задание, которое здесь разбирается вы узнаете самые главные аспекты работы в LyX.


Оглавление:


I. Установка и настройка

II. Запуск и первое знакомство

III. Создание документа в LyX

  1. Набор текста

  2. Списки

  3. Заголовки и структурирование

  4. Математика

  5. Таблицы

  6. Метки и перекрестные ссылки

  7. Содержание

  8. Вставка рисунков

  9. Сноски

  10. Список литературы

  11. Настройка документа

  12. Просмотр созданного документа

  13. Форматирование документа

  14. Готовимся к публикации

IV. Исходные файлы

V. Источники


I. Установка и настройка


1) Windows. Для работы LyX потребуется MiKTeX (дистрибутив TeX для платформы Windows). Можно пойти двумя путями: скачать LyXWinInstaller, который включает в себя MiKTeX, LyX а также полезные программы такие как Ghostscript (интерпретатор PS и PDF), Aspell (проверка орфографии), GSview (просмотрщик документов) и несколько других, или поставить MiKTeX отдельно, а потом установить LyX.

Подробнее об установке.

2) Ubuntu Linux и родственные с ним дистрибутивы. Установка пакета TeX Live (дистрибутив TeX для Unix) а также вспомогательных пакетов из репозитория выполняется командой:

sudo apt-get install texlive-full

Затем через менеджер пакетов Synaptic или через Центр приложений можно установить собственно Lyx.

sudo apt-get install lyx

Варианты установки можно прочесть здесь.

3) Об установке в MacOS и других Unix-системах можно прочесть на официальном сайте:

http://wiki.lyx.org/LyX/LyXOnLinux

http://wiki.lyx.org/Mac/Mac


II. Запуск и первое знакомство


Первое что следует сделать, в первый раз запустив LyX - открыть справочный раздел. На русском доступны следующие разделы документации:


  • Введение

  • Самоучитель


Введение следует прочесть в обязательном порядке. За одно, читая документацию LyX в самой программе, вы приобщаетесь к стилю создания документов в LyX. Что касается самоучителя, то его прочтение тоже очень рекомендуется. Но в принципе моя заметка - это сильно сжатый самоучитель, так что выбирайте что-то из этих вариантов и приступайте. Остальные разделы понадобятся вам скорей всего уже в процессе создания документов как справка по возникшим вопросам.


III. Создание документа в LyX


Для примера давайте оформим в LyX статью Википедии, посвященную ему же. Рамки данной заметки не позволят описать все возможности LyX. Поэтому мы рассмотрим основные моменты и создадим простой документ, тем ни менее в процессе познакомившись с основными принципами и достоинствами работы в LyX. Если у вас что-то не получается, скачайте готовый вариант (в самом низу статьи) и посмотрите как все сделано. К тому же документация по LyX вполне исчерпывающая и позволяет находить ответы на вопросы.








 Вот такой документ у нас получится



1. Набор текста


Вставим в созданный новый документ следующий текст:


LyX (произносится «ликс») — свободный процессор документов, основанный на системе компьютерной вёрстки LaTeX. LyX является кроссплатформенным программным обеспечением и имеет готовые сборки для Windows, Mac OS X и различных дистрибутивов Linux, а также неофициальную сборку для OS/2.


LyX придерживается парадигмы WYSIWYM (англ. what you see is what you mean, примерный перевод — «видишь то, что подразумеваешь»), которая противопоставляется идеям WYSIWYG, используемым в обычных текстовых процессорах. В соответствии с этой парадигмой пользователь пишет текст и определяет его семантическую структуру, помечая содержимое в соответствии с его смыслом, назначением в документе. Задание внешнего вида возлагается на редактор, который генерирует выходной файл в соответствии с набором правил, определяющих внешний вид документа.


В LyX структура документа частично определяется шаблоном, выбранным для него. Эти шаблоны соответствуют классам документов LaTeX. Процесс генерации выходного файла выполняется в два этапа. Первый этап состоит в преобразовании из внутреннего формата в LaTeX, на втором этапе LaTeX-процессор используется для генерации выходного документа в необходимом формате (DVI, PDF, и т. д.). Преимущество этого подхода в том, что LyX может предоставить любой формат, в который может быть сконвертирован LaTeX файл.


Примечание:


В версии lyx 2.x, то после набора текста доступна проверка орфографии на лету. Для этого необходимо зайти в "Инструменты -> Настройки -> Настройки языка -> Проверка правописания". Выберете здесь движок проверки офографии - spellchecker engine, например enchant, aspell, hunspell. Установить их можно скачав с официального сайта или средствами менеджера пакетов в linux. После выбора движка появится возможность проверять орфографию, но только одного языка. Если оказалось так, что весь текст подчеркнут красным, зайдите в "Документ -> Настройки -> Язык" и выберете Русский.




Хотелось бы отметить окно окружений, с которым нам придется работать постоянно. При наборе текста оно показывает "Обычный", что является окружением по умолчанию для текста.



Окружения это настолько важная и фундаментальная для LyX вещь, что я приведу цитату из самоучителя Lyx:


Различные части документа служат различным целям; мы называем эти части окружениями. Большинство документов состоит из обычного текста. Заголовки раздела (главы, подраздела и т.д.) дают понять пользователю, что начинается новый тематический раздел или подраздел. Некоторые типы документов имеют специальные окружения. Журнальная статья содержит резюме и заголовок. Письмо не содержит ни того, ни другого, однако, возможно, содержит окружение с адресом отправителя.


Окружения — значительная часть философии LyX «Вы видите то, что вы имели в виду». Конкретное окружение может требовать определённых стилей и размеров шрифта, размеров отступа, междустрочного интервала и тому подобное. LyX поможет вам избежать изучения всевозможных стилей форматирования.



2. Списки


Создадим список с перечислением возможностей LyX. Для этого вставим "возможности" как обычные абзацы текста, затем выделим их и в списке окружений выберем "Перечисление". Есть и другие способы сделать список в плане алгоритма действий, думаю это не трудно. Главное понять, что окружение любого абзаца (строки) текста всегда можно поменять.

Пример списка возможностей LyX:


  • GUI с системой меню, настраиваемые сочетания клавиш;

  • автодополнение текста;

  • WYSIWYG-редактор таблиц; 

  • визуальный редактор формул с возможностью ввода команд LaTeX; 

  • копирование/вставка исходного кода LaTeX; 

  • ...










3. Заголовки и структурирование


Наш документ уже достаточно большой, чтобы разбить его на части, то есть структурировать. Перейдем в начало документа и введем следующую строку:


LyX - текстовый процессор будущего

Теперь выберем для этого текста окружение "Заглавие". Внешний вид его сразу же измениться. Правда на бумаге этот заголовок будет выглядеть по-другому. Но нам же понятно, что это заголовок? Это и есть WYSIWYM.

После первого абзаца вставим еще одну строку:


Идеология

И выберем для нее окружение "Раздел*".

Заголовок "Возможности" перед соответствующей частью текста добавьте сами.

Теперь наш документ структурирован. Посмотреть структуру можно выбрав в меню панель "Документ -> Структура". С помощью нее также осуществляется навигация по документу и некоторые другие интересные вещи.




 Обратите внимание - после создания структуры доступна панель для быстрой навигации по документу.



4. Математика


Давайте наберем формулу. Для примера возьмем уравнение Шредингера:





Формулы в LyX бывают внутристрочными и выключенными. Создадим пронумерованную формулу "Вставка -> Математика -> Пронумерованная формула". Появится поле для ввода. Ввод формул удобно делать с помощью панелей математика и формула:



Панель эта довольно дружелюбна и понятна. Если вам тяжела такая формула, введите что-нибудь по-проще.

Заметьте, что за место номера справа от формулы стоит символ решётки (а в Lyx 2.0 - уже и сам номер). Это нумерация, о которой вам можно не беспокоиться - LyX все сделает за вас.



Примечание:

Для набора формул удобно использовать горячие клавиши и коды tex. Например в формуле после символа можно нажать "_" и LyX автоматически перейдет к вводу подстрочного индекса. Можно начать набирать "\alp" и LyX предложит вам ввод "\alpha". Для автозавершения нажмите Tab, и LyX заменит код на соответствующую греческую букву. Вставлять внутристрочную формулу можно комбинацией клавиш Ctrl-M, выключенную - Ctrl+Shift+M. Завершить редактирование формулы можно клавишей Esc. Навигация по формуле осуществляется клавишами со стрелками "вверх", "влево" и т.п.



Подробнее о математике в LyX вы можете узнать из самоучителя, в котором данный вопрос разобран обстоятельно. Очень рекомендую ознакомиться, ведь математика для LyX - сильная строна.



5. Таблицы


LyX обладает неплохим инструментарием для создания таблиц. Для вставки таблицы выберите "Вставка -> Плавающий объект -> Таблица". Введите название таблицы "Версии LyX". Далее создайте строку внутри плавающего объекта. Теперь можно вставить собственно таблицу "Вставка -> Таблица". Укажите два столбца и девять строк. Заполните таблицу.




Примечание:

Для быстрого заполнения таблицы можно воспользоваться трюком - выделите текст в таблице Википедии целиком и нажмите копировать. Перейдите в LyX, переместите курсор в первую ячейку таблицы и выберите "Правка -> Вставить как -> Простой текст" (или нажмите Ctrl+Shift+V).  Если все пройдет гладко, LyX автоматически разнесет информацию по ячейкам таблицы.




ВерсияДата выхода
0.7.024 октября 1995 года
1.0.01 февраля 1999 года
1.2.029 мая 2002 года
1.3.07 февраля 2003 года
1.4.08 марта 2006 года
1.5.027 июля 2007 года
1.6.010 ноября 2008 год
2.0.08 мая 2011 года






Теперь выровняем таблицу по центру. Для этого оставьте курсор в строке с таблицей и выберите "Правка -> Настройки абзаца". Укажите выравнивание по центру.







6. Метки и перекрестные ссылки


Раздел с таблицей озаглавим "История разработки".

Перед таблицей введем текст:


Релиз значительно усовершенствованной версии 2.0.0 выпущен 8 мая 2011 года. История выхода версий приведена в таблице

Далее поместим курсор в поле названия таблицы. Выберем в меню "Вставка -> Метка". В качестве названия метки LyX предложит использовать название таблицы, нам это подходит. Таким образом мы пометили таблицу. Теперь перейдите в конец текста "История выхода версий приведена в таблице". Нажмите "Вставка -> Перекрестная ссылка". Выберете созданную метку и нажмите Ок. Рядом с текстом будет вставлена ссылка. В LyX она выглядит серым прямоугольником с текстом. При печати на бумагу эта ссылка будет заменена на цифру, к примеру:


История выхода версий приведена в таблице 1.

Если даже номер таблицы изменится, не будет необходимости переделывать ссылку, потому что она связана не с номером, а с объектом (таблицей), которая в любом случае остается неизменной. Это очень мощный инструмент, предоставляемый LyX. Существует также автоматическая нумерация формул, рисунков, разделов. Все эти объекты можно пометить и сделать на них перекрестные ссылки, навсегда забыв о нумерации и проблемах с ней. А сами ссылки называются перекрестными потому, что даже при изменении названия метки ссылка продолжает работать (двойная связь).



7. Содержание


В LyX все просто - если у вас есть структура, у вас есть и содержание. Собственно содержание вставляется одним нажатием. Перейдите в начало документа и после заглавия создайте абзац, выберите "Вставка -> Списки/Содержание -> Содержание". В документе появится серый прямоугольник с надписью "Содержание". На бумаге содержание будет отображено в соответствии со стилями класса документа.



8. Вставка рисунков




Вставим обтекемый рисунок с логотипом LyX.






Примечание:

В отличии от текстового процессора Word рисунки в LyX не "содержатся" непосредственно в документе (по крайней мере в word это выглядит именно так). Это позволяет обновлять рисунок автоматически, просто заменяя старый. Кроме того, рисунок всегда доступен извне. В общем долой убогую философию word, считающую пользователя за идиота.

Вообще, для каждого документа lyx желательно создавать отдельный каталог и в нем работать. В этом каталоге можно создать подкаталог, в котором будут храниться картинки. Поэтому сам файл рисунка необходимо поместить в каталог (или субкаталог) файла "LyX_article.lyx", над которым вы работаете. При перемещении рабочей папки по файловой системе ничего фатального не произойдет - lyx использует относительные пути к изображениям и прочим объектам.

Для вставки обтекаемого рисунка выберите "Вставка -> Плавающий объект -> Плавающий обтекаемый рисунок". Озаглавите рисунок "Логотип LyX". Внутри плавающего объекта создайте абзац и выберите "Вставка -> Графика". После выбора рисунка из файловой системы, отцентрируйте его так же как это было сделано с таблицей. Нажмите правой кнопкой по серому прямоугольнику "обтекать: Рисунок". Укажите ширину занимаемого пространства в процентах, например 25. Теперь поле с рисунком будет занимать четверть страницы по ширине.



9. Сноски


Сделаем сноску. Найдем в тексте фразу "WYSIWYG". После него выберем "Вставка -> Подстрочная сноска". В появившемся поле введите


Аббревиатура от англ. What You See Is What You Get, «что видишь, то и получишь».







10. Список литературы


LyX предоставляет удобную систему списка литературы. Для его создания перейдите в конец документа, создайте новую строку и выберите окружение "Библиография". Появится строка с серым прямоугольником "key-1". Введите в строку текст "http://wiki.lyx.org/". Нажимите на серый прямоугольник и введите в поле метка "wiki.lyx" (можете использовать цифру). Теперь можно сделать ссылку на данный источник библиографии. Перейдите к той части документа, где набиралась формула. Создайте новый абзац с текстом


Подробнее о возможностях LyX

Поместите курсор в конец строки и выберте "Вставка -> Ссылка на источник". Выберите доступную ссылку key-1 и нажмите "Добавить", а затем Ok. В тексте появится ссылка на источник.





11. Настройка документа


До сего момента мы абсолютно не обращали внимание на оформление. Им в LyX занимаются в последнюю очередь. Перейдем к настройке документа "Документ -> Настройка".


  • Класс документа - article (Polish cersion by M.V.). Можете поэкспериментировать с классами, если желаете. Мы оформляли статью, поэтому выбран класс article. Конкретно его я выбрал из-за нормального отображения ненумерованных разделов в содержании.

  • Шрифты - 11 кегель. Если вы хотите иметь больший выбор шрифтов, выберите класс article (more font sizes).

  • Формат страницы - А5.

  • Поля установите по вкусу.

  • Язык - Русский.

  • Размещение плавающих объектов - Здесь, если возможно.

  • В преамбулу добавьте:

    \usepackage{indentfirst}
    \usepackage{cmap}

    Первый пакет отвечает за отступы абзацев (по умолчанию они оформлены в американской системе, что нас не устроит).

    Второй пакет обеспечивает нормальную кодировку выходного pdf-документа.


Примените сделанные изменения. После установки языка документа (русского) можно проверить текст на орфографические ошибки (Инструменты -> Проверка правописания).



12. Просмотр созданного документа


Заметьте, до сих пор, кроме раздела "Настройка документа" мы ничего не говорили о собственно формате публикации и о конечном виде документа. Это возможно благодаря концепции структурного оформления, использующейся в LyX. Фактически, работая в LyX вы создаете действительно электронный документ - без привязки к размерам шрифтов, бумаги, полям и прочему. Но к сожалению, посматривать такой документ можно лишь в LyX, а он для этого не предназначен. Поэтому встает вопрос о конвертации в форматы для просмотра и печати. LyX позволяет конвертировать ваш документ в форматы (DVI, PDF, PS) и (HTML, TXT, RTF, ODT). Первая группа позволяет оценить достоинства LaTeX и получить документ полиграфического качества для печати и просмотра на компьютере. Вторая группа позволяет получить несколько иные представления документа, но данные форматы все достоинства документов LaTeX передать не могут.

Итак, после того, как документ набран в LyX и заданы все его параметры, можно посмотреть, что же получилось. Для этого выберите "Вид -> PDF (pdflatex)". Обратите внимание на качество полученного документа. Сохранить выходной документ можно путем экспорта "Файл -> Экспортировать в -> PDF (pdflatex)".



13. Форматирование документа


К сожаления, привязка к бумаге вынуждает более плотно работать над отображением документа в pdf. Что же, средства для этого у LyX имеются. Давайте разобъем документ так, чтобы он выглядел на бумаге прилично. Например, чтобы каждый раздел начинался с новой страницы. Конечно же в LyX недоступно убогое форматирование в стиле "Жми Enter пока не сделаешь как надо".

Перейдем к разделу "История разработки". Переправим курсор на начало строки заголовка раздела. Теперь выберем "Вставка -> Форматирование -> Новая страница". LyX в соотвествии с идеологией WYSIWYM отобразит нам символическое представление о начале новой страницы. Красота, да и только.

Что же, теперь неплохо было бы посмотреть, чего вышло. Для того, чтобы не тыкать кнопки просмотра постоянно, запомните следующие сочетания:

Ctrl-R - отрыть просмотр документа по умолчанию (как правило это просмотр в pdf)

Ctrl-Shift-R - обновить открытый pdf-документ с учетом изменений, сделанных в LyX с момента последнего обновления. Таким образом отпадает необходимость каждый раз открывать pdf-документ заново, а такие программы как Okular даже запоминают в каком месте вы находились, и вам не придется заново листать документ. Удобно!



14. Готовимся к публикации


Что же, документ создан. Теперь пришло время отшлифовать последние детали. Документ мы будем публиковать в pdf. Для удобства того, кто его читает прикрутим необходимый функционал. Перейдем в "Документ -> Настройки -> Свойства pdf". Поставим галочку "Использовать поддержку huperref". Заполним поля название, автор, тема, ключевые слова по вкусу. Теперь созданный pdf-файл будет иметь навигацию по содержанию, возможность перехода по ссылкам и прочие приятные мелочи.






В моем Okular это выглядит так


IV. Исходные файлы





Статья, файлы и исходники доступны по лицензии Creative Commons Attribution-ShareAlike. Источник - русская Википедия.




V. Источники




http://obscurityway.blogspot.ru/2011/01/lyx.html
Таинственная программа LyX. Часть 1
Таинственная программа LyX. Часть 2
Таинственная программа LyX. Часть 3
Таинственная программа LyX. Часть 4


Восхотел я как то книжку в pdf на старом девайсе почитать, понимаю, читать вредно и не благоугодно, от сего всякие мысли заводятся....
но дерзнув на подвиг сей и воздрузив книгу сию пдэфную получил полнейший облом, ибо промыслительно девайс был старых устоев и не каждые пэдээфки читал.

заглянуть
Исполнившись лютой злобы от такого покушения на моё право читать аз курить начал маны и обрёл тучу разных советов, убив изрядно времени жития своего и порушив душевное умиротворение, низпал с высоты ангелского бесстрастия во глубины демонския страстей лютых ибо советы были всякия... и некоторые угробили мою книжку, благо я её промыслительно скопировал, святая копипаста спасла
а такой

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dMaxStripSize=8192 -sOutputFile=%02d.jpg input.pdf

вкупе с этим

convert -limit memory 32mb -limit map 64mb *.jpg input_web.pdf
(или вообще -limit memory 0 -limit map 0 )

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

libgomp: Thread creation failed: Pecypc вpeмeннo нeдocтyпeн

победа же далась только опосля установки пакета graphicsmagick-imagemagick-compat удалившего ImageMagick
токмо книжица собралась неправильно, на беду мою там тыща страниц было....и опосля десятой сразу сотая шествовала, а затем и тысячная....
я ринулся было сие дело править командами Патрикоугодными:
rename 's/^/000/' *.jpg      # добавить префикс '000' у *.jpg
rename 's/000//' *.jpg         # убрать префис '000' у *.jpg

но осознал, что не туда путь держу, ибо в обезьянье царство заводит...
и методом тыка научного прознал таки я о значении циферки в конце формулы волшебной %02d.jpg не простая она, 02 - это два нолика впереди и годится до сотни страничек, а для тыщи 04 надо писать )
чтож, собрал всё я заново ... однако книжица стала гораздо увесистей и опечалился я зело, но дух унылый кости сушит, а кручина до добра не доводит, и посему обратился вновь ко всемирному разуму...

Опосля же всех перипетий, встретившихся на моем скорбном пути, укурившись как следует манами я наткнулся на дивное:

ps2pdf -dUseFlatCompression=true test.pdf

и просветление настигло меня, ибо сие был истинный юниксвэй )))

WARNING детям до 18 разворачивать lj-cut низя: был использован боярский язык



ещё годный способ (главное не перепутать входной и выходной файлы):
http://milan.kupcevic.net/ghostscript-ps-pdf/

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
параметры
PDF optimization level selection options
-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default (almost identical to /screen)

Paper size selection options
-sPAPERSIZE=letter
-sPAPERSIZE=a4
-dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h (point=1/72 of an inch)
-dFIXEDMEDIA (force paper size over the PostScript defined size)

Other options
-dEmbedAllFonts=true
-dSubsetFonts=false
-dFirstPage=pagenumber
-dLastPage=pagenumber
-dAutoRotatePages=/PageByPage
-dAutoRotatePages=/All
-dAutoRotatePages=/None
-r1200 (resolution for pattern fills and fonts converted to bitmaps)
-sPDFPassword=password



пара способов отсюда


https://www.linuxuprising.com/2018/09/easily-compress-pdf-files-in-linux-with.html


Очень длинная команда:



Самый простой способ:
convert -compress Zip -density 150x150 input.pdf output.pdf

Довольно простой и эффективный способ:
convert -density 150x150 -quality 70 -compress jpeg -resize 80% input.pdf output.pdf

Посмотреть сколько картинок в файле pdf
pdfimages -list input.pdf

PS
если картинки недожало, то:

mogrify -resize 1175x825 *.jpg

find . -name "*.jpg" -size +1000k -exec convert -resize 3508 -quality 85% {} {} \;

расчёт листа А4
"""
Размер листа А4 составляет 297(мм) х 210(мм) или 11.75(дюйма) х 8.25(дюйма) . Исходя из разрешения в 72 дпи (точек на дюйм) , лист формата А4 будет эквивалентен 846(пикселей) х 594(пикселя) :
11.75(дюйма) х 72(дпи) = 846 (пикселей)
8.25(дюйма) х 72(дпи) = 594 (пикселя)
"""
расчёт качества
"""
- 4961х7016 пикселов при разрешении 600 дпи
- 2480х3508 пикселов при разрешении 300 дпи (рекомендую для печати)
- 1240х1754 пикселов при разрешении 150 дпи
- 595х842 пикселов при разрешении 72 дпи (для просмотра с экрана)
"""

форматнуть djvu в pdf

sudo apt install djvulibre-bin
ddjvu -format=pdf Книга.{djvu,pdf}

форматнуть кучу html в pdf и собрать книжку

libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir $HOME/tmp/convert *.html
rename 's/^/00/' *.pdf
apt-get install pdftk
pdftk *.pdf cat output newfile.pdf
но почему то pdftk начал с 10й и в конце с 1 по 9ю, сколько бы ноликов впереди не ставил (( только pdfchain нормально собрал
apt-get install pdfchain

PS pdftk и pdfchain нет в новой убунте, поэтому
pdfunite *.pdf out.pdf
qpdf --empty --pages *.pdf -- out.pdf



Массовое переименование файлов
С помощью bash:

for i in *.c; do
mv $i `echo $i | sed 's/\.c$/.bak/'`
done
С помощью Perl:

$ rename 's/\.c\.orig$/.c/' *.c # переименовать все *.c.orig в *.c
$ rename 'y/A-Z/a-z/' *.JPG # имена фотографий маленькими буквами
$ rename 's/\U/\u/g' *.JPG # тоже самое
$ rename '$_=lc' * # тоже самое, но для всех файлов
$ rename 's/deftones-//' *.mp3 # убрать префис 'deftones-' у *.mp3
$ rename 's/^/jerk-/' *.swf # добавить префикс 'jerk-' у *.swf
$ rename 's/ /_/g' * # пробелы в именах файлах заменить на '_'


Снятие ограничений с PDF документа
qpdf --decrypt restricted-input.pdf unrestricted-output.pdf

Как удалить пароль из PDF в Linux

Как просмотреть или отредактировать метаданные pdf или изображениях из командной строки Linux
https://exiftool.org/

https://www.ghostscript.com/doc/Use.htm
http://www.linux.org.ru/forum/desktop/4487423#comment-4489125
Уменьшить размер PDF файла
Работа с PDF в Linux
Как объединить и разбить PDF в Linux подручными средствами
Пакетное изменение размера изображений
Как записать формат А4 в пикселях(ширина, высота)?
Сколько пикселей в бумаге А4? Нужен размер бумаги в пикселях для фотошопа!
ImageMagick — консольный графический редактор
Как уменьшить размер JPG без потери качества в Ubuntu
Большая поваренная книга программиста. / → *nix → ImageMagick
Оптимизация изображений для сайта
Работаем с PDF в Linux — «Хакер»
Руководство пользователя ImageMagick v. 7.1.0 [Иван Титаренко] (fb2)

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 10:09 am
Powered by Dreamwidth Studios