So you clone your branch from master, do some changes (i.e commits into your branch ), and meanwhile other folks did the same and their PR went to master, so your branch with your changes now really might have conflicts with current master – so what to do ? One of quickest options here is to save your changes somewhere outside your working folder and force to update your branch to latest master and then do changes on top of that and commit them into your branch and do PR which do not have merge conflicts. So you should be inside your branch (with name abokov_branch ) folder
1) git checkout master
2) git branch -D abokov_branch
3) git checkout -b abokov_branch
4) (make changes - remember you saved them somehwere)
5) git commit -am "your message here"
6) git push --set-upstream origin abokov_branch -f
Archive for the ‘administration’ Category
For those who like to use Azure instead of AWS :
Using telnet in bash scripts to automate some stuff ? It’s really easy, here’s an example to tell “hello world” on telnet server :
req="hello world"
server="my_server 1234"
val=`( echo open ${server}
sleep 3
echo "${req}"
sleep 1 ) | telnet`
echo $val
GIT
- git for big files : git-bigfiles
- omit large files commiting into git repo : Rejecting large files in git
- git as backup system : A better backup system based on Git and Journey to a backup solution: Git
- Hosting Git repositories, The Easy (and Secure) Way
Subversion ( svn )
- How to store-all-stuff-in-svn : Subverting your homedir, or keeping your life in svn
- SVN-Hooks : Avoid empty comment in SVN commits
- Using SVN-Hooks to commit notifications on email : Setting up a post-commit mail notification for a Subversion repository
- SVN Notify documentation
We have git repo at github ( and would like to move onto some our corporate box inside our network, for example on internal.bokov.net. This repository is shared for group of developers and all who have ssh access onto internal.bokov.net shall have right to commits onto git repository. So first of all prepare place for git repo at new hosting :
ssh user@internal.bokov.net
cd var
mkdir git_repo
chmod 777 git_repo
cd git_repo
mkdir my_project
cd my_project
git init --bare --shared=all
cd objects
chmod g+ws *
Next clone existing repo and change its settings to point onto internal.bokov.net
git clone --bare git@github.com:bokov/github_project.git
git remote add -t master -m master origin ssh://internal.bokov.net/var/git_repo/my_project/
git push origin master
to start work with new repo just use
git clone ssh://internal.bokov.net/var/git_repo/my_project/
have fun.
- Ubuntu doesn’t asking for login after boot up ( may happen after unexpected shutdown ) :
press Ctrl-Alt-F1 to login in terminal mode and use fsck to fix it - Add user short memo :
[root@my-box ~]# useradd -g users -u 560 tuser
[root@my-box ~]# passwd tuser
ps. sudo will be required in not-root case 🙂 - Proper access rights for .ssh files :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
- List all files in folder sorted by size :
find . -type f -exec du -k "{}" \; | sort -n
When I tried to restart mysql
sudo /etc/init.d/mysql restart
it failed with
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [fail]
Continue reading ‘Quick fix problem with mySQL starting on Ubuntu 9.10’ »
Short how-to about configuring Ubuntu to work with EC2 API ( for Ubuntu 10.04 users – Sun JDK was moved to partner repository so please check out Where’s sun JDK on Ubuntu 10.04 ? before follow described steps ).
Continue reading ‘Configuring Ubuntu ( 9.10 ) to work with Amazon EC2’ »
If anyone interested in it – here’s new update for Sun Grid Engine 6.2 – update 4. It almost about bug fixing and man’s changes – list of changes is here. Sources’ tag for CVS is V62u4_TAG (make sense for Grid Engine, ARCo, SGE Inspect ), by the way as I know Hedeby is still 1.0u3.
- Recursively add files and foldes into CVS
find . -type d -print | grep -v CVS | xargs -n1 cvs add
- Delete “.svn” files from current folder
find . -type f -exec echo \"{}\" \; | grep ".svn" | xargs rm
- Cloud Hosting Performance
- Measuring EC2 system performance
- Comparing Amazon EC2 performance with other cloud/VPS hosting options… and real hardware
- Monitoring Cloud Computing Performance with PRTG: CPU, Disk, Memory Speed Comparison of Amazon EC2 Instance Types
- Posted by Alexey Bokov on August 18, 2009 at 5:47 pm under administration, compute grid, internet, useful links.
Tags: administration, Amazon EC2, gogrid, work
Comment on this post.
On one of my apache I use suexec to run some tasks – some weeks before I configure all it and all stuff works well, but some days later when I try to run my cgi-perl script I found I have “500 Internal error”. I change nothing in apache config or in my scripts – I just install fresh updates for ubuntu. In apache’s error log I’ve got :
[Wed Jul 29 08:15:28 2009] [error] (13)Permission denied: exec of ‘/usr/lib/apache2/suexec’ failed [Wed Jul 29 08:15:28 2009] [error] [client my_ip] Premature end of script headers: script.plIt’s strange, but anyway it doesn’t works. I spent some time trying to fix it ( some guys recommend to rebuilt suexec – but it’s not a simplest way to fix this problem ) – in my case it was fixed by changing owner of my suexec. I check out current properties :
ls -la /usr/lib/apache2/suexec
-rwsr-xr– 1 root www-data 18872 2009-07-10 18:40 /usr/lib/apache2/suexec
and change them :
And don’t forget to restart :
/etc/init.d/apache2 restartps. by the way suexec’s id’s are :
#id www-useruid=1000(www-user) gid=109(www-group) groups=109(www-group)
Here’s some steps which I frequently use to configure Ubuntu to work as EC2 manager
Continue reading ‘Quick steps to configure Ubuntu for with EC2 API’ »
Sun Grid Engine’s top engineer Richard Hierlmeier wrote article ( and some bash scripts which implements it – btw why you not to put it them onto your cvs? ) about using SDM in compute cloud ( here’s EC2 as example, I suppose that GoGrid can be used also without too many changes ) – Using SDM Cloud Adapter to Manage Solaris Zones.
My way – run sqlplus, spool in using html markup and convert this html onto text by using sed replacements. It works fast enought, and better than parse resulted text by spool without markup. Bash script which impelement it is under below Continue reading ‘How to dump oracle table into tab separated text file ( csv )’ »
strange enough, but in some Ubuntu 9.04 ( 64 bit ) apache2 may tell
/usr/sbin/apache2 -k restart apache2: bad user name ${APACHE_RUN_USER}instead callin apache2 from /usr/bin use /etc/init.d/ :
/etc/init.d/apache2 restartAs base AMI i used ami-7db75014 – it’s OpenSolaris supported by Sun, common informartion about installing and using OpenSolaris in EC2 also available in Sun’s Amazon EC2 Getting started guide – in this post I will focus almost in SGE using in Amazon EC2. As SGE distributive i use all-in-one tar package – i choosed “All supported platform” in Grid Engige download page – it takes about 350 Mb, but I don’t worry about platform architecture – if sun support it – it will be in this package. This ge62u2_1.tar.gz contains bunch of other tar.gz’s ( and even hedeby’s core package ) and can be unpacked by :
root@ec2-server:~/tools/archive# gzip -dc ge62u2_1.tar.gz | tar xvpf –So I just go inside ge6.2u2_1 and unpack them all using something like this
for myfile in *.tar.gz do gzip -dc $myfile | tar xvpf – doneOne important thing – hedeby-1.0u2-core.tar.gz contains old versions of some files from ge-6.2u2_1-common.tar.gz – there’s conflicts in files common/util/arch and common/util/arch_variables – here’s diff for them – may be sometimes it can be usefull, but for my configuration it causes very strange errors when I try to install executor host :
value == NULL for attribute “mailer” in configuration list of “ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com” ./inst_sge[261]: Translate: not found [No such file or directory] ./inst_sge[263]: Translate: not found [No such file or directory] ./inst_sge[264]: Translate: not found [No such file or directory]When I replace this files from ge-6.2u2_1-common.tar.gz installation works as expected. Next point it’s DNS configuration – SGE is very picky to DNS and it will cause some problems in running SGE Amazon EC2 instances with SGE, this stuff can be fixed using host_aliases file in SGE, or other way it’s to use /etc/hosts file for it – some kind of this technique used in Hedeby-SGE on Amazon EC2 demo, for example if we have master this name and 2 executor hosts I put this lines into /etc/hosts :
#internal_ip external_full_name external_short_name internal_full_name internal_short_name
10.yyy.xyz.zzz ec2-RRR-TTT-ZZZ-YYY.compute-1.amazonaws.com ec2-RRR-TTT-ZZZ-YYY domU-mm-ww-PPP-WWW-FFF-GGG.compute-1.internal domU-mm-ww-PPP-WWW-FFF-GGG
10.yyy.qwe.ttt ec2-aaa-bbb-ccc-ddd.compute-1.amazonaws.com ec2-aaa-bbb-ccc-ddd domU-mm-ww-JJJ-HHH-DDD-SSS.compute-1.internal domU-mm-ww-JJJ-HHH-DDD-SSS
10.yyy.pre.ppp ec2-yyy-rrr-eee-qqq.compute-1.amazonaws.com ec2-yyy-rrr-eee-qqq domU-mm-ww-UUU-III-OOO-PPP.compute-1.internal domU-mm-ww-UUU-III-OOO-PPP
Also I use hostname ec2-RRR-TTT-ZZZ-YYY ( external_short_name ) to set instance hostname – this names I use as hostnames when I configure SGE.
Below I try to summary my experience with SGE and it’s using on vary platform ( Solaris 10, Ubuntu, OpenSolaris, etc.. ). If you use Solaris – check out my Solaris – common questions and it’s differences from Linux – may be your problems deal with Solaris, but not SGE.
So let’s go :
- when I installing SGE, and after export SGE_ROOT=<my_sge_path> i try to run util/setfileperm.sh I got ‘can’t find script /util/arch‘ error as shown below :
root@domU-12-31-39-03-CC-95:/opt/ge6.2u2_1# util/setfileperm.sh $SGE_ROOT
can’t find script /util/arch
this error can be fixed by set SDM_DIST enviroment variable :
export SDM_DIST=$SGE_ROOT - I got commlib error :
error: commlib error: access denied (client IP resolved to host name “”. This is not identical to clients host name “”)ERROR: unable to contact qmaster using port 10500 on host “solaris-master.devnet.int.corp”
rebooting SGE master host helps – see Sun Grid Engine : execution host can’t connet to master host with “commlib error: access denied - to be continued..
Actually newbies in Solaris ( and experienced users in Linux :-)) have troubles with some every-day routines which works in Solaris in a different way than in most Linux like Ubuntu. Below I try to list most ”popular” problems and questins about differences in Solaris and Linux and try to figure them out.
- grep doesn’t have -r switch, so there’s no recursive looking throught directories, here’s alternatives for recursive grep on Solaris :
grep 'somestring' `find . -name '*'`
find . | xargs grep 'somestring'
- tar doesn’t support -z option, so tar xfz my_archive.tar.gz will fail with error “tar: z: unknown function modifier“. To unpack tar.gz archive on Solaris you may use this one :
gzip -dc my_archive.tar.gz | tar xvpf -
- how to set environment variables in Solaris ( i set them in \~/.bashrc, but it doesn’t works ) : to make Solaris read and apply to user environment barsh_rc file try to create file ~/.bash_profile in your home, and put in it lines listed below :
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
To be continued…
Usefull links : Solaris Infrequently Asked and Obscure Questions
I got some problems with my SGE cluster – I got some amount of Solaris 10 which running under some virtualization, all servers are the same configured and have equally environment, on one machine I install SGE master, on other SGE execution hosts – and some execution hosts works well, but on another I have strange error from “install_execd” :
Checking hostname resolving ————————— Cannot contact qmaster. The command failed: ./bin/sol-x86/qconf -sh The error message was: error: commlib error: access denied (client IP resolved to host name “”. This is not identical to clients host name “”) ERROR: unable to contact qmaster using port 10500 on host “solaris-master.devnet.int.corp”When I run “qconf -sh” I got :
bash-3.00# qconf -sh error: commlib error: access denied (client IP resolved to host name “”. This is not identical to clients host name “”) ERROR: unable to contact qmaster using port 10500 on host “solaris-master.devnet.int.corp“I check out connection – ping works, hostname resolved, telnet connection on port 10500 – it works, after I check connection from master host – there’s no problems too. I compare environment on execution hosts which are worked well with hosts which have error – they got the same environment, master host configuration also have no any suspicios-looking stuff. I try to find something usefull in web – no results, some guys have same problem, but no one knows that’s happen and how to fix it. After I try to reboot execution hosts – no effect.
But when I try run “reboot” on master host – wow, it helps! So, guys, if you’ got the same errors with SGE – try to “reboot” on your master host – it may helps.