diff options
Diffstat (limited to 'doc/notes.txt')
-rw-r--r-- | doc/notes.txt | 311 |
1 files changed, 311 insertions, 0 deletions
diff --git a/doc/notes.txt b/doc/notes.txt new file mode 100644 index 00000000..f8ce2759 --- /dev/null +++ b/doc/notes.txt @@ -0,0 +1,311 @@ +Clone code from git repository: +git clone http://github.com/zsloan/genenetwork.git gene + +Pull from branch in git repository: +git pull origin flask(or whatever the branch is) + +Add all files in current directory branch to be staged to be committed +git add -A + +Git push to my github repository +git push https://github.com/zsloan/genenetwork.git master + +Get the default path being used when a command is typed: +which _______ + +Change default path python looks at when importing +export PYTHONPATH="/home/zas1024/gene/wqflask" + +Get the paths checked when a user types a command: +echo $PATH + +Get all environment variables: +set + + +**** apt-get is an Ubuntu system-wide package manager, while pip is a Python-only system +for python packages **** + +Upgrade system packages for security updates, etc: +apt-get update +apt-get dist-upgrade (can probably be used in place of apt-get upgrade) +apt-get upgrade + +**"apt-cache search" searches for text in the description for various packages, while +"apt-file search" searches for files within the packages** + +Show information about given result item returned by apt-cache search: +apt-cache show _______ + +Search for package with a specified file that can be installed with apt-get +apt-file search _______ + +============================================ + +Check which system packages are installed: +dpkg -l | less + +============================================ + +NEVER USE SUDO WITH PIP + +To fix error "mysql_config not found": +sudo apt-get install libmysqlclient-dev + +Create requirements.txt file: +pip freeze > requirements.txt (or whatever filename) + +Install from requirements.txt: +pip install -r gene/wqflask/requirements.txt -t ve27 + +============================================ + +To get server running: + +!If having seemingly inexplicable problems with imports, make sure I've started the environment! + +Note: Virtual environment is not activated when running as root + +Start up virtual environment: +source ~/ve27/bin/activate + +Deactivate virtual environment: +deactivate (just type deactivate) + +To set WQFLASK_SETTINGS environment variable: +export WQFLASK_SETTINGS=~/zach_settings.py (or wherever file is located) + +zach_settings.py is the local config file with the DB_URI +default_settings.py is the config file with the configuration information that would apply +to any running instance of GeneNetwork + +To change screen environment variable (if man not working or to get color, for example): +export TERM=screen + +To search for commands in history if necessary: +history | grep "(whatever is being searched for)" + +Reload web server: +/usr/sbin/nginx -s reload + +Run server: +python runserver.py + +Run sendmail.py +python send_mail.py + +=========================================== + +UFW - default firewall confirguation tool for Ubuntu; eases iptables firewall configuration + +Enable UFW: +sudo ufw enable +Check status of UFW: +sudo ufw status verbose + +=========================================== + +Update user password: +use mysql; +UPDATE user SET password=PASSWORD('whatever') WHERE user='webqtl'; +FLUSH PRIVILEGES; + +=========================================== + +Redis things + +Restart redis server: +sudo /etc/init.d/redis_6379 stop +sudo /etc/init.d/redis_6379 start + +=========================================== + +Run pylint: +pylint file_name + +For options: +pylint --help + +=========================================== + +Start screen session: + +If "no option -R" or running for first time: +byobu-select-backend +2. screen + +byobu -RD (to start) +control-a then :multiuser on +control-a then :acladd sam + +More info on sharing byobu screen with other users: +http://wiki.networksecuritytoolkit.org/nstwiki/index.php/HowTo_Share_A_Terminal_Session_Using_Screen + +control-a c to create channel + +type: screen -list for sessions +screen -r zas1024/25679.byobu + +or if only one: + +screen -r zas1024/ + +=========================================== + +Start up log: +Go to /tmp and tail -f flask_gn_log + +=========================================== + +Coffeescript Stuff: + +coffee -c (filename) +coffee -c -w . (to watch for changes and recompile in current directory; the "." is for current directory) +coffee --help (for information about setting options) + +=========================================== + +Unset ASKPASS when trying to git push + +unset SSH_ASKPASS + +=========================================== + +htop: Gives information on processes, cpu/memory load, etc +dstat: Also gives various system information, resource usage, etc +df: Reports file system disk space usage + +=========================================== + +ll h*: Finds items in the directory starting with h + +=========================================== + +du -hms * | sort -n : Gives size used by different directories +-h: human readable +-m: in megabytes (default) +-s: summarize + +=========================================== + +rm -rfv + +=========================================== + +cp -a (archive; copies recursively and doesn't follow symbol links) + -i (interactive, prompts before overwrite) + -v (verbose) + -b (backup) + +mv (same as above, but with no -a) + +=========================================== + +Add user: +sudo adduser +Edit /etc/sudoers to give user root privileges + + +=========================================== + +tidyp - Improves/beautifies html code +tidyp -m -i -w 100 index_page.html + +=========================================== + +ps ax - View processes +ps ux (the "u" is for user) + +kill (process #) + +=========================================== + +Installing QTL Reaper + +wget http://downloads.sourceforge.net/project/qtlreaper/qtlreaper/1.1.1/qtlreaper-1.1.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fqtlreaper%2Ffiles%2Flatest%2Fdownload&ts=1358975786&use_mirror=iweb +tar xvf qtlreaper-1.1.1.tar.gz (to unzip) +python setup.py build +python setup.py install + +=========================================== + +Using Yolk + +Install Yolk: +pip install yolk + +Check packages installed in this virtual environment: +yolk -l + +Checks packages that have updates available: +yolk -U + +=========================================== + +Python stuff: + +Classes should always inherit "object" +To iterate through dictionary items: for X, Y in MyDictionary.items(): + +=========================================== + +Change import path from command line +export PYTHONPATH=~/gene/wqflask (or whatever) + +=========================================== + +Create symbolic link: +ln -s dir_to_link_to linking_dir + +=========================================== + +Reboot server +sudo reboot + +=========================================== + +Using grep: + +grep -ir (search string) (directory) + +-i ignores case +-r searches recursively through subdirectories of directory you specify + +=========================================== + +Command line arguments: + +Use argparse to deal with command line arguments (instead of argv or optparse) + +=========================================== + +Change owner/group: + +chown zas1024 somefile (change owner of somefile to zas1024) +chown zas1024: somefile (change owner and group of somefile to zas1024) +sudo chown root: somefile (change owner/group of somefile to root) + +Change permissions: + +chmod g-wr (remove write/read privileges for group) +chmod g+w (add write privileges for group) +chmod u+rwx (add read, write, and execute privileges for user) +etc. + +=========================================== + +MySQL Things - + +Create fulltext (MATCH AGAINST syntax) index: +CREATE FULLTEXT INDEX __________ ON Table (Column); + +If <4 character searches not working: +Add ft_min_word_len = 2 (to make te minimum characters 2) to config file +Rebuild relevant tables with fulltext indexes with "REPAIR TABLE _______ QUICK" + +=========================================== + +To delete all .pyc files (for example if there's some issue you're having trouble resolving): +find . -name '*.pyc' -delete +http://stackoverflow.com/questions/785519/how-do-i-remove-all-pyc-files-from-a-project + |