ss-libev一些常用命令

1.查看版本

ss-server -h

2.查看是否開啓udp

sudo netstat -npl | grep ss-server

3.開啓tcp-fastopen

服務器端和openwrt客戶端修改 /etc/sysctl.conf 增加下列字段

net.ipv4.tcp_fastopen = 3  # 1 开启客户端,2 开启服务端,3 都开启

並執行下列命令使之生效

sysctl -p

修改服務端ss的配置文件增加下列字段

"fast_open": true

git添加忽略文件.gitignore

一般我们在最开始的时候都会把所有的文件同步到git,到后期我们会发现一些图片文件,敏感文件不应该同步过去。于是我们就必须要使用.gitignore来阻止一些文件的同步。

首先,我们需要在项目的根目录创建.gitignore文件,并填写忽略的内容,如下:

/media/  # 忽略的文件夹
*.pyc        # 忽略的文件类型
/.idea/

接下来我们必须清空git缓存区,并重新提交所有文件到缓存区

git rm -r --cached .       # 清除缓存
git add .                            # 重新trace file

最后我们把.gitignore也加入版本管理。

ubuntu 18.04 无法安装NVIDIA驱动解决方法

笔记本是双显卡,在终端执行

ubuntu-drivers devices

可以列出可以安装的驱动 含有recommended的表示推荐的驱动
如下所示(我已安装好之后的显示)

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00000DF6sv000017AAsd00003981bc03sc00i00
vendor   : NVIDIA Corporation
model    : GF108M [GeForce GT 550M]
driver   : nvidia-304 - third-party free
driver   : nvidia-340 - distro non-free
driver   : nvidia-driver-390 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

我们执行安装命令直接安装推荐的驱动

sudo apt-get install nvidia-driver-390 

问题出在这里,安装过程中提示一个文件不能覆盖,因为已经被某个软件包占用。因为ubuntu默认的驱动是xserver-xorg-video-nouveau 并且包含这个文件。这个时候我们就要添加强制写入的命令 dpkg -i –force-overwrite。
完整的命令如下

sudo apt-get -o Dpkg::Options::="--force-overwrite" -f install nvidia-driver-390 

成功安装后重启即可。

django 环境注意事项

如果使用python3环境,我们需要用pymysql代替mysqldb,在虚拟环境中使用下列代码安装pymysql。

pip install PyMySQL

在项目的 __init__.py中添加下列两行

import pymysql
pymysql.install_as_MySQLdb()

如果报错 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3. 则需要修改/lib/python3.6/site-packages/django/db/backends/mysql/base.py注释掉下列代码。

"""
if version < (1, 3, 13):
    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
"""

接下来可能会报错AttributeError: ‘str’ object has no attribute ‘decode’,我们需要修改lib/python3.6/site-packages/django/db/backends/mysql/operations.py文件以下代码

query = query.encode(errors='replace')