Feb 10, 2015
TechnologyFresh steps.
$ sudo yum update
$ sudo yum install vim
$ sudo yum install net-tools
$ sudo yum install -y scons git python-lxml wget gcc patch make unzip flex bison gcc-c++ openssl-devel autoconf automake vim python-devel python-setuptools protobuf protobuf-devel protobuf-compiler net-snmp-python libtool kernel-devel bzip2 boost-devel tbb-devel libcurl-devel libxml2-devel scons protobuf protobuf-devel protobuf-compiler
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
$ sudo sed -i -e 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo
$ sudo yum install -y --disablerepo="*" --enablerepo="epel" scons protobuf protobuf-devel protobuf-compiler
$ sudo yum install -y bzip2 boost-devel tbb-devel libcurl-devel libxml2-devel
As root, Add repositories:
# wget -q -O - http://www.atomicorp.com/installers/atomic | sh
# yum update
# yum install dpkg dpkg-devel
Missing fakeroot, so can’t be continue.
Change back to CentOS 6.6.
$ sudo yum install vim net-tools
$ wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo rpm -ivh epel-release-6-8.noarch.rpm
$ sudo yum install -y scons git python-lxml wget gcc patch make unzip flex bison gcc-c++ openssl-devel autoconf automake vim python-devel python-setuptools protobuf protobuf-devel protobuf-compiler net-snmp-python libtool kernel-devel bzip2 boost-devel tbb-devel libcurl-devel libxml2-devel scons protobuf protobuf-devel protobuf-compiler
$ sed -i -e 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo
$ yum install -y --disablerepo="*" --enablerepo="epel" scons protobuf protobuf-devel protobuf-compiler bzip2 boost-devel tbb-devel libcurl-devel libxml2-devel xz
Install git:
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
$ wget https://www.kernel.org/pub/software/scm/git/git-1.9.4.tar.gz
$ sudo yum install expat-devel tar
$ make prefix=/usr install
$ which git
git version 1.9.4
Using repo sync:
$ repo init -u git@github.com:Juniper/contrail-vnc
$ repo sync
Install argparse:
$ yum install python-argparse
$ declare -x USER="root"
We should upgrade some packages to let python could fetch back the packages:
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
$ tar xzvf autoconf-latest.tar.gz
$ cd autoconf-2.69/
$ ./configure --prefix=/usr && make && sudo make install
$ sudo yum install libtool
Fetch the 3rd_party packages:
$ python third_party/fetch_package.py
Then tar and export it to the host machine.
When Building, we have to install libipfix:
$ wget http://sourceforge.net/projects/libipfix/files/libipfix/libipfix_110209.tgz/download
$ # build it.
Enable the epel repository and install dpkg and dpkg-devel:
$ sudo sed -i -e 's/enabled=0/enabled=1/' /etc/yum.repos.d/epel.repo
$ sudo yum update && sudo yum install -y dpkg dpkg-devel
Feb 9, 2015
TechnologyThe steps is for Ubuntu12.04, the purpose of this documentation is for swiftly get the source code and fetch it to local repository.
Preparation
Pull back the Ubuntu12.04:
$ sudo docker pull ubuntu12.04
Then run into the ubuntu12.04 via:
$ sudo docker run -it ubuntu12.04 /bin/bash
root@7b30cc924bb0:~ #
Install following packages in Ubuntu 12.04 container:
# apt-get install python-software-properties
# apt-get install curl
# curl https://storage.googleapis.com/git-repo-downloads/repo > /bin/repo
# chmod 777 /bin/repo
# apt-get update
# apt-get install python-pip
# apt-get install git
# git config --global user.email kkkttt@gmail.com
# git config --global user.name kkkttt
# ssh -T git@github.com
# repo init -u git@github.com:Juniper/contrail-vnc
# repo sync
# declare -x USER="root"
# apt-get install python-lxml autoconf bzip2 libtool unzip wget
# python third_party/fetch_packages.py
Install nginx:
$ sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ sudo rpm -ivh nginx
Change nginx’s listenning directory to /var/www/, tar the directory and put it under this folder, then use firefox for downloading it.
Compile Local
Referes to :
http://kkkttt.github.io/blog/2015/01/29/build-contrial-source-code/
Plus:
$ sudo apt-get install libglib2.0-dev libglib2.0
Feb 9, 2015
TechnologyDependencies
Install the following packages to make scons getting through:
$ sudo apt-get install -y scons git python-lxml wget gcc patch make unzip flex bison g++ libssl-dev autoconf automake libtool pkg-config vim python-dev python-setuptools libprotobuf-dev protobuf-compiler libsnmp-python libboost-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-system-dev libcurl4-openssl-dev google-mock libgoogle-perftools-dev liblog4cplus-dev libtbb-dev libhttp-parser-dev libxml2-dev libicu-dev
$ sudo apt-get install libxml2-dev
$ sudo apt-get install libboost-dev
$ sudo apt-get install libboost-filesystem-dev
$ sudo apt-get install libboost-program-options-dev
$ sudo apt-get install libboost-system-dev libboost-regex-dev libboost-python-dev libboost-chrono-dev libtbb-dev
Then the linking should be OK.
Making Packages
Install following packages for meeting the requirements of deb packages:
$ sudo apt-get install libcurl4-openssl-dev libboost-date-time-dev libboost-thread-dev google-mock libgoogle-perftools-dev libhttp-parser-dev
Then make -f packages.make you could get the generated deb files.
Feb 7, 2015
TechnologySince I enabled OpenSuse, later all of the docker related operation could be operated on OpenSuse13.2.
Installation
Install docker via:
$ sudo zypper in docker
$ which docker
/usr/bin/docker
Specify Storage Location
The /var directory has the limitation, thus we have to specify the storage locateion in /etc/sysconfig/docker:
$ pwd
/etc/sysconfig
$ cat docker
## Path : System/Management
## Description : Extra cli switches for docker daemon
## Type : string
## Default : ""
## ServiceRestart : docker
#
DOCKER_OPTS="-g /home/xxxxxx/Code/Virtualization/Docker/docker/"
Now we could use the nearly 2T Size /home partition for storing docker images..
Use China Resources
The default dockhub is banned by GFW, so we have to use replacement repository in China.
Add the options to /ec/sysconfig/docker:
DOCKER_OPTS="-g /home/clouder/Code/Virtualization/Docker/docker/ --insecure-registry dl.dockerpool.com:5000"
Then restart the docker via systemctl restart docker, after them we could use following command for pull back images:
$ sudo docker pull dl.dockerpool.com:5000/ubuntu:14.04
After pull back ,check the name of our fetched back ubuntu:14.04 is:
$ sudo docker images
dl.dockerpool.com:5000/ubuntu 14.04 5506de2b643b 3 months ago 197.8 MB
dl.dockerpool.com:5000/ubuntu latest 5506de2b643b 3 months ago 197.8 MB
Change to a differenet tag name:
$ sudo docker tag dl.dockerpool.com:5000/ubuntu:14.04 ubuntu:14.04
Now check again and you will find the long and hard-to-remember name has been changed to ubuntu:14.04.
Our version of docker runs on OpenSuse is:
$ docker --version
Docker version 1.4.1, build 5bc2ff8
Feb 6, 2015
TechnologyStrangely my OpenSuse’s official installation version’s pidgin doesn’t support webqq plugins. So I have to build from source and let it run as a webQQ’s version of pidgin.
Getting Source.
First download the source code from:
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.11/pidgin-2.10.11.tar.bz2/download?accel_key=62%3A1423272982%3Ahttp%253A//www.pidgin.im/download/source/%3A20b420a2%24f93cd8a6095e965a3448df4a97a1c4786bf0a085&click_id=b8d33c98-ae69-11e4-8d6d-0200ac1d1d8d&source=accel
Install related packages:
$ sudo zypper in intltool
$ sudo zypper in gtk3-devel
$ sudo zypper in gtk2-devel
$ sudo zypper in gstreamer-devel
$ sudo zypper in libidn-devel
$ sudo zypper in meanwhile-devel
$ sudo zypepr in libavahi-devel
$ sudo zypper in libavahi-glib-devel
$ sudo zypper in libgnutls-openssl-devel
$ sudo zypper in tcl-devel
$ sudo zypper in tk-devel
$ sudo zypper in gtkspell-devel
Configure pidign via:
./configure --prefix=/home/Trusty/bin --disable-screensaver --disable-gstreamer --disable-vv
Notice here I disable the screensave support and gstreamer support.
Make
Via make and make install we could let it run.
Make install the corresponding plugins, and now your webqq is OK.