Building Boost as shared release only libraries
|
1 2 |
./bootstrap ./bjam -j 24 --variant=release --link=shared --threading=multi --stagedir=. --layout=versioned |
|
1 2 |
./bootstrap ./bjam -j 24 --variant=release --link=shared --threading=multi --stagedir=. --layout=versioned |
Build HDF5 (only 1.8.15p1 is supported by deal.ii):
|
1 2 3 |
./configure --prefix=/packages/hdf5/1.8.15p1 --enable-shared --disable-static make sudo make install |
Build deal.ii
|
1 2 |
cmake ../deal.ii/ -DHDF5_DIR=/packages/hdf5/1.8.15p1 -DCMAKE_INSTALL_PREFIX=/packages/deal.ii/9.0pre -DBLAS_openblas_LIBRARY=/usr/lib64/libopenblaso.so -DLAPACK_openblas_LIBRARY=/usr/lib64/libopenblaso.so make -8 |
Bashowy skrypt pozwalający na zmianę Hosta DMZ na routerach Thomson od UPC bez konieczności logowania do interfejsu Webowego.
|
1 2 3 |
login="XXXXXXX" csrf=$(curl 'http://192.168.0.1/RgDmzHost.asp' -H "Authorization: Basic $login" -s | grep "CSRFValue" | sed -e 's/.*[^0-9]\([0-9]\+\)[^0-9]*$/\1/') curl 'http://192.168.0.1/goform/RgDmzHost' -H "Authorization: Basic $login" --data "CSRFValue=$csrf&DmzHostIP3=IP" |
IP to ostatni człon adresu IP sieci lokalnej, przy adresacji A.B.C.D parametr IP jest równy D XXXXXXX – to hasło w formacie login:pass zakodowane BASE64 Całość skryptu sprowadza się do pobrania… Continue reading
Sposób na checkout tylko określonych katalogów z serwera:
|
1 2 3 4 5 |
git init git remote add -f master http://user@example.com/repo/ git config core.sparsecheckout true echo dir1/ >> .git/info/sparse-checkout git pull master master |
Typowe przekierowanie portu na serwerze OpenVPN na jednego z podłączonych klientów. Adresacja: Serwer (IP zew): s.s.s.s Serwer (tun0): 192.168.200.1 Klient (tun0): 192.168.200.6 Opis: Na serwerze o IP s.s.s.s działa usługa OpenVPN do której jest podłączony jeden klient o adresie 192.168.200.6 przypisanym do tun0. Przekierować port 80 na serwerze s.s.s.s na… Continue reading
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Allow established connections: firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT Allow HTTP: firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT Allow HTTPS: firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT Allow for DNS queries: firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT Deny everything else: firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP |
Format wyjściowy biblioteki deal.ii
|
1 2 3 4 5 6 |
(0,0) 6.73636e-09 (0,1) 2.76187e-09 (0,2) -3.27721e-09 (0,3) -3.6236e-11 (0,4) 1.13877e-08 (0,5) -5.36419e-10 |
Matlab wymaga numeracji od 1 i linii ze spacjami zaraz przecinków:
|
1 2 3 4 5 6 |
1 1 6.73636e-09 1 2 2.76187e-09 1 3 -3.27721e-09 1 4 -3.6236e-11 1 5 1.13877e-08 1 6 -5.36419e-10 |
Skrypt dokonujący konwersji:
|
1 2 3 4 5 6 7 8 9 |
#!/usr/bin/python import sys import re with open(sys.argv[1]+".new", 'a+') as w: with open(sys.argv[1]) as file: for line in file: m = re.match(r'\((.*?),(.*?)\)(.*?)$', line) w.write('{0} {1} {2}\n'.format(int(m.group(1))+1, int(m.group(2))+1, m.group(3))) |
Uruchomienie:
|
1 |
./matrix_convert.py A.dat |
|
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 |
#!/bin/bash # prune include files one at a time, recompile, and put them back if it doesn't compile # arguments are list of files to check removeinclude() { file=$1 header=$2 perl -i -p -e 's+([ \t]*#include[ \t][ \t]*[\"\<]'$2'[\"\>])+//REMOVEINCLUDE $1+' $1 } replaceinclude() { file=$1 perl -i -p -e 's+//REMOVEINCLUDE ++' $1 } for file in $* do #echo $file includes=`grep "^[ \t]*#include" $file | awk '{print $2;}' | sed 's/[\"\<\>]//g'` echo $includes for i in $includes do touch $file # just to be sure it recompiles removeinclude $file $i if make -j10 >/dev/null 2>&1; then grep -v REMOVEINCLUDE $file > tmp && mv tmp $file echo removed $i from $file else replaceinclude $file echo $i was needed in $file fi done done |
Skrypt usuwa kolejne #include a następnie rekompiluje kod by sprawdzić czy nadal działa. Jako argument skrypt przyjmuje katalog z plikami do sprawdzenia.
Narzędzie do statycznego analizowania kodu C++.
|
1 |
./cppcheck /home/kbzowski/femafat_new/ --std=c++11 --report-progress --enable=all -I /packages/deal.ii/8.2pre-gcc482/include/ -I /packages/boost/1.55.0-gcc482/ --xml --xml-version=2 -i /home/kbzowski/femafat_new/CMakeFiles 2> /home/kbzowski/femafat_new/cppcheck.xml |
-I – Include directory -i – Ignore directory –xml – Wyjście jako xml (potrzebne do raportów HTML) –enable=all – Sprawdza co się da Generowanie raportów HTML:
|
1 |
cppcheck-htmlreport --file=/home/kbzowski/femafat_new/cppcheck.xml --report-dir=/home/kbzowski/femafat_new/Reports --source-dir=/home/kbzowski/femafat_new |
Fix na błąd: Tracker: [Peer certificate cannot be authenticated with known CA certificates]
|
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 |
diff -urNp rtorrent-0.9.2/src/core/curl_stack.cc rtorrent-0.9.2-mod/src/core/curl_stack.cc --- rtorrent-0.9.2/src/core/curl_stack.cc 2012-02-14 04:32:01.000000000 +0100 +++ rtorrent-0.9.2-mod/src/core/curl_stack.cc 2014-08-19 09:30:07.379604251 +0200 @@ -52,7 +52,7 @@ CurlStack::CurlStack() : m_handle((void*)curl_multi_init()), m_active(0), m_maxActive(32), - m_ssl_verify_peer(true), + m_ssl_verify_peer(false), m_dns_timeout(60) { m_taskTimeout.slot() = std::tr1::bind(&CurlStack::receive_timeout, this); @@ -165,8 +165,10 @@ CurlStack::add_get(CurlGet* get) { if (!m_httpCaCert.empty()) curl_easy_setopt(get->handle(), CURLOPT_CAINFO, m_httpCaCert.c_str()); - - curl_easy_setopt(get->handle(), CURLOPT_SSL_VERIFYPEER, (long)m_ssl_verify_peer); +if (!m_ssl_verify_peer) { + curl_easy_setopt(get->handle(), CURLOPT_SSL_VERIFYPEER, 0); + curl_easy_setopt(get->handle(), CURLOPT_SSL_VERIFYHOST, 0); +} curl_easy_setopt(get->handle(), CURLOPT_DNS_CACHE_TIMEOUT, m_dns_timeout); base_type::push_back(get); |