Ubuntu 16.04 升级内核 安装 BBR

 bbr, ubuntu  Ubuntu 16.04 升级内核 安装 BBR已关闭评论
3月 272019
 

 BBR 只能配合 Linux Kernel 4.10 以上内核才能使用, 所以需要升级内核


查看内核版本,如达到要求略

# uname -r

4.4.0-1075-aws  //默认4.4.0,因此需要升级

//切换到root用户

$ sudo -s  

# wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

# chmod +x bbr.sh 

# ./bbr.sh

———- System Information ———-

 OS      : Ubuntu 16.04.5 LTS

 Arch    : x86_64 (64 Bit)

 Kernel  : 4.4.0-1075-aws

—————————————-

 Auto install latest kernel for TCP BBR

 URL: https://teddysun.com/489.html

—————————————-

Press any key to start…or Press Ctrl+C to cancel

按任意键后会显示

Info: Getting latest kernel version…

———— kernel setting ————

1) 4.14

……

…..

234) 4.20.16

235) 4.20.17

236) 5.0

237) 5.0.1

238) 5.0.2

239) 5.0.3

240) 5.0.4

which kernel you’d select (default 5.0.4):  // 按回车键选择最新版本 

your selection: 5.0.4

–2019-03-27 02:55:58–  https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0.4/linux-modules-5.0.4-050004-generic_5.0.4-050004.201903231634_amd64.deb

Resolving kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216

Connecting to kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… connected.

HTTP request sent, awaiting response… 200 OK

Length: 46593520 (44M) [application/x-debian-package]

Saving to: ‘linux-modules-5.0.4-amd64.deb’

     0K ………. ………. ………. ………. ……….  0%  160K 4m44s

    50K ………. ………. ………. ………. ……….  0%  321K 3m33s

   100K ………. ………. ………. ………. ……….  0% 24.3M 2m22s

   150K ………. ……..

……..

done

Info: The system needs to reboot.

Do you want to restart system? [y/n]y  //按“y“重启

./bbr.sh: line 271:  8748 Terminated              reboot



#######重启后##########

$ uname -r

5.0.4-050004-generic

$ sudo -s


#分别输入下面命令检查

# sysctl net.ipv4.tcp_available_congestion_control

net.ipv4.tcp_available_congestion_control = reno cubic bbr


# sysctl net.ipv4.tcp_congestion_control

net.ipv4.tcp_congestion_control = bbr


# sysctl net.core.default_qdisc

net.core.default_qdisc = fq


# lsmod | grep bbr

tcp_bbr                20480  6


看到bbr即完成


ubuntu 16.04安装shadowsocks(ss) gui 客户端

 ubuntu  ubuntu 16.04安装shadowsocks(ss) gui 客户端已关闭评论
11月 282018
 

如何安装ss服务器请自行搜索,本文只讲解在ubuntu 16.04/14.04下ss gui客户端安装,请依次执行: 

1. 安装 shadowsocks-qt5

sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5 

2. 配置ss服务器连接

打开shadowsocks-qt5, 然后通过菜单 连接->添加->手动 , 添加服务器ip,端口,密码,加密方式,本地地址,本地端口(如:1080)等, 保存后连接


3. 配置本机网络连接

在系统设置中,选择网络 –> 网络代理 –> 方法手动 –> Socks主机 127.0.0.1   1080。应用到整个系统即可

ubuntu 16.04 下安装 pyaudio

 python, ubuntu  ubuntu 16.04 下安装 pyaudio已关闭评论
11月 202018
 
1.先使用命令安装:
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0

2. 再使用下面命令即可
pip install pyaudio

Ubuntu14.04下Python(cx Oracle)访问Oracle解决方案( PyCharm wrong notification: no module named cx_Oracle)

 python  Ubuntu14.04下Python(cx Oracle)访问Oracle解决方案( PyCharm wrong notification: no module named cx_Oracle)已关闭评论
2月 272017
 

转自:http://blog.itpub.net/26031462/viewspace-1117480/


第一步:下载安装cx_Oracle

下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/下载cx_Oracle的rmp安装文件,注意下载版本最好和Oracle、Python环境保持一致,我当前的环境是Oracle 11g和Python2.7,因此下载的是cx_Oracle-5.1.2-11g-py27-1.x86_64rpm。

不需按RPM方式去安装,直接解压从中取出cx_Oracle.so文件(只需要这个),复制到Python环境的dist-packages目录,我的机器是/usr/local/lib/python2.7/dist-packages/。

解压命令:

>>rpm2cpio file.rpm | cpio -div

第二步:下载安装Oracle instant client

下载地址:http://www.oracle.com/technetwork/indexes/downloads/index.html,从Database栏目的Instant Client链接进入,按当前系统选择对应的下载,我选择的是Instant Client for Linux x86-64

解压下载文件oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm ,路径很长实际上只需要其中的so共享库文件,将所有so文件复制到一个单独路径即可,我将他们复制到/opt/oracle-instantclient11.2/lib。

应该有5个文件:

>>pwd
    /opt/oracle-instantclient11.2/lib
>> ls
    libclntsh.so.11.1  libnnz11.so  libocci.so.11.1  libociei.so  libocijdbc11.so

 

第三步:检查并安装libaio1

sudo apt-get install libaio1

 

第四步:配置环境变量

>>cd ~
  >>sudo vim .bashrc

把 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib 这行放在里面,保存退出。

最后:测试一下

$ python
>>>import cx_Oracle
>>>conn = cx_Oracle.connect(’username/pwd@ip:port/servicename’)
>>>cursor = conn.cursor()
>>>...

一个简单应用:

#! /usr/bin/python
#coding=UTF-8

import cx_Oracle

def hello():
    '''Hello cx_Oracle示例:
    
    1)打印数据库版本信息.
    2)查询表数据.'''
    
    conn = cx_Oracle.connect("codomain/codomain@10.3.3.92:1521/oracle1")
    cur = conn.cursor()
    try:
        print "Oracle Version:%s" % conn.version
        print "Table test rows:"
        cur.execute('select * from test')
        for row in cur:
            print row
    finally:
        cur.close()
        conn.close()

hello() 


按上面步骤安装完成后

测试发现使用终端执行命令行时正常, 

但脚本在pycharm下使用
import cx_Oracle 

总是提示: 

 no module named cx_Oracle

最后发现需要在/etc/ld.so.conf.d目录下自己配置一个.conf 文件,指向上面文章中复制到的/opt/oraclexxx目录, 再执行下ldconfig即可

Ubuntu下OpenVPN客户端配置教程

 安全  Ubuntu下OpenVPN客户端配置教程已关闭评论
1月 152017
 

一般来说,提供Web服务的Linux服务器是很少需要连接OpenVPN的,但是个人Linux计算机在很多时候就需要连接OpenVPN了。比如以Linux为开发环境,需要连接公司的OpenVPN等等。 

本文将以Ubuntu系统为例,介绍在终端下连接远程OpenVPN服务的方法。 

安装OpenVPN

首先需要安装OpenVPN客户端。一般来说直接使用apt-get即可。执行如下命令安装:

1 [root@www ~]# apt-get install openvpn

稍等片刻将自动安装好openvpn需要的软件包。安装完成后,应该出现

/etc/openvpn/

文件夹。 

配置OpenVPN

作为客户端,OpenVPN并没有特定的配置文件,而是由服务器提供方给出一个配置文件。对于认证,OpenVPN提供了两种认证方法:基于用户名/密码的认证与SSL证书认证。用户名/密码的认证方法无法(或较难)限制一个账号同时连接多个客户端,而采用证书,则可保证同一证书同一时间只能有一个客户端连接。当然,这些都是由服务器端决定的,不需要客户端进行选择。

首先将OpenVPN服务器提供商发给你的配置文件解压,并将所有文件都复制到 /etc/openvpn/中。

这些文件中至少包含一个.ovpn文件,需要手动创建该文件,如:client.ovpn;如果服务器需要证书认证,则应该还存在另外三个证书文件。

看懂OpenVPN配置格式。下面是一个.ovpn配置示例:

client
dev tap
proto tcp-client
remote 192.168.135.75 1194
resolv-retry infinite
nobind
mute-replay-warnings
redirect-gateway
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
comp-lzo
verb 4

一般来说,红色的内容可能需要你进行修改。将红色的内容修改成这三个文件的实际位置。然后保存即可。 

连接OpenVPN

在配置好.ovpn文件后,执行

openvpn /etc/openvpn/client.ovpn

即可连接服务器了(注意该目录下对应文件的权限)。注意,上面的参数应该换成你的配置文件实际位置。

此时,终端会回显很多连接日志。如果连接不成功,则可以通过这些日志来确定出错位置。如果要断开,只需要通过Ctrl+C强制终止即可。

上面的命令在实际中并不方便,因为它要占用一个独立的终端。在测试成功后,使用以下命令即可在后台连接OpenVPN:

openvpn /etc/openvpn/client.ovpn > /dev/null &

值得称赞的是,openvpn非常智能,在连接异常中断、无法连接服务器、断网的情况下,它会自动重连。因此,如果希望开机即自动连接OpenVPN,或者是VPN常年在线,则可将上述命令行加入

/etc/rc.local

中。注意,命令末尾的&符号不能省略,否则将可能阻塞系统的正常启动。

转自:http://www.linuxidc.com/Linux/2013-06/86562.htm

ubuntu下安装less以及实现简单的编译

 http  ubuntu下安装less以及实现简单的编译已关闭评论
12月 232016
 

1 安装 less   ——–   apt-install node-less

2 新建 index.less 文件

  1. @nice-blue: #5B83AD;  
  2. @light-blue: @nice-blue + #111;  
  3.   
  4. #header {  
  5.   color: @light-blue;  
  6. }  

3 然后运行 lessc index.css 即可看到编译后的css样式

4 将编译后的样式保存到文件中  lessc index.less > index.css

ubuntu 14.04下将webstorm 添加到左侧面板

 ubuntu  ubuntu 14.04下将webstorm 添加到左侧面板已关闭评论
12月 022016
 

使用ubuntu14.04后, 下载了websotrm linux版,由于是解压包, 在dash搜索时一直搜索不到,即使使用打开webstorm->在启动器中锁定,但点击没有反应。 大家可以使用下面的方式, 对于其它的应用也可以采取类似方法:

在ubuntu14.04中,启动栏快捷图标有两个路径:

1.所有用户的,/usr/share/applications/  

2.当前用户的,~/.local/share/applications/

不过一般把程序的启动图标设置在所有用户下即可。

进入/usr/share/applications/ 目录

1.创建文件

sudo gedit WebStorm.desktop

2.写入内容

[Desktop Entry]
Categories=Development;
Comment[zh_CN]=
Comment=
Exec=/home/ouu/webstorm/bin/webstorm.sh
GenericName[zh_CN]=IDE
GenericName=IDE
Icon=/home/ouu/webstorm/bin/webstorm.png
MimeType=
Name[zh_CN]=WebStorm
Name=WebStorm
Path=
StartupNotify=true
Terminal=false
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=owen

3.设置权限

gksu chmod +x WebStorm.desktop

记得创建快捷方式的时候,将路径改为你自己机子上放WebStorm的地方

这时通过dash搜索就可以看到新建的webstorm desktop, 拉到左侧面板, DONE!!!

ubuntu下postgreSQL安装配置

 ubuntu  ubuntu下postgreSQL安装配置已关闭评论
10月 112016
 

一、安装并配置,并设置远程登陆的用户名和密码

1、安装postgreSQL,可根据https://www.postgresql.org/download/linux/ubuntu/ 提示操作

sudo apt-get update

sudo apt-get install postgresql-9.4

  • 在Ubuntu下安装Postgresql后,会自动注册为服务,并随操作系统自动启动。
  • 在Ubuntu下安装Postgresql后,会自动添加一个名为postgres的操作系统用户,密码是随机的。并且会自动生成一个名字为postgres的数据库,用户名也为postgres,密码也是随机的。

2、修改postgres数据库用户的密码为123456

打开客户端工具(psql)

sudo -u postgres psql

  • 其中,sudo -u postgres 是使用postgres 用户登录的意思
  • PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的

postgres=# ALTER USER postgres WITH PASSWORD ‘123456’; 

  • postgres=#为PostgreSQL下的命令提示符,–注意最后的分号;

3、退出PostgreSQL psql客户端

postgres=# \q

4、修改ubuntu操作系统的postgres用户的密码(密码要与数据库用户postgres的密码相同)

切换到root用户

su root

删除PostgreSQL用户密码

sudo passwd -d postgres

  • passwd -d 是清空指定用户密码的意思

设置PostgreSQL系统用户的密码

sudo -u postgres passwd

按照提示,输入两次新密码

  • 输入新的 UNIX 密码
  • 重新输入新的 UNIX 密码
  • passwd:已成功更新密码

5、修改PostgresSQL数据库配置实现远程访问

vi /etc/postgresql/9.4/main/postgresql.conf

1.监听任何地址访问,修改连接权限

#listen_addresses = ‘localhost’ 改为 listen_addresses = ‘*’

2.启用密码验证

#password_encryption = on 改为 password_encryption = on

vi /etc/postgresql/9.4/main/pg_hba.conf

在文档末尾加上以下内容

host all all 0.0.0.0 0.0.0.0 md5

6、重启服务

/etc/init.d/postgresql restart

7、5432端口的防火墙设置

5432为postgreSQL默认的端口

iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 5432 -j ACCEPT

二、内部登录,管理数据库、新建数据库、用户和密码

1、登录postgre SQL数据库

psql -U postgres -h 127.0.0.1

2、创建新用户zhangps,但不给建数据库的权限

postgres=# create user “zhangps” with password ‘123456’ nocreatedb;

  • 用户名处是双引号

3、建立数据库,并指定所有者

postgres=#create database “testdb” with owner = “zhangps”;

三、外部登录,管理数据库、新建数据库、用户和密码

1、在外部命令行的管理命令,创建用户pencil

sudo -u postgres createuser -D -P pencil

  • 输入新的密码:
  • 再次输入新的密码:

2、建立数据库(tempdb),并指定所有者为(pencil)

sudo -u postgres createdb -O pencil tempdb

  • -O设定所有者为pencil


pgAdmin III 是一个方便的PostgreSQL图形客户端,它很适合初学者,可以在终端下输入如下命令来安装:

sudo apt-get install pgadmin3

ubuntu下实现wifi热点, 并使用wireshark实现websocket移动抓包

 开发  ubuntu下实现wifi热点, 并使用wireshark实现websocket移动抓包已关闭评论
5月 272016
 

目的:实现移动端的websocket包抓取分析.

mitmproxy,charis都没办法实现websocket包的抓取,但wireshark虽可以抓包websocket但无法使用代理, 想到在PC端建立一个移动热点,然后通过移动设备连接这个移动热点, 然后在PC端使用wireshark抓取websocket包。

马上施行,我使用的是ubuntu14.04 , 比较复杂(mac等简单设置即可),一步一步来:

1. 网上的文章有直接通过ubuntu网络连接在产生新wifi热点,见: http://jingyan.baidu.com/article/d8072ac4414864ec95cefdaf.html ,但是我可以建立连接却无法通过iphone连接到这个热点,一直提示无法连接。 推荐下面的方法

2. 具体方法如下:使用ap-hotspot来创建WIFI热点,而不要用Ad hoc。终端里输入:
$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install ap-hotspot
$ sudo ap-hotspot configure  //这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码之类的就行了
$ sudo ap-hotspot start

参数使用说明:

start          start wireless hotspot//开始使用
stop           stop wireless hotspot//停止使用
restart        restart wireless hotspot//重启
configure      configure hotspot//配置使用
安装成功后配置过程如下:
tehero@tehero-pc:/tmp$ sudo ap-hotspot configure
Detecting configuration…
Detected eth0 as the network interface connected to the Internet. Press ENTER if this is correct or enter the desired interface below (e.g.- eth0, ppp0 etc.)://默认按Enter即可
Detected wlan0 as your WiFi interface. Press ENTER if this is correct or enter the desired interface (e.g.- wlan1)://默认按Enter即可
Enter the desired Access Point name or press ENTER to use the default one (myhotspot):
//Wifi名字
Enter the desired WPA Passphrase below or press ENTER to use the default one (qwerty0987):
//wifi 密码
使用篇:
$ sudo ap-hotspot start
Starting Wireless Hotspot…
Wireless Hotspot active
出现如上字样即可


问题集锦篇:
1、无法出现Wireless Hotspot active,并一直保持Starting Wireless Hotspot…
hostapd默认版本有bug
解决方法:
移除hostapd
sudo apt-get remove hostapd
然后:
去 https://pkgs.org/download/hostapd 下载对应的版本, 我下的是:

wget http://archive.ubuntu.com/ubuntu/pool/universe/w/wpa/hostapd_2.1-0ubuntu1.4_amd64.deb

sudo dpkg -i hostapd*.deb
sudo apt-mark hold hostapd

“sudo apt-mark hold hostapd” 将防止版本升级到有问题的版本。
之后需要重新安装ap-hotspot.


2、出现:
Wireless Hotspot active
bash: notify-send: 未找到命令
解决方法:
$ notify-send
程序“notify-send”尚未安装。 您可以使用以下命令安装:
sudo apt-get install libnotify-bin
$ sudo apt-get install libnotify-bin

3、Ubuntu下使用ap-hotspot出现“Another process is already running”问题的解决方案

sudo rm /tmp/hotspot.pid

再重启服务

$ sudo ap-hotspot start


如果还是一直Starting Wireless Hotspot…, 进行如下操作:

在启动前,执行以下命令:
sudo nmcli nm wifi off
sudo rfkill unblock wlan
sudo service hostapd restart
再执行
sudo ap-hotspot start
就好了。

然后打开wireshark,filter使用websocket,就可以抓包了,done!