aboutsummaryrefslogtreecommitdiff
path: root/misc/notes.txt
blob: cdd353ea42836abb5eec00dd4b8db034a8c9c8a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
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


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 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)"

Run web server:
/usr/local/nginx/sbin/nginx
/usr/sbin/nginx

Run server:
python runserver.py

===========================================

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

===========================================

Start screen session:
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

===========================================

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)

===========================================

tidyp - Improves/beautifies html code
tidyp -m -i -w 100 index_page.html

===========================================

ps -ax - View processes

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():

===========================================

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