Showing posts with label ubuntu. Show all posts
Showing posts with label ubuntu. Show all posts

Sunday, January 5, 2020

Установка Kubernetes на Ubuntu

Всем привет! Сегодня я расскажу о своем опыте установки kubernetes на локальную машину с установленной ubuntu. Итак, поехали
  1. В самом начале нам необходимо в BIOS отключить безопасность загрузчика
    Boot Secure DISABLE
  2. Затем необходимо проделать несколько шагов для установки virtualbox
    sudo apt-get update
    sudo apt-get install -y apt-transport-https
    sudo apt-get install -y virtualbox virtualbox-ext-pack
  3. После этого начинаем ставить minikube
    curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.29.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
  4. Также необходимо установить командную оболочку kubectl
    curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
  5. Запускаем minikube
    minikube start
  6. Смотрим статус запущенного приложения
    kubectl cluster-info

Wednesday, October 16, 2019

Принятие политик iptable после перезагрузки сервера


Важное дополнение. Необходимо после перезагрузки сервера оставлять все свои политики, а не применять их снова. Для меня удобным способом является использование пакета iptables-persistent

Первым делом устанавливаем сам пакет
apt-get install iptables-persistent
Затем сохраняем все настройки в нужную директорию, откуда они будут подтягиваться
iptables-save > /etc/iptables/rules.v4ip6tables-save > /etc/iptables/rules.v6
Вот и все. Теперь после каждой перезагрузки у нас будут подгружаться наши настройки

Настройка iptables в Ubuntu

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

Для начала, нам необходимо понять, что у нас доступно, а что нет. Проверяется командой
sudo iptables -L
Мы удостоверились, что на только что установленой ОС открыто все возможное. Нам нужно все эти конфигурации удалить
sudo iptables -F
Теперь самое интересное - нам нужно открыть все порты на локальном интерфейсе, для того, чтобы внутри сервера все работало без сбоев
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Также накопал важную строчку в процессе конфигурации. Необходимо разрешать уже открытым соединениям завершать работу (не блокировать)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Как только предварительные действия совершили, нужно открыть необходимые порты (мы открываем 22, 80, 8080, 443)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Теперь, чтобы все это заработало, необходимо поменять политику по умолчанию на DROP
sudo iptables -P INPUT DROP

Wednesday, September 26, 2018

Оптимизация Ubuntu (в частности для SSD)

Порывшись в интернете, нашел несколько действий, которые должны позволить продлить срок службы SSD, а также ускорить работу всей системы.

  1. В самом начале отключим работу лишних демонов приложений. Проще всего это сделать установив дополнительное приложение sysv-rc-conf. Делается это путем классической установки пакета
    sudo apt-get install sysv-rc-conf
    Затем запускаем приложение и убираем "крестики" с "лишних" приложений. А приложения у нас лишние следующие
    • brltty - служба помощи слепым людям посредством дисплея Брайля
    • pppd-dns - служба подключения к интернету через модем
    • saned - служба работы со сканерами
    • speech-di - служба синтеза речи

  2. Мое любимое приложение - Preload. Помогает ускорять запуск приложений благодаря тому, что кэширует часто используемые приложения и их библиотеки в оперативной памяти.
    sudo apt-get install preload
    Затем поменяем параметр sortstrategy в файле /etc/preload.conf на 0. Для SSD бессмысленно указывать очередь сортировки запросов.

  3. Уменьшим диапазон срабатывания swap, чтобы swap раздел начинал использоваться только при достижении 90% заполненности оперативной памяти. Для этого в файле /etc/sysctl.conf в самом конце добавим строчку
    vm.swappiness=10

  4. И на последок самое простое - очистим кэш apt и удалим неиспользуемые зависимости
    sudo apt-get autoremove
    sudo apt-get clean

Thursday, January 10, 2013

Install ant from source

1. Download apache-ant
wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.tar.gz
2. Unpack and move to work directory
$ tar -zxf apache-ant-1.8.4-bin.tar.gz
$ sudo mv apache-ant-1.8.4 /usr/local
3. Link to binary directory. That's all
$ sudo ln -s /usr/local/apache-ant-1.8.4/bin/ant /usr/bin/ant

Install maven from source



  1. Download apache-maven2-*-.tar.gz
  2. Unpack to directory your_directory
  3. Set variable to environments
    #sudo gedit /etc/environment
  4. M2_HOME=your_directory
    PATH=$PATH:$M2_HOME/bin 
  5. Reboot your machine. And welcome! 
[Update]
But i created link to /usr/bin/mvn from my_dir/bin/mvn

Thursday, December 27, 2012

Install JMagick

  1. Install imagemagick: sudo apt-get install imagemagick --fix-missing
  2. Install jmagick: sudo apt-get install jmagick --fix-missing
  3. Make sure that jmagick binary files (jmagick*.so or jmagick*.dll for windows os) are accessible for jvm. This files mast be present in /usr/lib for linux os or in java_home/bin folders. If this files are absent simple copy it from jmagick installation package
If you start with Tomcat. Set variables
-Djava.library.path=/usr/local/lib
-Djmagick.systemclassloader=no
[Update] 
If you use Windows x64 and tomcat 7

  1. Download jdk for i586 arhitecture
  2. Copy jmagick.jar to JAVA_HOME_i586/jre/liv/ext directory
  3. Copy jmagick.dll to system_32

Friday, November 23, 2012

Установка PosgreSQL 9.1 в Ubuntu



Всем привет. Будем устанавливать PosgreSQL версии 9.1 вместе с GUI pgAdmin III

Для начала подготовим репы для установки
#sudo apt-get install python-software-properties
#sudo add-apt-repository ppa:pitti/postgresql
#sudo apt-get update


Thursday, November 22, 2012

Tomcat7 install for Ubuntu

1. Search all info about Apache Tomcat 7:
#sudo apt-cache search tomcat

2. Install all files for tomcat 7:
#sudo apt-get install tomcat7-examples
#sudo apt-get install tomcat7-admin
#sudo apt-get install tomcat7

3. For example, stop and start tomcat
#sudo /etc/init.d/tomcat7 stop
#sudo /etc/init.d/tomcat7 start

4. Where is your config file? Here it is:
/etc/tomcat7

Sunday, August 5, 2012

Общая папка Ubuntu и Windows 7


1. Установить "Дополнения гостевой ОС" в настройках запущенной системы.
2. Добавить общие папки в свойствах запускаемой ОС.
3. После запуска в гостевой ОС написать в терминале :
#sudo mount -t vboxsf symlink_windows_folder_name ubuntu_folder_name 

Tuesday, July 17, 2012

Восстановление разбитой Ext4


Вначале нам необходимо определить собственно название того раздела, который будем восстанавливать
#sudo fdisk -l

Теперь убедимся, что наш superblock неисправен (Если неисправен, то выведется соответствующая ошибка)
#sudo fsck.ext4 -v /dev/xxx

Нам необходимо на этом шаге определить в каких секция superblock хранится

#sudo mke2fs -n /dev/xxx

Выбираем любой понравившийся номер и запускаем правку диска

#sudo e2fsck -b block_number /dev/xxx

Tuesday, May 22, 2012

XDMCP в Ubuntu

1. Ставим дисплейный менеджер wdm (gdm работает некорректно)
sudo apt-get install wdm
2. Необходимо открыть порт для wdm. Для этого в файле /etc/X11/wdm/wdm-config комментируем следующую строку так
! DisplayManager.requestPort 0
3. Перезагружаемся

Monday, April 9, 2012

Иконки вместо текста в раскладке

mkdir ~/.iconsmkdir ~/.icons/flagscd ~/.icons/flags
wget http://suservice.net/icons/flags2/{ru,us}.pnggsettings set org.gnome.libgnomekbd.indicator show-flags true

Wednesday, August 10, 2011

Django+nginx

  Всем привет. Сегодня будем ставить высоконагруженный веб-сервер на слабенькое железо. Итак начнем. Что нам нужно будет для работы.


Предварительная работа над системой.
1. Я ставлю на Ubuntu Server 11.04 (вы можете легко адаптировать под свою ОС)
2. Пользователь с нужными правами. Мой пользователь - kir
3. Ему необходимо передать рутовые права приблизительно вот так:
  • заходим в файл /etc/sudoers
  • выставляем такие права kir ALL=(ALL) ALL
4. Устанавливаем django. Описано тут
5. Устанавливаем nginx
#sudo apt-get install nginx
6. Устанавливаем дополнительные библиотеки для python
#sudo apt-get install build-essential python-dev python-setuptools
7. Наконец устанавливаем daemotools
#sudo apt-get install daemontools
8. Создадим папку /etc/service выполнив следующую команду
#sudo mkdir /etc/service

Теперь переходим к настройке daemontools.
1. Создаем настроечный файл для daemontools с названием /etc/init/svscanboot со следующим содержимым
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
respawn
exec /usr/bin/svscanboot
2. Запустим daemontools
#sudo initctl start svscanboot

Настройка виртуальной среды для Python
1. Мы будем использовать virtualenv для создания изолированной среды для нашего приложения
#sudo easy_install virtualenv
2. Теперь настроим новую виртуальную среду
#mkdir ~/virtualenvs
#virtualenv ~/virtualenvs/mysite
3. Начнем использовать нашу виртуальную среду и установим pip для удобства инсталляции питоновских пакетов
#source ~/virtualenvs/mysite/bin/activate
#easy_install pip
4. Установим flup. Это требования Django для того, чтобы была возможность запускать fcgi через команду runfcg
#pip install flup
5. Для того, чтобы спользовать адаптеры базы данных, графические библиотеки или xml парсеры, инсталлированные по системному пути Питона, мы должны убедиться, что они доступны из нашей виртуальной среды. Для этого мы добавляем .pth файл в директорию виртуальной среды site-packages
#echo "/usr/lib/python2.7/dist-packages/" > ~/virtualenvs/mysite/lib/python2.7/site-packages/fix.pth
6. Теперь любым удобным способом перетащите свой проект Django в директорию ~/virtualenvs/mysite
7. Доставим несколько библиотек для дальнейшей оптимизации
#pip install simplejson python-memcached

Связываем Daemontools c FastCGI
1. Daemontools будет смотреть во ве поддиректории /etc/service и в каждой из них он будет искать исполняемый файл run. Итак, создаем mysite-директорию
#sudo mkdir /etc/service/mysite
2. Теперь делаем скрипт /etc/service/mysite/run, который будет запускать fastcgi-сервер
#!/usr/bin/env bash
source /home/kir/virtualenvs/mysite/bin/activate
cd /home/kir/mysite
exec envuidgid kir python manage.py runfcgi method=threaded host=127.0.0.1 port=8080 pidfile=mysite.pid minspare=4 maxspare=30 daemonize=false
3. Сделаем созданный скрипт исполняемым
#sudo chmod +x /etc/service/mysite/run

Настраиваем nginx для работы с нашим сервером
1. Для начала изменим файл /etc/nginx/fastcgi_params на такое содержание
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
2. Теперь создадим настройку под наш хост /etc/nginx/sites-available/mysite
server {
    listen 80;
    server_name mysite;
    access_log /var/log/nginx/mysite.access.log;
    location /media {
        autoindex on;
        index index.html;
        root /home/mysite/mysite;
        break;    }
   
    location / {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:8080;
        break;
    }
}
3. Теперь подключим его через symlink
#sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/mysite
4. Теперь перезапустим сайт, чтобы все настройки вступили в силу
#sudo /etc/init.d/nginx restart

Радуемся результату. Удачи!

Wednesday, December 8, 2010

MySQL dump

1. Делаем бэкап базы
mysqldump -u[Логин] -p[пароль] [базаданных] > mybase.sql

2. Записываем бэкап в другой базе
mysql -u[Логин] -p[пароль] [базаданных] < mybase.sql

Tuesday, September 21, 2010

Настройка локальной сети

Лезем в файлик /etc/network/interfaces

И изменяем что-то вроде такого
iface eth0 inet static
address 192.168.1.13
netmask 255.255.255.0
getway 192.168.1.1

Если после этого вылезает ошибка во время пинга такая

Network is unreachable

то стоит просто выполнить команду
route add default gw 192.168.1.1

Saturday, September 18, 2010

Ubuntu. Отключение inet6

Все очень просто. Делается в одну команду (без древнего способа пересборки ядра).

Способ #1:
Открываем файл
nano /etc/sysctl.conf
Вставляем строчку
net.ipv6.conf.all.disable_ipv6 = 1

Способ #2:
echo blacklist ipv6 >> /etc/modprobe.d/blacklist

Tuesday, July 13, 2010

Ubuntu. Установка .iso для Windows

Приведу пример для игры "Конструктор 2"

sudo mount -o loop -t iso9660 "Street Wars.iso" /cdrom
wine setup.exe

Thursday, June 3, 2010

Ubuntu + CompizConfig

#sudo aptitude install simple-ccsm compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-plugins emerald emerald-themes fusion-icon

Если необходимо, нужно прописать запуск в автозагрузку. Делается это так.
System -> Preferences -> Sessions и заходим во вкладку Startup Programs.
Добавляем следующие команды

emerald --replace
fusion-icon

Sunday, May 2, 2010

Ubuntu+Apache+VirtualHosts

1. Переместимся в нужную директорию
cd /etc/apache2/sites-available

2. Создадим файл с названием нашго сайта
sudo gedit mysite.com.conf

3. Напишем необходимый минимум для работы сайта

ServerName mysite.com
DocumentRoot /home/USER/mysite_dir

4. Поправим хосты
sudo gedit /etc/hosts
127.0.0.1 mysite.com

5.Подключим сайт
sudo a2ensite mysite.com.conf

6. Перезапустим apache2
sudo /etc/init.d/apache2 reload

* чтобы отключить сайт используется команда a2dissite