随手记录

来源:互联网 发布:汉客和爱华仕 知乎 编辑:程序博客网 时间:2024/05/16 12:45

2016.11.24 23:07
git 放弃本地修改 强制更新:
git fetch –all
git reset –hard origin/master

git将单个文件恢复到历史版本的正确方法如下:
git reset commit_id 文件路径
git checkout – 文件路径

2016.11.25 16:09
manage.py runserver 0.0.0.0:8000 –insecure (注,–insecure 这个选项特别重要,否则,你会发现,无法加载静态文件,)

python中文注释
*#coding:gbk或#coding:utf-8或##-- coding : gbk --*

2016.12.08 10:01
centos7 samba无法写入(关闭防火墙)
setenforce 0

2016.12.09 16:27
print sys._getframe().f_code.co_filename #当前文件名,可以通过file获得
print sys._getframe().f_code.co_name #当前函数名
print sys._getframe().f_lineno #当前行号
get_cur_info()

2016.12.09 17:49
1. 如果模块是被导入,name的值为模块名字
2. 如果模块是被直接执行,name的值为’main

2016.12.10 17:21
设置阿里云镜像源:
dockerd -H 0.0.0.0:8800 –registry-mirror=https://pee6w651.mirror.aliyuncs.com

2016.12.18 20:19
通过docker源安装docker
sudo apt-get install apt-transport-https

apt-key adv –keyserver hkp://pgp.mit.edu:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D

bash -c “echo deb https://apt.dockerproject.org/repo ubuntu-trusty main

/etc/apt/sources.list.d/docker.list”

apt-get update

apt-get purge lxc-docker*

apt-get install -y docker-engine

2016.12.24 17:33
openstack 手动删除实例(操作数据库)

#!/bin/bashfor i in "$@"domysql -uroot -pmygreatsecret << EOFuse nova;DELETE FROM nova.virtual_interfaces where instance_uuid='$i';DELETE FROM nova.fixed_ips where instance_uuid='$i';DELETE FROM nova.block_device_mapping where instance_uuid='$i';DELETE FROM nova.instance_system_metadata where instance_uuid='$i';DELETE FROM nova.security_group_instance_association where instance_id='$i';DELETE FROM nova.instance_info_caches WHERE instance_uuid='$i';DELETE FROM nova.instances WHERE uuid='$i';EOFdone#echo "ok!,$# vm was deleted successfully!!"#exit 0

centos7 忘记root密码
1. 在启动界面选择 centos linux, with linux***.x86_64
2. 按 e 键进入编辑模式
3. 将光标移动到 linux 16 开头的行,找到 ro 改为 rw init=sysroot/bin/sh (注:此步网上有显示为 ro rd_lvm.lv_centos_vm20/root)
4. 修改完成后按 ctrl+x 开始执行
5. 进入后输入 chroot /sysroot 回车
6. 输入 passwd 回车
7. 根据提示输入两次你所需的密码
8. 完成后输入 touch /.autorelabel 回车
9. 输入 exit 回车
10. reboot 重启 过程慢,要耐心等等
centos7 网卡重命名ethx
修改/etc/sysconfig/grub的GRUB_CMDLINE_LINUX=”vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 net.ifnames=0 biosdevname=0 rhgb quiet”,
增加net.ifnames=0 biosdevname=0
执行:grub2-mkconfig -o /boot/grub2/grub.cfg

2017.01.06
docker 官方centos ssshd错误
error: PAM: pam_open_session(): Cannot make/remove an entry for the specified session
Received disconnect from [ip adres removed]: 11: disconnected by user

sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' /etc/pam.d/sshd

2017.02.06
centos下安装pip时失败:

[root@wfm ~]# yum -y install pip
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
Setting up Install Process
No package pip available.
Error: Nothing to do

解决方法:

需要先安装扩展源EPEL。

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

首先安装epel扩展源:
sudo yum -y install epel-release

然后再安装pip
yum -y install python-pip

查看openstack版本号

from nova import version
version.version_string()
‘2011.2’
version.version_string_with_vcs()
u’2011.2-workspace:tarmac-20110415024701-a9bdb77vaatk99lh’
2017.02.08
查询镜像所有版本:

#!/bin/shcurl -s -S "https://registry.hub.docker.com/v2/repositories/$@/tags/" | python -m json.tool

2017.02.14

在 VS, PYCHARM 中只要 拉选块之后,按下tab键,整个块就会缩进
按下 shift + tab 就会反向缩进

2017.02.20
docker 不使用seccomp—对于不支持seccomp的runc来说,使用如下选项
–security-opt seccomp:unconfined
2017.02.24
scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法
sudo apt-get install libssl-dev
yum install openssl-devel

2017.02.26
TIME_WAIT过多:
#让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍
echo “1” > /proc/sys/net/ipv4/tcp_tw_reuse
#让TIME_WAIT尽快回收,我也不知是多久,观察大概是一秒钟
echo “1” > /proc/sys/net/ipv4/tcp_tw_recycle

2017.2.28
pycharm 注册码

BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9XSwiaGFzaCI6IjQ3NzU1MTcvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-iygsIMXTVeSyYkUxAqpHmymrgwN5InkOfeRhhPIPa88FO9FRuZosIBTY18tflChACznk3qferT7iMGKm7pumDTR4FbVVlK/3n1ER0eMKu2NcaXb7m10xT6kLW1Xb3LtuZEnuis5pYuEwT1zR7GskeNWdYZ0dAJpNDLFrqPyAPo5s1KLDHKpw+VfVd4uf7RMjOIzuJhAAYAG+amyivQt61I9aYiwpHQvUphvTwi0X0qL/oDJHAQbIv4Qwscyo4aYZJBKutYioZH9rgOP6Yw/sCltpoPWlJtDOcw/iEWYiCVG1pH9AWjCYXZ9AbbEBOWV71IQr5VWrsqFZ7cg7hLEJ3A==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==

2017.03.06
ngrok配置

Step 1 修改配置文件ngrok.cfg
server_addr: “tunnel.qydev.com:4443”
trust_host_root_certs: false

tunnels:
ssh:
remote_port: 51001
proto:
tcp: “127.0.0.1:22”
mstsc:
remote_port: 52222
proto:
tcp: “127.0.0.1:3389”
web:
subdomain: “tss”
proto:
http: 80

修改subdomain: “tss”的tss为自己的域名前缀。

如果想通过自己的域名来访问本机的项目,那么先将自己的顶级域名解析到123.57.165.240(域名需要已备案),然后修改subdomain: “tss”为hostname: “xxx.xxx.xxx”//(xxx.xxx.xxx是你自定义的顶级域名)

备注1:
•只支持: remote_port: 50000~59999
•tcp后面跟本地ip与服务端口

Step 2 修改批处理文件ngrok.bat

修改批处理文件最后一句为ngrok -config=ngrok.cfg start ssh web mstsc,然后运行ngrok.bat就可以了

备注2:远程连接时使用tunnel.qydev.com 加 端口号例如tunnel.qydev.com:52222

2017.3.16

在linux系统调用中,标准输入描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.
请问,他们有什么区别吗?
stdin等是FILE *类型,属于标准I/O,在。
STDIN_FILENO等是文件描述符,是非负整数,一般定义为0, 1, 2,属于没有buffer的I/O,直接调用系统调用

gcc编译C++文件出错

main.cpp:(.text+0xa): undefined reference to `std::cout'main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)'main.o: In function `__static_initialization_and_destruction_0(int,int)':main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()' collect2: error: ldreturned 1 exit status make: *** [qs] Error 1

编译时添加-lstdc++
如:

gcc epoll.cpp -lstdc++ -o epoll

2017.03.18

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型(2)-i eth1 : 只抓经过接口eth1的包(3)-t : 不显示时间戳(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包(5)-c 100 : 只抓取100个数据包(6)dst port ! 22 : 不抓取目标端口是22的数据包(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

2017.03.19

windows添加静态路由,指定网段通过走指定网卡

NETSTATE.EXE -r 查询网卡编号route add 192.168.100.0 mask 255.255.255.248 192.168.1.1 metric 3 if 2 

添加一条路由记录,所有到192.168.100.0/24网段的数据包,都通过2号(网卡)接口走192.168.1.1的网关,优先级为3。

批量转换为UTF8编码

find -type d  | while read file_name; do mkdir -p  ${file_name/\.\//\.\/tmp\/}; donefind -name '*.c'  | while read file_name; do iconv -f gbk -t utf8 $file_name -o ${file_name/\.\//\.\/tmp\/}; done

2017.04.01
mysql root密码重置

在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存
update mysql.user set password=password(‘newpassword’) where user=’root’

2017.04.06

ovs-vsctl add-br br-int

0 0