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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
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 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
===========================================
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():
===========================================
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
===========================================
MySQL Things -
Create fulltext (MATCH AGAINST syntax) index:
CREATE FULLTEXT INDEX __________ ON Table (Column);
|