Было: /tmp отдельная партиция монтирующаяся с опциями nodev,nosuid,noexec
После миграции на RAID10 партицию не создавали. При установке apt появилась ошибка
mount: /tmp not mounted or bad option
Причина:
в apt.conf.d каталоге в файле 50invoke содержимое
DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};
Это нужно, чтобы была возможность устанавливать обновления.
Чтобы сохранить секьюрность и устранить проблему, пользуемся тем что в линуксе все файл,
добавляем строчку в /etc/fstab
/tmp /tmp none bind,nodev,nosuid,noexec 0 0
И выполняем от рута
mount -o bind,nodev,nosuid,noexec /tmp /tmp
Хорошая ссылка по этой теме.
пятница, 22 марта 2019 г.
среда, 20 марта 2019 г.
Linux восстановление из резервной копии
link
1) загрузиться в resque mode выполнить бэкап. Если boot на отдельной партиции, то бэкап boot тоже нужно сделать
a) tar -cvpzf /path/to/backup.tar.gz --exclude=/path/to/backup.tar.gz --one-file-system /
b) или, быстрее, сразу на удаленную машину 1.2.3.4 Предварительно сгенерив ssh-ключ и записав на машину с бэкапом
1) загрузиться в resque mode выполнить бэкап. Если boot на отдельной партиции, то бэкап boot тоже нужно сделать
a) tar -cvpzf /path/to/backup.tar.gz --exclude=/path/to/backup.tar.gz --one-file-system /
b) или, быстрее, сразу на удаленную машину 1.2.3.4 Предварительно сгенерив ssh-ключ и записав на машину с бэкапом
tar cf - --one-file-system /mnt/backup/ -P | pv -s $(du -sb /mnt/backup/ | awk '{print $1}') | gzip | ssh -p 2202 user-backup@1.2.3.4 "cat - > /home/user-backup/backup18032019.tar.gz"
Linux установка GRUB GPT
Разбиение на партиции
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1028095 1024000 500M Linux filesystem
/dev/sda3 1028096 4295995391 4294967296 2T Linux filesystem
/dev/sda4 4295995392 4304383999 8388608 4G Linux filesystem
/dev/sda5 4304384000 35162803598 30858419599 14.4T Linux filesystem
/dev/sda1 - неотформатированный раздел 1М
Метка установлена с помощью gdisk /dev/sda, опция t - ef02 метка
/dev/sda2 - партиция для /boot, здесь будут файлы grub и ядра
/dev/sda3 - системный диск, / корень
/dev/sda4 - своп
/dev/sda5 - для данных
/etc/fstab заполнил с UUID из blkid
Установка с помощью chroot. Система загружена в resque mode с помощью Grml livecd.
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1028095 1024000 500M Linux filesystem
/dev/sda3 1028096 4295995391 4294967296 2T Linux filesystem
/dev/sda4 4295995392 4304383999 8388608 4G Linux filesystem
/dev/sda5 4304384000 35162803598 30858419599 14.4T Linux filesystem
/dev/sda1 - неотформатированный раздел 1М
Метка установлена с помощью gdisk /dev/sda, опция t - ef02 метка
/dev/sda2 - партиция для /boot, здесь будут файлы grub и ядра
/dev/sda3 - системный диск, / корень
/dev/sda4 - своп
/dev/sda5 - для данных
/etc/fstab заполнил с UUID из blkid
Установка с помощью chroot. Система загружена в resque mode с помощью Grml livecd.
вторник, 12 марта 2019 г.
Python Mongodb examples
1) count of hits within day
db.aclog.find().limit(1){ "_id" : ObjectId("5c8668883896e834e079d372"), "ip" : "74.208.58.75", "datetime" : "06/Mar/2019:06:25:15 +0000", "getpost" : "GET /wppluginfile/defscript HTTP/1.0", "status" : "200", "sbyte" : "31", "refer" : "-", "agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36", "loadtime" : "0.011" }
from pymongo import MongoClient
import pprint
conn = MongoClient()
db = conn.accesslog
coll = db.aclog
pipeline = [{"$project": {"_id": 0, "day_of_month": {"$substr": ["$datetime", 0, 2]}}},
{"$group": {"_id": {"day_of_month": "$day_of_month"}, "hits": {"$sum": 1}}},
{"$sort": {"hits": -1}}
]
pprint.pprint(list(db.aclog.aggregate(pipeline)))
conn.close()
result
[{'_id': {'day_of_month': '05'}, 'hits': 157148},
{'_id': {'day_of_month': '06'}, 'hits': 61932}]
"$substr": ["$datetime", 0, 2] - cut the date from "06/Mar/2019:06:25:15 +0000"
вторник, 5 марта 2019 г.
Linux Python parse dynamic js site
1) Install google-chrome on server
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/google-chrome.list
apt update && apt -y install google-chrome-stable
google-chrome --version
Google Chrome 72.0.3626.121
суббота, 2 марта 2019 г.
Linux phpmyadmin nginx config
с git репозитория
1) git clone https://github.com/phpmyadmin/phpmyadmin.git
2) composer update --no-dev
3) yarn install
релиз с сайта
1a) просто скачать zip архив с сайта
4) permissions www-data:www-data, nginx config
server
{
listen <IP>;
server_name phpmyadmin.server.tld;
root /var/www/phpmyadmin;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ ^/(.+\.php)$
{
try_files $uri = 404;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_index index.php;
}
error_log /var/log/nginx/phpmyadmin_error.log;
access_log /var/log/nginx/phpmyadmin_access.log;
}
1) git clone https://github.com/phpmyadmin/phpmyadmin.git
2) composer update --no-dev
3) yarn install
релиз с сайта
1a) просто скачать zip архив с сайта
4) permissions www-data:www-data, nginx config
server
{
listen <IP>;
server_name phpmyadmin.server.tld;
root /var/www/phpmyadmin;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ ^/(.+\.php)$
{
try_files $uri = 404;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_index index.php;
}
error_log /var/log/nginx/phpmyadmin_error.log;
access_log /var/log/nginx/phpmyadmin_access.log;
}
Подписаться на:
Сообщения (Atom)