-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â eugene20237

 -Ïîäïèñêà ïî e-mail

 

SHRED directory

Äíåâíèê

Âîñêðåñåíüå, 01 ßíâàðÿ 2023 ã. 22:34 + â öèòàòíèê
Âîò òàê ýòî äåëàåòñÿ:
find -depth -type f -exec shred -v -n 1 -z -u {} \;
Èñòî÷íèê: https://unix.stackexchange.com/a/117848

Ìåòêè:  

Êàê ïðàâèëüíî ïîäêëþ÷èòü ê âèðòóàëüíîé ñåòè íîâûé LXD-êîíòåéíåð?

Äíåâíèê

Ïîíåäåëüíèê, 11 Íîÿáðÿ 2019 ã. 22:14 + â öèòàòíèê
Ðàíüøå ÿ äåëàë íåïðàâèëüíî... Ïðàâèëüíî äåëàòü òàê:
"... ïîäêëþ÷àåì êîíòåéíåð ê ñåòè è çàäàåì åìó àäðåñ:
lxc network attach bob-br container-bob eth0
lxc config device set container-bob eth0 ipv4.address 10.0.2.2"
Ïîäðîáíîñòè îïèñàíû ïî ýòîé ññûëêå: https://codex.so/first-lxc-container

Ìåòêè:  

×òî äåëàòü åñëè íå ïîëó÷àåòñÿ ðàçìîíòèðîâàòü óñòðîéñòâî?

Äíåâíèê

Ñóááîòà, 09 Íîÿáðÿ 2019 ã. 23:26 + â öèòàòíèê
Áûâàåò òàê ÷òî ïðè âûçîâå umount ìû âèäèì ýòî:
umount: /mnt: device is busy.

Ñìîòðèì íîìåðà áëîêèðóþùèõ ïðîöåññîâ ýòîé êîìàíäîé:
ls -l /proc/*/cwd | grep pathofmountpoint
À çàòåì óáèâàåì ýòè ïðîöåññû êîìàíäîé kill. Äàëåå ðàçìîíòèðóåì óñòðîéñòâî êàê îáû÷íî:
umount pathofmountpoint

Èíôà âçÿòà îòñþäà: https://serverfault.com/questions/58991/cant-unmou...-file-but-theres-no-open-files

Ìåòêè:  

×òî äåëàòü ñ Bad-áëîêàìè â Linux?

Äíåâíèê

Ñóááîòà, 25 Ìàÿ 2019 ã. 11:52 + â öèòàòíèê
Âîò ñòàòüÿ: https://www.linuxtechi.com/check-hard-drive-for-bad-sector-linux/


Check Hard drive for bad sectors or bad blocks in linux
by Pradeep Kumar · Published August 6, 2014 · Updated August 4, 2017

badblocks is the command or utility in linux like operating system which can scan or test our hard disk and external drive for bad sectors. Bad sectors or bad blocks is the space of the disk which can’t be used due to the permanent damage or OS is unable to access it.

Badblocks command will detect all bad blocks(bad sectors) on our hard disk and save them in a text file so that we can use it with e2fsck to configure Operating System(OS) to not store our data on these damaged sectors.

Step:1 Use fdisk command to identify your hard drive info

# sudo fdisk -l

Step:2 Scan your hard drive for Bad Sectors or Bad Blocks

# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt

Just replace “/dev/sdb” with your own hard disk / partition. When we execute above command a text file “bad-blocks” will be created under /tmp , which will contains all bad blocks.

Example :


Step:3 Inform OS not to use bad blocks for storing data

Once the scanning is completed , if the bad sectors are reported , then use file “bad-blocks.txt” with e2fsck command and force OS not to use these bad blocks for storing data.

# sudo e2fsck -l /tmp/bad-blocks.txt /dev/sdb

Note : Before running e2fsck command , you just make sure the drive is not mounted.
For any futher help on badblocks & e2fsck command , read their man pages

# man badblocks
# man e2fsck

Ìåòêè:  

LINUX: ïðîñòîé áýêàï íà dropbox ÷åðåç êîìàíäíóþ ñòðîêó

Äíåâíèê

Âòîðíèê, 14 Ìàðòà 2017 ã. 21:01 + â öèòàòíèê
Òóò âñ¸ íàïèñàíî: https://coderwall.com/p/jcc3dg/using-dropbox-for-server-backup
Ñïîñîá î÷åíü óäîáíûé è áåñïëàòíûé.

Ìåòêè:  

LINUX: íàñòðîéêà íîâîãî web-ñåðâåðà ñ íóëÿ

Äíåâíèê

Âîñêðåñåíüå, 19 Ôåâðàëÿ 2017 ã. 17:46 + â öèòàòíèê
Äîâîëüíî ÷àñòî ïîÿâëÿþòñÿ çàäà÷å ïî ïîëíîé íàñòðîéêå è îïòèìèçàöèè web-ñåðâåðîâ. Êàê ïðàâèëî, ýòî ôèçè÷åñêèå ñåðâåðà ñ õîðîøèìè õàðàêòåðèñòèêàìè.  äàííîì ïîñòå ÿ ñêîìïîíîâàë âåñü ñâîé îïûò ïî íà÷àëüíîé íàñòðîéêå. Íà ïðàâèëüíîñòü ýòè äåéñòâèÿ íè êîåì îáðàçîì íå ïðåòåíäóþò. Áûòü ìîæåò íàäî äåëàòü êàê-òî èíà÷å è áóäåò ëó÷øå... ß ïðîñòî íàïèøó êàê äåëàþ ÿ.

Äàëåå âñ¸ áóäåò îòíîñèòñÿ ê îïåðàöèîííîé ñèñòåìå Ubuntu 18.04. Íà äðóãèõ Óáóíòàõ è Äåáèàíàõ èíñòðóêöèè áóäóò àíàëîãè÷íûå.

Ïðè óñòàíîâêå Óáóíòó ìîæíî íàæàòü F4 è âûáðàòü òàì Install minimal system. Íàì âåäü íå íóæåí ìóñîð èç ñòàíäàðòíîãî äèñòðèáóòèâà âðîäå lxc èëè python3?
Óñòàíàâëèâàåì îïåðàöèîííóþ ñèñòåìó.

Ïîñëå óñòàíîâêè ïðåæäå âñåãî îáíîâèì èíôîðìàöèþ î ðåïîçèòîðèÿõ è äàëåå îáíîâèì âñå ïàêåòû.
apt-get update
apt-get upgrade
apt-get autoremove

Îòðåäàêòèðóåì ôàéë /etc/default/grub òàê ÷òîáû â í¸ì ïðèñóòñòâîâàëà òàêàÿ ñòðî÷êà:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
Ýòî íóæíî äëÿ óñêîðåíèÿ ðàáîòû docker, à áûòü ìîæåò è äðóãèõ ïðîãðàìì. Äàëåå íóæíî îáíîâèòü GRUB:
update-grub
Ïîäðîáíîñòè òîãî çà÷åì ýòî íàäî ìîæíî íàéòè òóò: https://askubuntu.com/questions/417215/how-does-kernel-support-swap-limit

Óáóíòà ìîãëà îáíîâèòü ÿäðî, ïîýòîìó íà âñÿêèé ñëó÷àé ïåðåçàãðóæàåìñÿ:
shutdown -r now

 áóäóùåì îáíîâëÿòü ÿäðî ÿ êàòåãîðè÷åñêè íå ðåêîìåíäóþ. À ïîêà ñåðâåð ïóñòîé, ìû íè÷åì íå ðèñêóåì.

Ïîñëå ïåðåçàãðóçêè óñòàíîâèì êîå-êàêèå ïàêåòû, ÷òîáû ìîæíî áûëî ïî ÷åëîâå÷åñêè ðàáîòàòü ñ ñèñòåìîé:
apt-get install nano mc htop iftop
nano - êîíñîëüíûé òåêñòîâûé ðåäàêòîð
mc - ôàéëîâûé ìåíåäæåð "äëÿ ëþäåé"
htop - êðàñèâîå îòîáðàæåíèå òåêóùåé ñèòóàöèè íà ñåðâåðå (ïðîöåññîðû, ïàìÿòü, çàïóùåíûå ïðèëîæåíèÿ)
iftop - ìîíèòîðèíã òðàôèêà

Äàëåå ÿ âñ¸ äåëàþ ÷åðåç mc. Ãóëÿþ ïî ïàïêàì, âíîøó èçìåíåíèÿ. Åñëè íàäî íàáðàòü êîíñîëüíûå êîìàíäû, òî æìó Ctrl + O è âñ¸ äåëàþ. Îáðàòíî â mc - òîæå Ctrl + O. Åñëè íóæíî îòðåäàêòèðîâàòü ôàéë - æìó F4. ×òåíèå - F3. Ñîõðàíåíèå - F2. Âûõîä èç ôàéëà - äâà ðàçà ESCAPE. Âñ¸ òàì ïðîñòî è êëàññíî! Äëÿ òîãî ÷òîáû ìíå áûëî óäîáíî ÿ åù¸ íàñòðàèâàþ ýòî. Äàëåå ëó÷øå ïåðåçàéòè íà ñåðâåð ïî ñâîåìó SSH. ß ñ÷èòàþ, ÷òî íîâè÷êàì òîæå ëó÷øå âñ¸ äåëàòü ÷åðåç mc. Èíà÷å òû íå âèäèøü ñèñòåìó ñ êîòîðîé ðàáîòàåøü.

Òàêæå ðåêîìåíäóþ ïîâåñèòü SSH íà êàêîé-íèáóäü äðóãîé ïîðò, ïîòîìó ÷òî ïî 22 îáû÷íî ëîìÿòñÿ êèòàéöû. Èíñòðóêöèè îïèñàíû, íàïðèìåð, òóò. Ïîñëå ñìåíû ïîðòà æåëàòåëüíî ïðîäåëàòü è ýòî:

"Äàííîå ïðàâèëî îãðàíè÷èâàåò áîëüøå 20-òè ïîäêëþ÷åíèå ê 80 ïîðòó(web) çà 15 ñåêóíä ñ 1 ip àäðåñà.
(êñòàòè, ïîäîáíîå ïðàâèëî åñòü íà óðîâíå nginx, íî ñæèðàåò îãðîìíîå êîëè÷åñòâî ðåñóðñîâ)":
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 15 --hitcount 20 -j DROP

"Ïðàâèëî îãðàíè÷èâàåò êîëè÷åñòâî ïîäêëþ÷åíèé ê SSH, íå áîëåå 4-õ ïîäêëþ÷åíèé çà 1 ìèíóòó":
iptables -A INPUT -p tcp --dport 354 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 354 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
"Ãäå 354 ïîðò âàøåãî ssh ñåðâåðà. Íà äåëå ó ìåíÿ íå ïîëó÷àëîñü àâòîðèçîâàòü áîëåå 1 ðàçà çà ìèíóòó. Äàëåå ýòî ïðàâèëî âû äàëüøå ìîæåòå àäàïòèðîâàòü ïîä ñåáÿ è äðóãèå ñåðâèñû."

Äîáàâëÿåì ïðàâèëà äëÿ çàïðåòà Simple Service Discovery Protocol (SSDP) ÷òîáû äàòàöåíòð íå ïðîñèë íàñ ýòî ñäåëàòü â áóäóùåì. Òàêæå áëîêèðóåì âñå ïîðòû êðîìå òåõ ÷òî íàì íóæíû (â ýòîì ïðèìåðå îòêðûâàåì òîëüêî ïîðò 22):
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1900 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1900 -j DROP
-A FORWARD -i eth0 -p tcp --dport 22 -j ACCEPT
-A FORWARD -i eth0 -j DROP
-A FORWARD -i eth0 -p tcp -m tcp --dport 1900 -j DROP
-A FORWARD -i eth0 -p udp -m udp --dport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p tcp -m tcp --sport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p udp -m udp --sport 1900 -j DROP
Ãäå 234.165.140.130 - ýòî IP àäðåñ âàøåãî ñåðâåðà â èíòåðíåòå.

Èëè òàê:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i eth0 -p tcp -m tcp -m multiport --dports 22 -j ACCEPT
-A INPUT -i eth0 -m conntrack -j ACCEPT --ctstate RELATED,ESTABLISHED
-A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i eth0 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p tcp -m tcp --sport 1900 -j DROP
-A OUTPUT -s 234.165.140.130/32 -p udp -m udp --sport 1900 -j DROP
-A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i eth0 -j DROP

Ïîñëå ðåñòàðòà ñèñòåìû âñå ïðàâèëà îáíóëÿòñÿ, ïî ýòîìó äåëàåì ñëåäóþùåå:
apt-get install ifupdown

Äàëåå ñîçäàåì è ðåäàêòèðóåì ôàéë /etc/network/if-up.d/00-iptables
nano -w /etc/network/if-up.d/00-iptables

Ïèøåì â íåãî:
#!/bin/sh
iptables-restore < /etc/firewall.conf

ñîõðàíÿåì è äåëàåì ôàéë èñïîëíÿåìûì:
chmod +x /etc/network/if-up.d/00-iptables

Ñîõðàíÿåì ïðàâèëà â ôàéë:
iptables-save | sudo tee /etc/firewall.conf

Âñ¸, ïðàâèëà íàñòðîåíû è ñîõðàíÿòñÿ ïîñëå ïåðåçàãðóçêè ñèñòåìû."

Âìåñòî ðó÷íîé ïðàâêè iptables ìîæíî èñïîëüçîâàòü fail2ban.

Ñèíõðîíèçèðóåì âðåìÿ:
apt-get install ntpdate
crontab -e
È ïðîïèñûâàåì â crontab:
* */4 * * * ntpdate 2.de.pool.ntp.org
Ìîæíî áûëî áû âûáðàòü áîëåå óäà÷íûé ñåðâåð âðåìåíè, íî ìíå âëîì èõ èñêàòü. Âñ¸ ðàáîòàåò íà䏿íî.

"Óñêîðÿåì îáùóþ ðàáîòó ñèñòåìû. Prelink è Preload. Prelink - äëÿ ñîçäàíèå ñòàòè÷íûõ àäðåñîâ áèáëèîòåê, Preload - ýòî íåáîëüøîå ïðèëîæåíèå, êîòîðîå ñëåäèò çà ôàéëàìè íàèáîëåå ÷àñòî èñïîëüçóåìûõ ïðèëîæåíèé, è çàãðóæàåò èõ â ïàìÿòü, êîãäà ñèñòåìà ïðîñòàèâàåò.
Óñòàíîâêà Prelink:
apt-get -y install prelink

Ðåäàêòèðóåì ôàéë /etc/default/prelink:
nano /etc/default/prelink

Èçìåíèòå ñòðîêó ñ PRELINKING=unknown íà PRELINKING=yes
Çàïóñêàåì:
/etc/cron.daily/prelink

Óñòàíîâêà Preload:
apt-get -y install preload"
Èíôîðìàöèÿ âçÿòà èç ýòîé ñòàòüè.

Ïðåäëàãàþ ïåðåíåñòè /tmp â îïåðàòèâíóþ ïàìÿòü. Â ñòàòüå ïî ññûëêè èçëîæåíû ïðåäïîñûëêè è ðåçóëüòàòû òàêîãî ïåðåíîñà. Äåëàåòñÿ òàê:
echo "tmpfs /tmp tmpfs size=8G,rw,nosuid,nodev 0 0" | tee -a /etc/fstab
reboot
UPD: òåïåðü ÿ äóìàþ, ÷òî ïåðåíîñèòü /tmp â îïåðàòèâêó íå íàäî. Ìîæíî ðàçîê ïîëîæèòü òóäà áîëüøîé ôàéë è ïîëîæèòü ñåðâåð. Ñìûñëà â ýòîì íåò îñîáî, ïîòîìó ÷òî ïàïêà â ïàìÿòè óæå åñòü è îíà íàçûâàåòñÿ /dev/shm - ýòî îáû÷íàÿ ïàïêà íå ñìîòðÿ íà òî, ÷òî ëåæèò â /dev.

Äàëåå ÿ îòêëþ÷àþ ðàçëè÷íûå ëèìèòû. Ïðè îòêëþ÷åíèè ëèìèòîâ ñåðâåð ìîæåò "æåñòêî óïàñòü", â ñëó÷àå áàãà â ïðîãðàììàõ. Íàïðèìåð, ïðîãðàììà ñúåñò âñþ ïàìÿòü. Íî, ïðè òàêèõ íàñòðîéêàõ ñåðâåð ñìîæåò äåðæàòü íàâåðíÿêà áîëåå âûñîêóþ íàãðóçêó. Âîò ÷òî ÿ ïðîïèñûâàþ â ôàéë /etc/security/limits.conf:

# Disable all limits for root
root - core 0
root - nofile 1048576
root - memlock unlimited
root - fsize unlimited
root - data unlimited
root - rss unlimited
root - stack unlimited
root - cpu unlimited
root - nproc unlimited
root - as unlimited
root - locks unlimited
root - sigpending unlimited
root - msgqueue unlimited

# Disable all limits for other users
* - core 0
* - nofile 1048576
* - memlock unlimited
* - fsize unlimited
* - data unlimited
* - rss unlimited
* - stack unlimited
* - cpu unlimited
* - nproc unlimited
* - as unlimited
* - locks unlimited
* - sigpending unlimited
* - msgqueue unlimited

Êàê âèäèòå, ó ìåíÿ ïàðàìåòð core ðàâåí íóëþ, ÷òîáû ñèñòåìà íå êàêàëà core-dump'àìè ïðè ñáîÿõ êàêîãî-íèáóäü php. Âñ¸ îñòàëüíîå ôàêòè÷åñêè áåç îãðàíè÷åíèé.

Òåïåðü íåîáõîäèìî îïòèìèçèðîâàòü ÿäðî ÷åðåç /etc/sysctl.conf. Åñòü ìàññà àëüòåðíàòèâíûõ êîíôèãîâ ýòîãî ôàéëà è ñïîðû íà ýòó òåìó. Âîò íåêîòîðûå ïðèìåðû.

Còàòüÿ ïðî îïòèìèçàöèþ ÿäðà: https://gist.github.com/kgriffs/4027835
È âîò ýòî äëÿ VDS: https://habrahabr.ru/post/186362/
À åù¸ âîò (ïðîâåðåíî ßíäåêñ.Òàíêîì): https://www.prolinux.org/post/nastroyki-nagruzhennogo-servera/
Âîò çäåñü ëèìèòû îòêëþ÷àþò âîîáùå: https://tobert.github.io/post/2014-06-24-linux-defaults.html

Îïèñàíèå ïàðàìåòðîâ sysctl.conf íà ðóññêîì ÿçûêå åñòü òóò:
http://adminunix.ru/nastrojka-sysctl/
è òóò
https://nikitushkin.wordpress.com/2011/02/12/%D0%B...D0%BF%D1%80%D0%B0%D0%B2%D0%BB/

Àêòèâíåå âûãðóæàåì íåèñïîëüçóåìûå ñòðàíèöû èç êåøà.
vm.vfs_cache_pressure = 1000
Èíà÷å êåø ñîæð¸ò âñþ ïàìÿòü è ýòîãî íå áóäåò âèäíî íè îäíîé òóëçîé! Ïîäðîáíîñòè òóò. ×òîáû îñâîáîäèòü ïàìÿòü íóæíî ñäåëàòü ýòî:
sync
echo 3 > /proc/sys/vm/drop_caches

Òàêæå íà ñâîé ñòðàõ è ðèñê ìîæíî äîáàâèòü ýòî:
"Ïîñëå ýòîãî ñòîèò íàñòðîèòü îòëîæåííóþ çàïèñü — ÿäðî áóäåò êîïèòü äàííûå, îæèäàþùèå çàïèñè íà äèñê, è çàïèñûâàòü èõ ëèáî ïðè îñòðîé íåîáõîäèìîñòè, ëèáî ïî èñòå÷åíèè òàéìàóòà. ß ñòàâëþ òàéìàóò íà 60 ñåêóíä, êòî-òî — íà 150.
Äëÿ ýòîãî îòêðûâàåì /etc/sysctl.conf è äîáàâëÿåì ïàðàìåòðû
vm.laptop_mode = 5 // Âêëþ÷åíèå ðåæèìà
vm.dirty_writeback_centisecs = 6000 âðåìÿ â ñÑê. Ò.å. 100åä = 1 ñåêóíäà"
Èñòî÷íèê: ñòàòüÿ íà õàáðå.

ß èñïîëüçîâàë êîíôèã ïî ïåðâîé ññûëêå. Åãî íàäî ïðîïèñàòü öåëèêîì â /etc/sysctl.conf. Ïîçæå ìîæíî ïðîòåñòèðîâàòü ñâîþ ñèñòåìó â äðóãèõ êîíôèãóðàöèÿõ. Ìîæíî âñ¸ èçó÷èòü è òàê áóäåò ëó÷øå, íî òåìà áîëüøàÿ.  öåëîì ìîé êîíôèã /etc/sysctl.conf âûãëÿäèò òàê:

#
# Èç ñòàòüè: https://www.prolinux.org/post/nastroyki-nagruzhennogo-servera/
#
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
net.ipv4.tcp_syncookies = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.swappiness = 0
net.ipv4.tcp_fack = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.udp_mem = 8388608 12582912 16777216
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.core.wmem_max = 8388608
net.core.rmem_max = 8388608
net.ipv4.tcp_rmem = 8192 87380 8388608
net.ipv4.tcp_wmem = 8192 87380 8388608
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 1
net.core.somaxconn = 300000
net.core.netdev_max_backlog = 8192
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_keepalive_time = 180
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_max_tw_buckets = 1000000
net.ipv4.ip_local_port_range = 1024 65535
net.nf_conntrack_max = 1000000

#
# Îòëîæåííàÿ çàïèñü — ÿäðî áóäåò êîïèòü äàííûå, îæèäàþùèå çàïèñè íà äèñê, è çàïèñûâàòü èõ ëèáî ïðè îñòðîé íåîáõîäèìîñòè, ëèáî ïî èñòå÷åíèè òàéìàóòà.
# ß ñòàâëþ òàéìàóò íà 60 ñåêóíä, êòî-òî — íà 150.
#
vm.laptop_mode = 5 # âêëþ÷åíèå ðåæèìà
vm.dirty_writeback_centisecs = 6000 # âðåìÿ: 100 åä. = 1 ñåêóíäà

#
# Lines, as recommended by the LXD project
#
fs.inotify.max_queued_events = 1048576
fs.inotify.max_user_instances = 1048576
fs.inotify.max_user_watches = 1048576

#
# Àêòèâíåå âûãðóæàåì íåèñïîëüçóåìûå ñòðàíèöû èç êåøà: https://blog.poiuty.com/dopolnitelnye-nastrojki-sysctl-conf.html
#
vm.vfs_cache_pressure = 10000

#
# Íàñòðîéêà äëÿ Redis
#
vm.overcommit_memory = 1

#
# Ïåðåçàãðóçêà ïðè îáíàðóæåíèè kernel panic
#
kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic = 20
kernel.unknown_nmi_panic = 1

Ïðèìåðíÿåì íàñòðîéêè èç êîíôãèà áåç ïåðåçàãðóçêè:
sysctl --system

Âêëþ÷èòü rc.local â Ubuntu 18.04 ìîæíî òàê:
https://askubuntu.com/questions/886620/how-can-i-execute-command-on-startup-rc-local-alternative-on-ubuntu-16-10
Äëÿ íîðìàëüíîé ðàáîòû Percona è Redis íàäî äîáàâèòü ýòó ñòðî÷êó â rc.local:
echo never > /sys/kernel/mm/transparent_hugepage/enabled

Óñòàíîâèì nginx:
apt-get install nginx

Òåïåðü ìîæíî íàñòðîèòü nginx. Èíôû îá ýòîì äîôèãà. Ìîæíî âîñïîëüçîâàòüñÿ ýòîé èíôîðìàöèåé ê ïðèìåðó. Ìîé êîíôèã /etc/nginx/nginx.conf âûãëÿäèò òàê.

Óñòàíîâèì âñ¸ íåîáõîäèìîå äëÿ php 7:
apt-get install php-fpm php-common php-cli
Òóò íàäî óáåäèòüñÿ, ÷òî íèêàêèõ ñðàíûõ Àïà÷åé íàì íå óñòàíîâèòñÿ.
Åñëè íóæíà áîëåå ñòàðàÿ âåðñèÿ PHP, òî ïðèä¸òñÿ èñïîëüçîâàòü íåîôôèöèàëüíûå ïàêåòû äëÿ ýòîãî. Ñïîñîá óñòàíîâêè php 5.6 îïèñàí òóò.

Êîíôèãóðèðîâàòü php-fpm ìîæíî òàê. Íî ÿ èñïîëüçîâàë ðåêîìåíäàöèè èç ñòàòüè âûøå.

Äëÿ php7 òàêæå íåîáõîäèìî óñòàíîâèòü êó÷ó ðàñøèðåíèé:
apt-get install php-geoip php-curl php-gd php-intl php-mysql php-tidy php-opcache php-json php-mcrypt php-bz2 php-readline php-xsl php-memcache php-bcmath php-mbstring php-xml php-zip php-memcached

Åñëè áû ýòî íóæíî áûëî ñäåëàòü âåðñèè 5.6, òî áûëî áû òàê:
apt-get install php-geoip php5.6-curl php5.6-gd php5.6-intl php5.6-mysql php5.6-tidy php5.6-opcache php5.6-json php5.6-mcrypt php5.6-bz2 php5.6-readline php5.6-xsl php-memcache php5.6-bcmath php5.6-mbstring php5.6-xml php5.6-zip php-memcached

Âíèìàíèå! PHP â öåëîì ÿâëÿåòñÿ âåñüìà õðåíîâûì ñðåäñòâîì ñ òî÷êè çðåíèÿ áåçîïàñíîñòè. Íàñòðàèâàòü êîíôèãè php.ini íóæíî âäóì÷èâî, âñ¸ òùàòåëüíî âçâåñèâ. Íàïðèìåð, æåëàòåëüíî îòêëþ÷èòü çàãðóçêó ôàéëîâ, åñëè îíà íå èñïîëüçóåòñÿ â âàøåì ïðîåêòå. Îïèñàíèå ìíîãèõ ëàçååê äëÿ õàêåðîâ è ìåð ïðåäîñòîðîæíîñòè ìîæíî íà÷àòü ÷èòàòü òóò: https://www.cyberciti.biz/tips/php-security-best-practices-tutorial.html Êîãäà ÿ áûë íàèâíûì è íå "áèòûì", òî äóìàë ÷òî ýòè ñòðàõè ïðåóâåëè÷åíû - ÿ ñèëüíî îøèáàëñÿ.

Óñòàíîâèì geoip:
apt-get install php-geoip geoip-database-contrib

Íàñòðàèâàòü òóò íè÷åãî íå íóæíî. Ðàçâå ÷òî â php.ini â íóæíîì ìåñòå ïðîïèñàòü íàñòðîéêó äëÿ browscap:
[browscap]
; http://php.net/browscap
browscap = /etc/php/7.0/modules-available/php_browscap.ini

Òóò ïóòü äîëæåí áûòü äðóãèì - òóäà ãäå ó âàñ íà ñàìîì äåëå ëåæèò php_browscap.ini. Ñàì ýòîò ôàéë ìîæíî âçÿòü íàïðèìåð òóò.

Óñòàíîâèì memached:
apt-get install memcached
Íàñòðîèòü åãî ìîæíî â ôàéëå /etc/memcached.conf. Ïîñìîòðèòå ýòîò ôàéë è ñàìè âñ¸ ïîéì¸òå. Îí ýëåìåíòàðíûé.

Òåïåðü ñòàâèì ÁÄ. Äëÿ âñåõ ëþáèòåëåé mysql ÿ íàñòîÿòåëüíî ðåêîìåíäóþ íå èñïîëüçîâàòü ñòàíäàðòíóþ ðåàëèçàöèþ ýòîé ÑÓÁÄ. Âìåñòî íå¸ èñïîëüçóåì Percona. Áóäåò ðîâíî òîæå ñàìîå, íî ñ âûèãðûøåì ïî ñêîðîñòè.

UPD: Percona 8.0 ñòàâèòñÿ òàê: https://www.percona.com/doc/percona-server/8.0/installation/apt_repo.html
(òî ÷òî íàïèñàíî äàëüøå ïðî óñòàíîâêó Percona íå àêòóàëüíî)

Ñëåäóþùèå êîìàíäû óñòàíîâÿò Percona:

cd /tmp
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
apt-get update
apt-get install percona-server-server-5.7

mysql -u root -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -u root -p -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -u root -p -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"

Ðàñøèôðîâêà óñòàíîâêè Percona òóò.

Äàëåå ìîæíî íàñòðîèòü å¸:
Ïðè íàñòðîéêå mysql / percona ìû äîëæíû ïîìíèòü îá ýòîì:
http://rimzy.net/category/mysql-5-7/
http://stackoverflow.com/questions/10905226/mysql-...ormance-tuning-recommendations
http://stackoverflow.com/questions/30901041/can-no...l-max-connections-in-ubuntu-15

Ìîé ôàéë /etc/mysql/percona-server.conf.d/mysqld.cnf âûãëÿäèò òàê:

#
# The Percona Server 5.7 configuration file.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
explicit_defaults_for_timestamp

local-infile = 0

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

# Recommended in standard MySQL setup
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links = 1

# GENERAL #
default-storage-engine = InnoDB

# MyISAM #
key-buffer-size = 96M
#myisam-recover = FORCE,BACKUP

# SAFETY #
max-allowed-packet = 16M
max-connect-errors = 1000000
sysdate-is-now = 1
innodb = FORCE

# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 500
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 1024
table-open-cache = 2048

# INNODB #
innodb-flush-method = O_DSYNC
innodb-log-files-in-group = 2
innodb-log-file-size = 512M
innodb-flush-log-at-trx-commit = 2
innodb-file-per-table = 1
innodb-buffer-pool-size = 32G

# LOGGING #
log-error = /var/log/mysql/error.log
log-queries-not-using-indexes = 0
slow-query-log = 0
#slow-query-log-file = /var/log/mysql/slow.log

Ñîçäàë ÿ åãî ñ ïîìîùüþ âèçàðäà íà ñàéòå Percona, ãäå ìîæíî ïîäîáðàòü ïàðàìåòðû ïîä ðàçíûå ñåðâåðà èç çàäà÷è. Áèíëîãè â ýòîé êîíôèãóðàöèè îòêëþ÷åíû!

Òåïåðü íàäî óñòðàíèòü îäèí êîñÿê ÑÓÁÄ. Âîò òàê:

cp /lib/systemd/system/mysql.service /etc/systemd/system/

Add the following lines to the bottom of the file /etc/systemd/system/mysql.service:
LimitNOFILE=infinity
LimitMEMLOCK=infinity

Now reload the Systemd configuration with:
systemctl daemon-reload

Ïîäðîáíîñòè òîãî çà÷åì ýòî íàäî áûëè â îäíîé èç ññûëîê âûøå.

Ñ îïòèìèçàöèåé íà ýòîì âñ¸. Òåïåðü íóæíî òåñòèðîâàòü âñ¸ ýòî õîçÿéñòâî è ìîíèòîðèòü. Íàïðèìåð, ñ ïîìîùüþ ßíäåêñ.Òàíêà.

Ìåòêè:  

LINUX: íàñòðîéêà CUPS

Äíåâíèê

Âòîðíèê, 14 Ôåâðàëÿ 2017 ã. 14:31 + â öèòàòíèê
Äëÿ Ubuntu 16.04:
apt-get install cups printer-driver-gutenprint

Ïîñëå ðåäàêòèðîâàíèÿ êîíôèãîâ â /etc/cups íóæíî îáÿçàòåëüíî âûïîëíèòü êîìàíäó:
cups-genppdupdate
Îíà îáíîâèò *.ppd ôàéëû â êàòàëîãå /etc/cups/ppd. Áåç ýòîãî ïðèíòåðû ìîãóò íå ðàáîòàòü èç-çà òîãî, ÷òî äðàéâåðû ñòàðîé âåðñèè.

Ìåòêè:  

LINUX: íàñòðîéêà MC è BASH

Äíåâíèê

Âîñêðåñåíüå, 05 Ôåâðàëÿ 2017 ã. 17:07 + â öèòàòíèê
 ~/.bashrc ÿ ïðîïèñûâàþ â íóæíûõ ìåñòàõ òàêèå ñòðî÷êè:

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# unlimited history
HISTFILESIZE=-1
HISTSIZE=-1
export PROMPT_COMMAND='history -a; history -n'

................

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

................

# beautifull colors
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fiif [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi


Èëè âîò òàêîé êðàñèâûé âàðèàíò äëÿ ðóòà:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt


È äëÿ îáû÷íîãî ïîëüçîâàòåëÿ:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\u\[\033[00m\]\[\033[01;33m\]@\[\033[00m\]\[\033[01;32m\]\h \[\033[00m\]\[\033[01;34m\]\w \[\033[00m\]\[\033[01;32m\]\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt



Ýòî è âñ¸ îñòàëüíîå â äàííîì ïîñòå äåëàëîñü äëÿ Ubutnu 16.04. Äàëåå ÿ ïðèâÿçûâàþ èñòîðèþ mc ê èñòîðèè bash:

ln -s ~/.profile ~/.local/share/mc/bashrc

Ïîäðîáíîñòè ýòî ïðè¸ìà òóò. Ýòî áóäåò ðàáîòàòü òîëüêî äëÿ êîìàíä, âûïîëíÿåìûõ â ðåæèìå Ctrl+O.

 Ubuntu ïðè ñîçäàíèè íîâîãî ïîëüçîâàòåëÿ íàäî óêàçûâàòü îáîëî÷êó bash âîò òàêèì îáðàçîì:
useradd ivan -s /bin/bash -m
èëè ñäåëàòü òîæå ñàìîå ÷åðåç usermod äëÿ ñóùåñòâóþùåãî ïîëüçîâàòåëÿ:
usermod ivan -s /bin/bash

Åñëè ýòîãî íå ñäåëàòü òî â òåðìèíàëå ïî óìîë÷àíèþ áóäåò sh, à íå bash è ðàáîòàòü ñòàíåò íåóäîáíî.

 êîíöå ôàéëà .bashrc ÿ îáû÷íî ðàçìåùàþ òàêóþ êîìàíäó:
umask 027
Îíà íóæíà äëÿ òîãî ÷òîáû ôàéëû ïî óìîë÷àíèþ ñîçäàâàëèñü ñ ïðàâàìè 640, à äèðåêòîðèè - ñ ïðàâàìè 750. Òî åñòü óáèðàþ ðàçðåøåíèÿ äëÿ "äðóãèõ" ïîëüçîâàòåëåé.

Ìåòêè:  

LINUX: ïîìåòêà bad-áëîêîâ íà ðàçäåëå

Äíåâíèê

Ïÿòíèöà, 03 Ôåâðàëÿ 2017 ã. 20:33 + â öèòàòíèê
fsck -t -y -f -c /dev/sda1

The keys and command options fsck:
y - always answer yes to all questions (there is an alternative: the -p key starts the test in a fully automatic mode);
f - forces a file system check (even if the file system is marked as fully functional)
c - looking for broken blocks (bad blocks), and then marks them accordingly
Remember: if bad sectors began to appear, it's time to change the hard drive.

Èñòî÷íèê: https://mintguide.org/system/283-how-to-check-and-...bad-sectors-in-linux-mint.html

Ðàçóìååòñÿ ðàçäåë äîëæåí áûòü îòìîíòèðîâàí èëè íàõîäèòüñÿ â ðåæèìå òîëüêî äëÿ ÷òåíèÿ.

Ìåòêè:  

LINUX: Íàñòðîéêà LXD

Äíåâíèê

×åòâåðã, 26 ßíâàðÿ 2017 ã. 23:45 + â öèòàòíèê
LXD - ýòî áîëåå áûñòðûé àíàëîã OpenVZ. Ðàáîòàë íàä íåé âîò ýòîò ïàðíèøà:

Ñòåôàí Ãðàáåð (Stéphane Graber). È ìíå êàæåòñÿ, ÷òî îí - ìîëîäåö!

Áàçîâàÿ ñòàòüÿ íà õàáðå ñ êîòîðîé ÿ íà÷èíàë: https://habrahabr.ru/company/selectel/blog/308208/
Áàçîâûå êîíñîëüíûå êîìàíäû è îòêóäà ëó÷øå êà÷àòü îáðàçû: https://linuxcontainers.org/lxd/getting-started-cli/
Ñðàâíåíèå ôàéëîâûõ ñèñòåì: https://github.com/lxc/lxd/blob/master/doc/storage-backends.md
Ðàáîòà ñî ñíàïøîòàïè: https://s3hh.wordpress.com/2016/05/08/using-lxd-snapshots/
Ñåðèÿ ñòàòåé íà ðóññêîì (ïåðåâîä): http://vasilisc.com/lxd-2-0-series
Îôôèöèàëüíàÿ ñòàòüÿ íà ñàéòå Óáóíòó: https://help.ubuntu.com/lts/serverguide/lxd.html
Îôèöèàëüíàÿ äîêóìåíòàöèÿ ïî íàñòðîéêå: https://github.com/lxc/lxd/blob/master/doc/configuration.md
Ñòàòüÿ ïî íàñòðîéêå ñåòè: http://vasilisc.com/network-management-lxd-2-3
Ñòàòüÿ ïî íàñòðîéêå ñåòåâîãî ìîñòà: https://bayton.org/2016/05/lxd-zfs-and-bridged-networking-on-ubuntu-16-04-lts/
Ñòàòüÿ ïî àâòîñòàðò êîíòåéíåðîâ: https://bitsandslices.wordpress.com/2015/08/26/autostarting-lxd-containers/
Ñïîñîáû ïðîáðîñà ïîðòîâ â êîíòåéíåð: http://askubuntu.com/questions/749063/reach-lxd-container-from-local-network
Áîëåå èíòåðåñíûå ñïîñîáû ïðîáðîñà ïîðòîâ: https://github.com/lxc/lxd/issues/1363
Óòèëèòà lxd-port-forward: https://dev.justinjudd.org/justin/lxd-port-forward
Îòëè÷íûé ñïîñîá ïåðåíàïðàâëåíèÿ ïîðòîâ ÷åðåç uPnP: http://bartsimons.me/lxc-lxd-port-forwarding-containers-using-upnp/

Ïîëàãàþ, ýòîãî ìàòåðèàëà äîñòàòî÷íî ÷òîáû íà÷àòü èñïîëüçîâàòü LXD. À âîò ìîè ëè÷íûå çàìåòêè ïî ïîâîäó LXD â Ubuntu 16.04.

0. Óñòàíàâëèâàòü lxd íà ñâåæèé! Ñëåäóþùèå øàãè ðàáîòàþò òîëüêî ñî ñâåæåé âåðñèåé lxd.
apt-get install software-properties-common
add-apt-repository ppa:ubuntu-lxc/lxd-stable
apt-get update
apt-get dist-upgrade
apt-get install lxd


1. Ñàì ñåðâèñ lxd äîëæåí çàïóñêàòü ÷åðåç system.d, à íå ÷åðåç init.d. Òîãäà ïðè âûêëþ÷åíèè õîñòà âèðòóàëüíûå ìàøèíû áóäóò òàêæå êîððåêòíî âûêëþ÷àòüñÿ - âíóòðè êîíòåéíåðîâ áóäåò âûçûâàòüñÿ íå÷òî âðîäå shutdown -h now ñ âûïîëíåíèåì âñåõ ïîëîæåííûõ ñêðèïòîâ. ×òîáû òàê ðàáîòàëî íåîáõîäèìî ñäåëàòü ñëåäóþùåå:

update-rc.d -f lxd remove
rm -f /etc/init.d/lxd
systemctl enable lxd.service
systemctl enable lxd-containers.service


2. Äëÿ íàñòðîéêè ïåðåíàïðàâëåíèÿ ïîðòîâ èñïîëüçóåì ýòó ñòàòüþ. Äåëàåì âñ¸ êàê â íåé çà èñêëþ÷åíèåì ïðàâêè ôàéëà /usr/lib/lxd/lxd-bridge.start - åãî óæå íå ñóùåñòâóåò â íîâîé âåðñèè LXD. Âìåñòî ýòîãî, ïåðåõîäèì ê ìîåìó ïóíêòó 3.

3. Êîíòåéíåðû ïðè ýòîì ÍÅ äîëæíû çàïóñêàòüñÿ àâòîìàòè÷åñêè. Ýòî íåîáõîäèìî äëÿ íàñòðîéêè ïåðåíàïðàâëåíèÿ ïîðòîâ ÷åðåç uPnP. Ïîñåìó îòêëþ÷àåì àâòîçàïóñê ìàøèí:

lxc config set íàçâàíèå_ìàøèíû boot.autostart 0

Òàêæå ìû äîëæíû ñäåëàòü ýòî:
systemctl disable linux-igd.service
update-rc.d -f linux-igd remove


Òåïåðü àâòîçàïóñê ìàøèí ìîæíî íàñòðîèòü â /etc/rc.local:

sleep 5
systemctl start linux-igd.service
lxc start íàçâàíèå_ìàøèíû
sleep 30
lxc exec cpa -- upnpc -a 10.10.128.2 8888 8888 tcp


Êðîìå òîãî, ìû òóò çàïóñêàåì ñåðâèñ äëÿ uPnP (linux-igd), êîòîðûé áóäåì èñïîëüçîâàòü äëÿ ïðîáðîñà ïîðòîâ. À ÷åðåç 30 ñåêóíä ïîñëå çàïóñêà ìàøèíû âûïîëíÿåì ÂÍÓÒÐÈ å¸ êîíòåéíåðà êîìàíäó äëÿ ïðîáðîñà ïîðòà 8888 (ïåðâîå ÷èñëî - ïîðò íà õîñòå, âòîðîå ÷èñëî - ïîðò âíóòðè êîíòåéíåðà). 10.10.128.2 - àäðåñ ñåòåâîãî èíòåðôåéñà êîíòåéíåðà âî âíóòðåííåé ñåòè LXD.

4. If you don’t want hard memory limit enforcement:
lxc config set my-container limits.memory.enforce soft

5. Increasing file and inode limits
Since it’s entirely possible we may in the future wish to run multiple LXD containers, it’s a good idea to already increase the number of open files and inode limits, this will prevent the dreaded “too many open files” errors which commonly occur with container solutions.

For the inode limits, open the /etc/sysctl.conf and add the following lines, as recommended by the LXD project:

fs.inotify.max_queued_events = 1048576
fs.inotify.max_user_instances = 1048576
fs.inotify.max_user_watches = 1048576


6. Ñòàòè÷åñêèé IP ìîæíî íàçíà÷èòü êîíòåéíåðó ïðèìåðíî òàê:
lxc network device add template-yakkety eth0 nic nictype=bridged parent=lxdbr0 name=eth0
cat | lxc config set template-yakkety raw.lxc - << EOF
lxc.network.0.ipv4 = 144.217.33.2/24
lxc.network.0.ipv4.gateway = 144.217.33.1
EOF

template-yakkety - ýòî èìÿ êîíòåéíåðà.
À âîò äðóãîé ïóòü è ìíå êàæåòñÿ, ÷òî îí ïðîùå!
Íî âñ¸ ýòî íåíà䏿íî è ãëþêàâî, ïîýòîìó ñàì Ñòåôàí ðåêîìåíäóåò âîò ÷òî:
"The recommendation is that you configure the distribution in the container to have a static IP.
On Ubuntu/Debian, that's done through /etc/network/interfaces
LXC does support setting those for you from outside the container, but most distributions will then fail to boot or will just unset that preset data."

7. Ñîáñòâåííûå êîíòåéíåðû íóæíî ñîçäàâàòü ïðèâèëåãèðîâàííûìè:
lxc config set èìÿ_êîíòåéíåðà security.privileged true
Èíà÷å áóäåò íåèçìåíÿåìîå îãðàíè÷åíèå ïî êîëè÷åñòâó îòêðûòûõ ôàéëîâ â êîíòåéíåðå è åù¸ êàêàÿ-íèáóäü õðåíü.

Ìåòêè:  

LINUX: Êàê äàòü âîçìîæíîñòü ëîãèíèòüñÿ þçåðó www-data

Äíåâíèê

Ïîíåäåëüíèê, 23 ßíâàðÿ 2017 ã. 00:14 + â öèòàòíèê
Âîò òàê: http://askubuntu.com/questions/702060/how-to-give-...to-www-data-to-log-in-with-ssh

1. Set a password for www-data:
sudo passwd www-data

2. Define a shell for www-data:
sudo usermod www-data -s /bin/bash

3. Give permission for login via ssh, edit /etc/ssh/sshd_config and add the following line (do not forget to enumerate all the users that need ssh access):
AllowUsers www-data

4. Êðîìå òîãî, ìîæíî ñîçäàòü äîìàøíþþ äèðåêòîðèþ äëÿ www-data ñ ïîìîùüþ mkhomedir_helper:
mkhomedir_helper www-data

Ìåòêè:  

LINUX: Îïòèìèçàöèÿ Web-ñåðâåðà

Äíåâíèê

Âîñêðåñåíüå, 22 ßíâàðÿ 2017 ã. 13:27 + â öèòàòíèê
Ccûëî÷êà íà ñòàòüþ: http://www.softwareprojects.com/resources/programm...r-high-traffic-sites-2081.html
Òàêæå åñòü åù¸ îäíà ñòàòüÿ ïðî îïòèìèçàöèþ ÿäðà: https://gist.github.com/kgriffs/4027835
È âîò ýòî äëÿ VDS: https://habrahabr.ru/post/186362/
À åù¸ âîò (ïðîâåðåíî ßíäåêñ.Òàíêîì): https://www.prolinux.org/post/nastroyki-nagruzhennogo-servera/
Âîò çäåñü ëèìèòû îòêëþ÷àþò âîîáùå: https://tobert.github.io/post/2014-06-24-linux-defaults.html

Îïèñàíèå ïàðàìåòðîâ sysctl.conf íà ðóññêîì ÿçûêå åñòü òóò:
http://adminunix.ru/nastrojka-sysctl/
è òóò
https://nikitushkin.wordpress.com/2011/02/12/%D0%B...D0%BF%D1%80%D0%B0%D0%B2%D0%BB/

Ïðè íàñòðîéêå mysql / percona ìû äîëæíû ïîìíèòü îá ýòîì:
http://rimzy.net/category/mysql-5-7/
http://stackoverflow.com/questions/10905226/mysql-...ormance-tuning-recommendations
http://stackoverflow.com/questions/30901041/can-no...l-max-connections-in-ubuntu-15

Ìåòêè:  

Linux: íàñòðîéêà WebDAV â NGINX

Äíåâíèê

Âòîðíèê, 17 ßíâàðÿ 2017 ã. 20:18 + â öèòàòíèê
Ïðîñòî ÷òîáû íå çàáûòü. Âîò ññûëêà: http://nginx.org/ru/docs/http/ngx_http_dav_module.html

Ìåòêè:  

LINUX: Êàê ñäåëàòü íîðìàëüíîå öâåòíîå ïðèãëàøåíèå â bash â Ubuntu

Äíåâíèê

Ñóááîòà, 24 Ñåíòÿáðÿ 2016 ã. 17:11 + â öèòàòíèê
 Ubuntu ïðè ñîçäàíèè íîâîãî ïîëüçîâàòåëÿ íàäî óêàçûâàòü îáîëî÷êó bash âîò òàêèì îáðàçîì:
useradd ivan -s /bin/bash -m
èëè ñäåëàòü òîæå ñàìîå ÷åðåç usermod äëÿ ñóùåñòâóþùåãî ïîëüçîâàòåëÿ:
usermod ivan -s /bin/bash

Åñëè ýòîãî íå ñäåëàòü òî â òåðìèíàëå ïî óìîë÷àíèþ áóäåò sh, à íå bash è ðàáîòàòü ñòàíåò íåóäîáíî.

Ýòà èíôîðìàöèÿ âçÿòà îòñþäà:
http://askubuntu.com/questions/643411/ubuntu-14-04...mand-line-has-missing-features

Íà âñÿêèé ñëó÷àé äîáàâëþ êàê ñäåëàòü áîëåå ðàçíîöâåòíîå ïðèãëàøåíèå bash:
http://www.calculate-linux.org/blogs/ru/193/show

Ìåòêè:  

Linux: êàê ïîñìîòðåòü ñïèñîê îòêðûòûõ ïîðòîâ â ñèñòåìå?

Äíåâíèê

Ñðåäà, 22 Èþíÿ 2016 ã. 23:20 + â öèòàòíèê
lsof -Pni4

Ìåòêè:  

Óñòàíîâêà OrientDB íà Debian è Ubuntu

Äíåâíèê

Ñðåäà, 02 Ñåíòÿáðÿ 2015 ã. 12:10 + â öèòàòíèê

Ìåòêè:  

Linux: Òþíèíã SAMBA

Äíåâíèê

Âòîðíèê, 16 Ñåíòÿáðÿ 2014 ã. 02:19 + â öèòàòíèê
Âîò òóò åñòü äåëüíûå ðåêîìåíäàöèè ïî òþíèíãó Samba. Ïðîâåðåíî, ðàáîòàåò î÷åíü õîðîøî.
Ñóòü òàêîâà:

[global]
dos charset = cp866
unix charset = UTF8
display charset = UTF8
log level = 1
socket options = TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT
max xmit = 65535 # Default
dead time = 15 # Default is 0
getwd cache = yes
#lpq cache = 30
log file = /dev/null
max log size = 1

Ïîñëå ýòîãî ó ìåíÿ ñêîðîñòü ïåðåäà÷è ôàéëîâ ïî ñåòè ñòàëà â íåñêîëüêî ðàç áûñòðåå.

Ìåòêè:  

Linux: Ìåíåäæåð àâòîçàãðóçêè

Äíåâíèê

Âòîðíèê, 16 Ñåíòÿáðÿ 2014 ã. 16:35 + â öèòàòíèê
Âñ¸ âðåìÿ çàáûâàþ ýòó êîìàíäó: sysv-rc-conf

Ìåòêè:  

Linux: Óñòàíîâêà Oracle JDK8 èëè JDK7 íà Ubuntu 12.04 LTS è Debian

Äíåâíèê

Âîñêðåñåíüå, 24 Àâãóñòà 2014 ã. 11:52 + â öèòàòíèê
Âîò òóò âñ¸ íàïèñàíî äëÿ Ubuntu: http://askubuntu.com/questions/56104/how-can-i-ins...prietary-java-jdk-6-7-8-or-jre
Âîò òóò äëÿ Debian: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

Áûñòðûé ïóòü äëÿ Ubuntu 12.04 òàêîé:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Áûñòðûé ïóòü äëÿ Debian:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer

Äàëåå â .bashrc õîðîøî áû äîáàâèòü òàêóþ ñòðî÷êó:
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8

Ìåòêè:  

Íàñòðîéêà NFS êëèåíòà â Windows

Äíåâíèê

Ñóááîòà, 05 Àïðåëÿ 2014 ã. 23:46 + â öèòàòíèê
Ó ìåíÿ ïîëó÷èëîñü ýêñïîðòèðîâàòü òîëüêî îòäåëüíûå êàòàëîãè. Âñþ ôàéëîâóþ ñèñòåìó íà ñåðâåðå ýêñïîðòèðîâàòü íå ïîëó÷àåòñÿ: â ýòîì ñëó÷àå âèíäîâûé êëèåíò îòêàçûâàåòñÿ ïåðåèìåíîâûâàòü ïàïêè. Òàêæå íîðìàëüíî ðàáîòàòü ïîëó÷àåòñÿ òîëüêî ñ ôàéëàìè â ìàñêå 0666 è áîëåå. Åñëè ñíÿòü äîñòóï íà "çàïèñü äëÿ äðóãèõ", òî âèíäà îòêàçûâàåòñÿ ðåäàêòèðîâàòü òàêèå ôàéëû, õîòÿ ïîëüçîâàòåëü âèíäû ÿâëÿåòñÿ õîçÿèíîì ôàéëà íà ëèíóêñîâîì ñåðâåðå. Òàê ÷òî ïðèä¸òñÿ âåçäå ïðîñòàâëÿòü 0666.

Ñîäåðæèìîå /etc/exports íà ñåðâåðå ó ìåíÿ ñëåäóþùåå:
/home/blade 192.168.80.0/24(rw,no_root_squash,no_subtree_check,async,no_wdelay,all_squash,anonuid=1000,anongid=1000,insecure)
/var/www 192.168.80.0/24(rw,no_root_squash,no_subtree_check,async,no_wdelay,all_squash,anonuid=1000,anongid=1000,insecure)

 âèíäå ïàïêè ìîíòèðóþòñÿ òàê:
mount -o fileaccess=666,anon,nolock,mtype=soft,timeout=2retry=5 192.168.80.27:/home/blade Y:
mount -o fileaccess=666,anon,nolock,mtype=soft,timeout=2,retry=5 192.168.80.27:/var/www Z:

Êîãäà ìû íàñòðîèëè NFS â Linux ñåðâåðå è ïîäêëþ÷èëèñü ê íåìó â âèíäå, ïî óìîë÷àíèþ âèíäà ñîçäà¸ò ôàéëû ñ äîñòóïîì íà âûïîëíåíèå (+x).  ðåçóëüòàòå ïîëó÷àåòñÿ íåêðàñèâî... ×òîáû ýòî èñïðàâèòü íàäî:
1. Âêëþ÷èòü àäìèíèñòðàòèâíûå ñëóæáû NFS â êîìïîíåíòàõ Windows: http://www.home.agilent.com/agilent/editorial.jspx...090&nid=-11143.0.00&id=2106090
2. Èçìåíèòü çíà÷åíèÿ ïî óìîë÷àíèþ äëÿ êëèåíòà NFS: http://technet.microsoft.com/en-us/library/cc754304.aspx
Ïîñëå ýòèõ íàñòðîåê ñëóæáó NFS â âèíäå íåîáõîäèìî ïåðåçàïóñòèòü!
Òàêèì îáðàçîì ìîæíî èçáåæàòü äàííîé ïðîáëåìû.
windows_nfs_settings (700x567, 170Kb)

À ÷òîáû âèíäà íå ñïðàøèâàëà êàæäûé ðàç õî÷ó ëè îòêðûòü êàêîé-òî ôàéë â ëîêàëêå íóæíî ñêîïèðîâàòü è âñòàâèòü ñëåäóþùóþ ñòðîêó â òåêñòîâûé ôàéë è ñîõðàíèòü êàê openfilefix.reg:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Associations]
"LowRiskFileTypes"=".bat;.reg;.vbs;.php;.tpl;.txt;.html;.htm;.css;.jpg;.png;.psd;.doc;.xml;.js;.java;.class;.c;.cpp;.make;.phar;.jar;"
Äàëåå êëèêíóòü ïî ôàéëó äâîéíûì ùåë÷êîì ÷òîáû èíôîðìàöèÿ ïðîïèñàëàñü â ðååñòð. Âçÿòî îòñþäà.

Òàêæå ìîæíî ñäåëàòü ñëåäóþùåå:
1. Go into internet options, through control panel or IE.
2. Set the "Launching Applications and Unsafe Files" option to enabled.
This will give you a retarded bar in IE that says your security settings are unsecure or something.
To get rid of it:
1. Start>Run>gpedit.msc>Enter
2. Under Administrative Templates>Windows Components>Internet Explorer set the "Turn Off the security settings check feature" to enabled.
If you don't have Internet Explorer under windows components:
1. right click Administrative Templates and click "Add/Remove Templates"
2. Click Add button
3. Navigate to "C:\WINDOWS\system32\GroupPolicy\ADM\"
4. Hold shift and highlight all the files that start with "inet"

Âçÿòî îòñþäà.

Ìåòêè:  

LINUX: óñêîðåíèå SSH

Äíåâíèê

Âîñêðåñåíüå, 23 Ìàðòà 2014 ã. 18:35 + â öèòàòíèê
Âîò òóò îïèñàíî êàê ìîæíî óñêîðèòü SSH ñîåäèíåíèå äëÿ X11Forwarding:
http://blog.samat.org/2006/05/08/best-ssh-options-for-x11-forwarding

Åñëè êîðîòêî, òî ñóòü â ýòîì:
ssh -c arcfour,blowfish-cbc -XC root@server.com

Øèôðîâàíèå arcfour ðàáîòàåò áûñòðåå âñåãî.

Ìåòêè:  

 Ñòðàíèöû: [2] 1