Posts Tagged ‘ Linux & Unix

Использование разных ssh ключей для разных серверов

Создаем новый ключ rsa с помощью которого будем ходить на удаленный сервер

ssh-keygen -t rsa -f ~/.ssh/newKey -C "myuser@email.domain"

В ~/.ssh/ создаем файл config с таким содержимым
Read more

perl: warning: Please check that your locale settings in Debian

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_TIME = "uk_UA.UTF-8",
	LC_MONETARY = "uk_UA.UTF-8",
	LC_ADDRESS = "uk_UA.UTF-8",
	LC_TELEPHONE = "uk_UA.UTF-8",
	LC_NAME = "uk_UA.UTF-8",
	LC_MEASUREMENT = "uk_UA.UTF-8",
	LC_IDENTIFICATION = "uk_UA.UTF-8",
	LC_NUMERIC = "uk_UA.UTF-8",
	LC_PAPER = "uk_UA.UTF-8",
	LANG = "uk_UA.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
debconf: delaying package configuration, since apt-utils is not installed

Read more

CentOS 7: отключить Firewalld

В CentOS 7 по умолчанию установлен Firewalld который блочит некоторые порты, а мне нравится стандартный iptables. займемся возвратом всего на свои метса

1. Отключаем Firewalld сервис

[root@mongo12 ~]# systemctl mask firewalld

2. Останавливаем.

[root@mongo12 ~]# systemctl stop firewalld

3. Установим iptables

[root@mongo12 ~]# yum -y install iptables-services

Read more

Docker: свой репозиторий образов

# Start your registry
docker run -d -p 5000:5000 registry:2
 
# Pull (or build) some image from the hub
docker pull ubuntu
 
# Tag the image so that it points to your registry
docker tag ubuntu localhost:5000/myfirstimage
 
# Push it
docker push localhost:5000/myfirstimage
 
# Pull it back
docker pull localhost:5000/myfirstimage

Docker: создание локального репозитория образов

Если есть зоопарт контейнеров и нужно постоянно запускать новые, то не мешало бы иметь какой то прокси, чтоб каждый раз не тягать их из интернета
Запускаем свой Registry

docker run -d \
    -e STANDALONE=false \
    -e MIRROR_SOURCE=https://registry-1.docker.io \
    -e MIRROR_SOURCE_INDEX=https://index.docker.io \
    -p 5000:5000 \
    registry

Правим настройки клиентов в /etc/default/docker

--registry-mirror=http://<my-docker-mirror-host>

Docker: установка в Ubuntu/Mint

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы
Ставим на Linux Mint 17.2

wget -qO- https://get.docker.com/ | sh

Поставит все само
Read more

HDFS: указание количества реплик

Для изменения количества реплик файла или каталога можно воспользоваться такой командой

hadoop fs -setrep -R 3 /dir/

где
-R – рекурсивно
3 – количество реплик(копий)
/dir/ – каталог, можно указать файл

Ищем отличия в двух xml файлах

diff -Bw <(xmllint --c14n server.xml) <( xmllint --c14n server.xml2 )

XML парсер на Ruby

Парсить XML можно с помощью библиотеки Nokogiri
http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html
Ставим Ruby-dev

aptitude install ruby-dev
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.0.tgz
tar xvf rubygems-1.5.0.tgz
cd rubygems-1.5.0
sudo ruby setup.rb
gem install optparse-command

А после Nokogiri
gem install nokogiri

Продолжаем осваивать Git

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

git add * && git commit -m "Initial commit" && git push origin master

где,
origin это сервер на котором у нас код… и добавляется он вот так

git remote add origin ssh://git@<hostname>/git/test.git
</hostname>

Возможны ошибки при первом комите:

root@client:app# git push
Password: 
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'ssh://root@giserver.com/git/app'

Указываем явно куда пушить

root@gitclient# git push origin master
Password: 
Counting objects: 3, done.
Writing objects: 100% (3/3), 203 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To ssh://root@gitserver.com/git/app
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'ssh://root@gitserver.com/git/app'

Все равно не поддается на провокацию. Сия ситуация хорошо описана тут http://pete.akeo.ie/2011/07/git-remote-repository.html
Git думает что раз репозиторий пустой, то есть не завершенный первый коммит и не дает простому смертному стать первым. Для этого мы на сервере создадим новую ветку:

root@gitserver : git checkout -b first-commit
Switched to a new branch 'first-commit'
root@gitserver $ git symbolic-ref HEAD refs/heads/first-commit

После этого можем внести изменения в код на клиенте и передать это на сервер

echo "new file" > README
git add README
git commit -m "Added file README"
git push origin master

Read more

DHCPD-Pools : Unable to find uthash.h

При зборці Dhcpd-pools видає помилку

Unable to find uthash.h

Вирішення:

apt-get install uthash-dev