-
Notifications
You must be signed in to change notification settings - Fork 7
Linuxmisc
Если установка изначально была произведена на отдельный раздел для /boot
(который при загрузке монтируется в /boot
), а теперь нужно удалить этот раздел, а /boot
держать на главной файловой системе /
, то нужно сделать следующее:
- загрузиться обычной загрузкой
sudo umount /boot
- проверить, что папка
/boot
пустая на корневой файловой системе:ls -lha /boot
sudo mkdir /mnt/boot
- примонтировать бывший раздел
/boot
:sudo mount /dev/sdXX /mnt/boot
sudo cp -a /mnt/boot/ /boot
- закомментировать запись в
/etc/fstab
, которая монтирует старый раздел/boot
:nano /etc/fstab
sudo update-grub
-
sudo grub-install --recheck /dev/sda
(откуда грузиться, важно выполнить послеupdate-grub
) - перезагрузится и все должно работать:
sudo reboot
Если пришлось грузиться с загрузочной флешки, то починиться можно используя chroot
:
sudo mkdir /mnt/rootfs
-
sudo mount /dev/sda1 /mnt/rootfs
(примонтировать корневую файловую систему в/mnt/rootfs
) - примонтировать
/dev
,/proc
,/sys
:sudo mount --bind /dev /mnt/rootfs/dev
и т.д. sudo chroot /mnt/rootfs
sudo grub-install /dev/sda и/или sudo grub-install --recheck /dev/sda
Устанавливаем нужные модули: ##Защита от DDOS
-
На уровне Apache:
sudo apt-get install libapache2-mod-evasive
Модуль включится, затем нужно будет сделать след. настройки в apache2:# added by andyceo # tuning mod_evasive module <IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 20 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 30 DOSEmailNotify andyceo@yandex.ru </IfModule>
полезные ссылки:
http://www.lissyara.su/?id=1602
http://dd0s.blogspot.com/2008/03/flood-ddos-http-moddosevasive.html
http://blog.mironovs.com/2009/01/zashhita-ot-legkoj-flood-i-ddos-ataki-po-http-protokolu-ispolzuya-mod_dosevasive/
http://www.linuxcenter.ru/lib/articles/networking/apache_secure.phtml
-
Качнуть скрипт:
wget http://www.rfxn.com/downloads/apf-current.tar.gz
(можно почитать саму страницу: http://www.rfxn.com/projects/advanced-policy-firewall/) -
Установить:
cd ~ wget http://www.r-fx.ca/downloads/apf-current.tar.gz tar -xvf ./apf-current.tar.gz cd apf-9.6-5 - заменить версию на свою! sudo ./install.sh
-
затем:
cd ~ удалить apf-9.6-5 - заменить версию на свою! запустить скрипт: apf -s
-
Разрешить протокол SSH
Ссылки:
- источник: http://adminco.org/2008/11/firewall-dlya-hosting-servera
- Полезная ссылка по APF: Advanced Policy Firewall (APF)
-
sudo aptitude install php5-imap
-
Далее, в файле php.ini проверим, чтобы IMAP загрузился нормально:
; install APC extension=apc.so
; install IMAP (for Atrium) extension=imap.so
-
Затем, перезапускаем веб-сервер:
sudo /etc/init.d/apache2 restart
-
Некоторые утверждают, что на этом этапе - все. Но можно было внести еще настройки:
[imap] IMAP c-Client Version => 2004 SSL Support => enabled Kerberos Support => enabled
-
Источник: http://drupalhigh.onsugar.com/2188455
##Мониторинг дисков HDD S.M.A.R.T.
- Ставим пакет утилит:
sudo apt-get install smartmontools
- Посмотреть SMART - статистику:
sudo smartctl --all /dev/hda
Отсутствует иконка скайпа в панелях Unity. Решение:
gsettings get com.canonical.Unity.Panel systray-whitelist
# ['JavaEmbeddedFrame', 'Wine', 'scp-dbus-service', 'Update-notifier'] добавьте Skype:
gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'scp-dbus-service', 'Update-notifier', 'Skype']"
nohup unity --replace &
# или рестарт сеанса
Источники:
- http://ubuntuforums.org/showthread.php?t=1861843
- http://korenkov.info/ubuntu-1110-skype-notification-icon
- Язык установки - English
- Страна, территория или зона: other
- Европа
- Россия
- United States:en_US.UTF-8
- Detect Keyboard: no
- Country of origin keyboard: Russian
- Keyboard layout: Russian
- Keyboard toggling method: Alt+Shift
- http://superuser.com/questions/228657/which-linux-filesystem-works-best-with-ssd
- https://sites.google.com/site/easylinuxtipsproject/ssd#TOC-Avoid-quick-wear:-reduce-write-actions
- https://help.ubuntu.com/12.04/serverguide/advanced-installation.html
- https://help.ubuntu.com/community/UbuntuDesktopLVM#Install_lvm2_onto_your_new_Ubuntu_Install
Для моего ультрабука:
- swap:
/etc/sysctl.conf
#!conf
vm.swappiness=1
vm.vfs_cache_pressure=50
Установка драйверов: sudo aptitude install linux-backports-modules-cw-3.5-precise-generic
-
Создать загрузочную флешку с Ubuntu 13.04
-
Поставить в Bios загрузку “только UEFI”
-
Загрузиться с флешки. Если при загрузке появляется выбор, как зарузиться с флешки (EFI или Legacy) - то это значит, что п.2 не выполнен. Можно загрузиться через UEFI, выполнив загрузку с помощью EFI “Try Ubuntu”
-
Открыть gparted и разметить диски (см. картинки)
-
Открыть терминал и разметить диски с lvm
#!bash sudo pvcreate /dev/sda1 sudo pvcreate /dev/sdb3 sudo vgcreate hddlvg /dev/sda1 sudo vgcreate ssdlvg /dev/sdb3 sudo lvcreate -L 1G -n lvswap hddlvg sudo lvcreate -l 100%FREE -n lvrootfs ssdlvg sudo lvcreate -L 100G -n lvhome hddlvg sudo lvcreate -L 100G -n lvvar hddlvg
-
Установить систему, используя штатный графический установщик, не забыв правильно прописать точки монтирования для
/
,/home
,/var
,swap
, небольшой раздел дляBIOS
и загрузочную запись.
-
Штатно обновляем систему
-
Затем убираем одно fail-сообщение при загрузке (boot.log) - Samba стартует дважды (подробнее см. здесь):
echo manual | sudo tee /etc/init/samba-ad-dc.override
- Установить etckeeper и git и настроить etckeeper (тут)
- Произвести тонкий тюнинг настроек:
- fstab: ext4 и параметры: defaults,noatime,nodiratime,discard,errors=remount-ro - для всех разделов на ssd-дисках
- /etc/rc.local добавить строчку до exit 0: echo deadline > /sys/block/sdb/queue/scheduler - для всех ssd-дисков
- убрать заставку при загрузке ubuntu и сделать меню видимым:
- sudo nano /etc/default/grub
- закомментировать все что с HIDDEN
- убрать splash
- GRUB_TIMEOUT=1
- sudo update-grub
- Установить все программы, не требующие настройки (тут)
- Установить Dropbox (тут)
- Установить Google Chrome
- Установить Skype через Центр приложений
- Установил Steam из менеджера приложений
- Включить поддержку команды TRIM (это уже поддерживается в Ubuntu 14.04:
-
указать параметр
discard
у разделовext4
в/etc/fstab
-
запланировать работу через планировщик
cron
:sudo nano /etc/cron.daily/trim
#!/bin/sh LOG=/var/log/trim.log echo "*** $(date -R) ***" >> $LOG fstrim -v / >> $LOG fstrim -v /home >> $LOG
-
Вместо пункта 2) можно периодически запускать
sudo fstrim -v /
-
- Заказать KVM в техподдержке
- Затем, через KVM установить Ubuntu 12.04 Server стандартным установщиком (см. [Типичная установка Ubuntu 12.04 на сервер](Ubuntu Installation)). Язык системы везде выбирал как English, раскладку клавиатуры - русскую.
Самая сложная часть - это первоначальная настройка сети при установке и разбиении дисков для использования RAID-1
. Также, не выбирайте шифрование домашней папки - это повлияет на вход по ssh
по ключу, а также и просто на то, что файлы внутри шифрованной домашней директории, будут недоступными до тех пор, пока вы не залогинитесь на сервер - а логинится придется через пароль. Забегая вперед, можно конечно хранить ключи в одном файле в /etc/ssh/authorized_keys
, но раздельно для пользователей - безопасней и гибче. Если же надо что-то хранить в зашифрованном виде, то для этого можно создать отдельную папку и монтировать ее с файловой системой Ecryptfs
.
После этого, настройка сервера становится тривиальной - установить и настроить нужный софт и наслаждаться.
Настройку сети надо было производить вручную. После применения этих параметров, cat /etc/network/interfaces
выдает следующее:
#!bash
andyceo@hyperion:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 46.165.205.79
netmask 255.255.255.192
network 46.165.205.64
broadcast 46.165.205.127
gateway 46.165.205.126
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 178.162.151.41 217.20.116.1 217.20.115.1 8.8.8.8 8.8.4.4
dns-search leaseweb.com
andyceo@hyperion:~$
#!bash
andyceo@hyperion:~$ cat /etc/hostname
hyperion
andyceo@hyperion:~$
#!bash
andyceo@hyperion:~$ hostname
hyperion
andyceo@hyperion:~$
#!bash
andyceo@hyperion:~$ cat /etc/hosts
127.0.0.1 localhost
46.165.205.79 hyperion.leaseweb.com hyperion
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
andyceo@hyperion:~$
При настройке нового сервака можно/нужно использовать аналогичные параметры (имею в виду собственно сетевые параметры, а также hostname
, домен сервера и т.д.). Когда я запросил параметры сети, поддержка дала мне одни параметры, а когда я устанавливал операционку через админку - другие. Вот письмо от поддержки:
#!bash
Main IP:
IP: 46.165.205.79
network: 46.165.205.64
netmask: 255.255.255.192
gateway: 46.165.205.126
broadcast: 46.165.205.127
As DNS servers you can use:
DNS1: 217.20.115.1
DNS2: 217.20.116.1
The network details for your additional IPs are the same as for the main
IP: 46.165.205.105 / 46.165.205.106
network: 46.165.205.64
netmask: 255.255.255.192
gateway: 46.165.205.126
broadcast: 46.165.205.127
Please note that you only need to set the gateway once, unless you
do use VServers on your server. If you simply use your additional
IPs on the same OS, then you only need to set one gateway, the one
for the main IP. Setting more than one gateway can lead to the server
being unreachable.
После установки ОС из админки:
#!bash
andyceo@hyperion:~$ cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 46.165.205.79
netmask 255.255.255.192
network 46.165.205.69
broadcast 46.165.205.126
dns-nameservers 178.162.151.41 217.20.116.1 217.20.115.1
dns-search leaseweb.com
andyceo@hyperion:~$
#!bash
andyceo@hyperion:~$ cat /etc/hostname
hyperion
andyceo@hyperion:~$
#!bash
andyceo@hyperion:~$ cat /etc/hosts
127.0.0.1 localhost
46.165.205.79 hyperion.leaseweb.com hyperion
andyceo@hyperion:~$
В админке в разделе Manage сервера при конфигурации IP-адресов в качестве адресов Reverse Lookup
надо задать hyperion.leaseweb.com
.
Полезной ссылкой при настройке сети является: Настройка сети вручную
Добавляем несколько IP на тот же сетевой интерфейс: Настройка сети вручную: FAQ по сетям, ищем на этой странице "Как присвоить два IP-адреса одной сетевой карте?"
Для прописывания статического IP в системе, правим файл /etc/network/interfaces
:
#!bash
iface eth0 inet static
address 192.168.12.222
netmask 255.255.255.0
gateway 192.168.12.1
dns-search vseinstrumenti.ru
dns-nameservers 192.168.12.250 192.168.12.251
# dns-nameservers 195.94.224.4 195.94.224.3
auto eth0
Разбиение дисков на разделы и создание RAID-1
очень подробно и понятно описано здесь: Расширенная установка. Я делал полностью по нему.
Также из полезных ссылок на ту же тему я бы заметил:
- http://linux-beginner.ru/ubuntu-on-raid1/
- http://interface31.ru/tech_it/2011/10/ubuntu-server-administrirovanie-programmnogo-raid.html
- http://habrahabr.ru/post/145585/
Состояние массива в работающей системе можно посмотреть командой: cat /proc/mdstat
-
Dropbox. Сначала мы устанавливаем и настраиваем Dropbox, чтобы синхронизировать различные настройки пользователя - это нужно, чтобы потом все команды выполнялись раскрашенными, появились все нужные алиасы и настройки. После установки и настройки по статье, нужно доделать следующие вещи:
-
Добавим почти все папки в игнор-лист (все, кроме
Dropbox/home
):./dropbox.py exclude add Dropbox/2Delete Dropbox/Apps Dropbox/Backups Dropbox/Books Dropbox/Business "Dropbox/Camera Uploads" Dropbox/Develop Dropbox/Documentation Dropbox/Documents Dropbox/Photos Dropbox/Public Dropbox/SavedGames Dropbox/Shared Dropbox/Torrents Dropbox/Work "Dropbox/Linux Programs" "Dropbox/Windows Programs"
-
После того как Dropbox окончательно синхронизируется (т.е. когда
./dropbox.py status
выдастIdle
), нужно создать симлинки из моей папкиDropbox/home
на соответствующие файлы и папки в своей домашней директории~
, а также удалить этот скриптdropbox.py
, т.к. в папкеDropbox/home
он уже есть, и его можно вызывать просто:dropbox
.
-
-
whoopsie. В Ubuntu 12.04 как в серверной, так и в десктопной редакции есть пакет
whoopsie
. Он собирает и отсылает информацию о различных падениях. Можно его просто удалить:sudo aptitude purge whoopsie
Полезные ссылки:
-
monit. Настройка мониторинга: monit [cacti | munin]
-
cacti. Настройка мониторинга: cacti
@todo: написать про установку и настройку monit-сервера и, возможно, cacti или munin.
-
AwStats. Настройка анализатора логов AwStats
Для анализа логов также можно использовать консольные утилиты apachetop, visitors, wtop (нет в репозитории), etc.
Установим
AwStats
:sudo aptitude install awstats
.Для каждого хоста, для которого нужна статистика, делаем:
cp /etc/awstats/awstats.conf /etc/awstats/awstats.yourdomain.ext.conf
Затем делаем следующие изменения в этом файле
nano /etc/awstats/awstats.yourdomain.ext.conf
LogFile="/var/log/apache2/access.log" SiteDomain="yourdomain.ext" HostAliases="localhost 127.0.0.1 yourdomain.ext"
Генерируем первоначальную статистику: /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update
@todo - решить вопрос с кронтабом и конфигурацией apache2
Полезные ссылки:
-
понадобятся следующие пакеты:
sudo aptitude install alien python-dev libaio-dev
python-dev
является виртуальным пакетом и под Ubuntu 11.04 указывает наpython2.7-dev
Также потребуется утилитаcx-oracle
изPython Packages index
(pypi
), но чтобы ее поставить, нам необходимо произвести все следующие действия. -
Скачать Oracle Instant Client: на странице выбрать свою архитектуру, например, Instant Client for Linux x86-64, затем скачать следующие rpm-пакеты:
- oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm (58,296,106 bytes) (cksum - 2478810042) - это Instant Client Package - Basic (могут быть различия в номере версии, выбирайте последнюю)
- oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm (608,014 bytes) (cksum - 2458530753) - это Instant Client Package - SDK (могут быть различия в номере версии, выбирайте последнюю)
-
затем, с помощью утилиты alien конвертировать rpm-пакеты в deb-пакеты:
sudo alien --scripts oracle-instantclient*.rpm
(нужно быть в папке, где лежат скачанные rpm-пакеты)
-
установить deb-пакеты. При установке может возникнуть предупреждение, в котором будет сказано, что пакеты плохого качества, обычно это бывает из-за некорректно проставленной почты. Игнорировать предупреждение и поставить пакеты.
-
далее, необходимо настроить переменную окружения
ORACLE_HOME
, которая будет указывать на папку с установленными пакетами Instant Client'а. Для начала, посмотрим информацию об установленных пакетах:dpkg -L oracle-instantclient11.2-basic dpkg -L oracle-instantclient11.2-devel
В случае 64-битной системы, нас будет интересовать папка наподобие
/usr/lib/oracle/11.2/client64
. Нужно задать переменнуюORACLE_HOME=/usr/lib/oracle/11.2/client64
, так, чтобы она была видна и из-под текущего пользователя, и из подroot
. Для этого нужно:-
создать файл в
/etc/profile.d
:cd /etc/profile.d touch oraclesucks.sh cat oraclesucks.sh export ORACLE_HOME=/usr/lib/oracle/11.2/client64
-
в файле
/etc/sudoers
прописать сохранение переменнойORACLE_HOME
при выполнении командыsudo
директивойenv_keep
:sudo visudo Defaults env_keep = "ORACLE_HOME PATH"
-
-
далее, нужно прописать настройки доступа к базам данных, к которым планируется доступ через Oracle Instant Client:
-
создать папку в $ORACLE_HOME:
mkdir -p network/admin/
-
положить туда файл
tsnames.ora
:network/admin/tsnames.ora
файл следующего содержания:
YOURNAME1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1521)) ) (CONNECT_DATA = (SID = YOURNAME1) (SERVICE_NAME = YOURNAME1) (SERVER = DEDICATED) ) ) YOURNAME2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = yyy.yyy.yyy.yyy) (PORT = 1521)) ) (CONNECT_DATA = (SID = YOURNAME2) (SERVICE_NAME = YOURNAME2) (SERVER = DEDICATED) ) )
-
-
поставить пакет
cx-Oracle
, для работы Python с Oracle:sudo pip install cx-Oracle
Должно все успешно скомпилироваться, и можно запускать mlb.
-
после установки, возможно, придется вручную прописывать пути до некоторых оракловых библиотек. Для этого надо добавить файлы с описанием путей в
/etc/ld.so.conf.d/
:cd /etc/ld.so.conf.d/ touch oraclesucks.conf cat oraclesucks.conf /usr/lib/oracle/11.2/client64/lib
Посмотреть текущий реестр динамических библиотек: ldconfig -p
- Скачать образ винды локально, пусть это будет
Win10_21H2_Russian_x64.iso
- Установить WoeUSB из PPA
- Если он меньше версии
5.1.3
, пропатчить в соответствии с https://github.com/WoeUSB/WoeUSB/pull/83/commits/1be22083bcdf42f49cb73bfd024c0f2d2093c669 - Вставить флешку. Допустим она определиться как /dev/sdx
- Сделать загрузочную флешку командой:
sudo woeusb --target-filesystem NTFS --device Win10_21H2_Russian_x64.iso /dev/sdc
Footer is under construction
Sidebar is under construction