Очень полезные команды Linux на одном листе
На всякий случай
Вариант 1:
sudo rm -rf /var/lib/apt/lists/*
sudo apt update -o Acquire::CompressionTypes::Order::=gz
sudo apt update && sudo apt upgradeВариант 2:
sudo rm -rvf /var/lib/apt/lists/*
echo "APT::Cache-Limit "100000000";" >> /etc/apt/apt.conf.d/70debconfВариант 3:
sudo rm -rvf /var/lib/apt/lists/*
&& sudo mv /var/lib/dpkg/status /var/lib/dpkg/status-bad
&& sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
&& sudo apt updateВариант 4:
sudo apt autoclean && sudo apt autoremove -y && sudo apt updateВариант 5:
sudo rm -rf /var/lib/apt/lists
sudo apt clean
sudo apt updatesudo hdparm -S 60 /dev/sdbКоманда вводит диск sdb в стендбай при отсутствии обращений в течении 5 минут.
.bat
net stop spooler
del %systemroot%\system32\spool\printers\*.shd /F /S /Q
del %systemroot%\system32\spool\printers\*.spl /F /S /Q
net start spoolerЭта таблица поможет перевести мощность Wi-Fi передатчика из dBm в мВт (милливатт).
| dBm | Вт | dBm | Вт | dBm | Вт | |
| 0 | 1.0 мВт | 16 | 40 мВт | 32 | 1.6 Вт | |
| 1 | 1.3 мВт | 17 | 50 мВт | 33 | 2.0 Вт | |
| 2 | 1.6 мВт | 18 | 63 мВт | 34 | 2.5 Вт | |
| 3 | 2.0 мВт | 19 | 79 мВт | 35 | 3.2 Вт | |
| 4 | 2.5 мВт | 20 | 100 мВт | 36 | 4.0 Вт | |
| 5 | 3.2 мВт | 21 | 126 мВт | 37 | 5.0 Вт | |
| 6 | 4 мВт | 22 | 158 мВт | 38 | 6.3 Вт | |
| 7 | 5 мВт | 23 | 200 мВт | 39 | 8.0 Вт | |
| 8 | 6 мВт | 24 | 250 мВт | 40 | 10 Вт | |
| 9 | 8 мВт | 25 | 316 мВт | 41 | 13 Вт | |
| 10 | 10 мВт | 26 | 398 мВт | 42 | 16 Вт | |
| 11 | 13 мВт | 27 | 500 мВт | 43 | 20 Вт | |
| 12 | 16 мВт | 28 | 630 мВт | 44 | 25 Вт | |
| 13 | 20 мВт | 29 | 800 мВт | 45 | 32 Вт | |
| 14 | 25 мВт | 30 | 1.0 Вт | 46 | 40 Вт | |
| 15 | 32 мВт | 31 | 1.3 Вт | 47 | 50 Вт |
Начиная с MySQL 5.7 изменила модель безопасности: теперь вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). Т. е. phpMyAdmin невозможно использовать под пользователем root.
Самым простым (и самым безопасным) решением будет создать нового пользователя и предоставить ему требуемые привилегии.
Подключаемся пользователем root к БД:
sudo mysql --user=root mysqlСоздаем пользователя phpmyadmin с паролем P@ssw0rd (необходимо заменить на свой).
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;Помните: разрешение удалённому пользователю иметь все привилегии — это вопрос безопасности, имейте это ввиду, выполняя последующие шаги. Если вы хотите, чтобы этот пользователь имел те же привилегии во время удалённых подключений, дополнительно выполните:
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;lftp — утилита командной строки, которая позволяет обмениваться данными с ftp и http серверами. lftp имеет функционал зеркалирования, который позволяет загружать или рекурсивно обновлять дерево каталогов. Она также имеет функционал обратного зеркалирования (mirror -R), который позволяет рекурсивно обновлять обновлять дерево каталогов на удаленном сервере. Зеркалирование также позволяет синхронизировать папки между двумя удаленными серверами.
mirror
mirror options
mirror -c
mirror -RДля начала устанавливаем соединение с сервером:
lftp ftp.server.comВводим имя пользователя и пароль:
lftp ftp.server.com:~> user username@ftp.server.com
Password:В результате получаем:
lftp username@ftp.server.com:~>
Type ls command to see a list of files:Вводим ls для просмотра содержимого каталога:
lftp ftp.server.com:~> lsВ результате получаем листинг каталога:
-rw-r-r- 1 80 www 36809419 Jun 24 23:59 file1.ext
-rw-r-r- 1 80 www 100912271 Jun 25 23:59 file2.ext
-rw-r-r- 1 80 www 102926055 Jun 26 23:59 file3.extДля того что бы скопировать все файлы к себе в текущий каталог введите mirror:
lftp ftp.server.com:~> mirrorВы можете указать исходный каталог и папку, в которой нужно разместить скачанные файлы (каталог назначения). Если каталог назначения заканчивается символом / (слэш), тогда к нему будет дописано имя исходного каталога.
lftp ftp.server.com:~> mirror source targetили
lftp ftp.server.com:~> mirror logs/ /data/wwwlogsВ этом случае все файлы из папки logs на исходном сервере будут скопированы в папку /data/wwwlogs на текущем.
При использовании следующего синтаксиса, все файлы из папки logs будут скопированы в папку /data/wwwlogs/logs
lftp ftp.server.com:~> mirror logs/ /data/wwwlogs/Рекомендуется использовать mirror с включенной опцией продолжения загрузки, в этом случае не придется заново загружать все файлы в случае разрыва соединения или прерывания трансфера данных:
lftp ftp.server.com:~> mirror -c source targetили
lftp ftp.server.com:~> mirror -continueДля того что бы скачать только новые/обновленные файлы используем ключ only-newer:
lftp ftp.server.com:~> mirror -only-newerили
lftp ftp.server.com:~> mirror -nМожно ускорить операцию зеркалирования, включив параллельную загрузку или загрузку файлов в несколько потоков:
lftp ftp.server.com:~> mirror -PДля того что бы загрузить параллельно 10 файлов можно воспользоваться следующей командой:
lftp ftp.server.com:~> mirror -parallel=10Для того что бы загрузить только новые файлы с сервера в 10 потоков:
mirror -continue -only-newer -parallel=5 имя_папки имя_папкиДля заливки файлов на сервер нужно использовать ключ -R или -reverse
Для начала устанавливаем соединение с сервером:
lftp ftp.server.comВводим имя пользователя и пароль:
lftp ftp.server.com:~> user username@ftp.server.com
Password:В результате получаем:
lftp username@ftp.server.com:~>
Type ls command to see a list of files:Переходим в папку /home/project/website/version5/:
lftp ftp.server.com:~> lcd /home/project/website/version5/Вывод:
lcd ok, local cwd=/home/project/website/version5Для того, что бы загрузить файлы на сервер, используйте следующий синтаксис:
lftp ftp.server.com:~> mirror -RМожно указать локальный и удаленный каталог:
lftp ftp.server.com~> mirror -R /home/user/projects/website /var/www/htmlОдной командой:
lftp -e 'mirror -parallel=10 -R /home/user/projects/website /var/www/html' -u логин,пароль адрес_сервераЕсли в ходе работы с удаленным сервером вы получили следующую ошибку:
521 Data connection cannot be opened with this PROT setting.Тогда выполните следующие команды и повторите последнюю операцию:
set ftp:ssl-force true
set ftp:ssl-protect-data true
Смотрим какие диски видит наша программа fdisk
sudo fdisk -l | grep 'Disk /dev/sd'В Ubuntu жесткие диски обозначаются /dev/sda, /dev/sdb, /dev/sdc и т. д. В нашем случае это диск /dev/sdb.
Для разметки диска снова воспользуемся fdisk. Запускаем fdisk с указанием диска, на котором нужно создать раздел:
sudo fdisk /dev/sdbfdisk запустится в командном режиме. Чтобы посмотреть список всех доступных команд нужно ввести m. Но для наших целей нужно всего несколько основных команд:
p — просмотр текущей таблицы разделов диска;
n — создание нового раздела;
d — удаление существующего раздела;
w — запись таблицы разделов на диск и последующий выход;
q — выход без записи новой таблицы на жесткий диск.
Проверяем наличие разделов на диске командой p, если их нет, то создаем новый раздел командой n. При создании раздела придется ответить на несколько вопросов, если планируется создать не больше 4-х разделов, то создаем основной раздел. Далее указываем номер раздела — 1. И в конце нужно указать начальный и конечный цилиндры раздела, можно просто нажимать Enter, программа сама все задаст. Снова проверяем список разделом и видим вновь созданный раздел, который обозначается /dev/sdb1. Обязательно сохраняем изменения командой w.
Теперь раздел есть, но этого мало. Его нужно отформатировать, это делается очень просто одной командой
sudo mkfs.ext4 /dev/sdb1Смонтировать раздел в пустоту не получится, поэтому нам нужен каталог, который будет точкой монтирования. Создадим каталог /hdd в директории /media, в которую монтируются все подключаемые устройства (внешние диски, cd-rom, флешки и т. д.)
sudo mkdir /media/hddМонтируем раздел в созданный каталог:
sudo mount /dev/sdb1 /media/hddПроверяем результат:
sudo df -hКак видно из раздел смонтирован в нужный каталог. К сожалению, после перезагрузки Ubuntu раздел придется монтировать заново. Делать это каждый раз вручную не наш метод, поэтому автоматизируем процесс.
За монтирование разделов при старте операционной системы в Ubuntu отвечает файл /etc/fstab. В него то мы и добавим команду на монтирование раздела. Открываем файл /etc/fstab в редакторе nano:
sudo nano /etc/fstabВ конец файла вставляем строку
/dev/sdb1 /media/hdd ext4 defaults 1 2Проверить работоспособность проделанных действий можно двумя способами:
— Первый способ. Перезагрузить Ubuntu и после загрузки набрать команду df -h. Раздел /dev/sdb1 должен быть смонтирован.
— Второй способ. Нужно отмонтировать раздел командой umount /media/hdd и перезагрузить файл fstab командой mount -a.
Для начала установим его из репозитория:
sudo apt install zipНам необходимо сделать архив всех папок и файлов из директорий /var/www/ и /etc/nginx/ кроме директории /var/www/old_site/:
zip -r -9 www-archive.zip /var/www/* /etc/nginx/* -x "/var/www/old_site/*"Где:
-r — архивировать рекурсивно
-9 — степень сжатия от 1 до 9. 0 — «архивирование» совсем без сжатия.
www-archive.zip — имя архива
/var/www/* /etc/nginx/* — архивируемые директории через пробел. * — все файлы
-x «/var/log/apt/*» — опция, позволяющая исключить указанную папку или файл из архива
Для того, чтобы установить пароль на архив необходимо указать опцию -e:
zip -e mypass -r -9 www-archive.zip /var/www/* /etc/nginx/* -x "/var/www/old_site/*"Unzip как правило уже установлен в Ubuntu. Если нет — установить из репозитория.
unzip www-archive.zipunzip www-archive.zip -d /temp/unzip www.archive.zip my-file.phpunzip -l archive.zipunzip -v www-archive.zipunzip -t archive.zip
'integrity.check.disabled' => true,Готово!