自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 问答 (4)
  • 收藏
  • 关注

原创 解决了一个在 LinuxMint 中运行搜狗拼音输入法的问题

确实有一些动态链接库没有版本信息。但我并不确定这是直接原因,先处理一下试试看。系统自带的 Qt 的版本是5.15.3,大版本是一样的。就在今天,新下载的搜狗拼音输入法安装包。之后重启 fcitx,就可以输入中文了。

2023-07-05 22:09:32 3069 7

原创 异常与错误码的性能对比

今天看到一篇文章说,在没有抛出异常的情况下,使用异常比使用错误码更快。。。

2023-06-02 09:39:33 147

原创 在Deepin 20上面安装Podman的一种另类方法

Podman是RedHat开发的容器调度器。因为Docker只能以root权限运行,并且拉取镜像需要访问网络,安全策略难搞。官方文档说Debian 11可直接安装。于是我用Docker运行一个Debian 11试试。我的Deepin 20系统上面的apt源没有找到Podman。尝试用源码编译,没成功~一个个复制到宿主机安装起来,竟然成功了!就这点依赖包,Golang大法好,哈哈哈~而Podman支持Rootless mode,且速度更快。然后复制到宿主机来安装,当然缺少依赖包。在容器里,配置国内源。

2022-12-08 23:38:11 610

原创 AppArmor快速入门

AppArmor是Linux内核的强制访问控制(MAC)一个实现方案,在Ubuntu等发行版上面默认开启。相比SELinux,AppArmor相对简单易用,更加适合日常使用。现在我们以node_exporter为例,介绍快速应用AppArmor的方法。......

2022-06-21 19:38:56 2858

原创 用Cython加密Python代码这么简单

用Cython加密Python代码

2022-05-26 14:56:40 451

原创 在Linux上面监视文件变更的各种方法踩坑

监视整个系统的所有文件变更,整理出文件列表以便进行其他分析。于是找了一些apt仓库里的开源软件,挨个试了试。(测试机的系统是Deepin)

2022-05-25 00:02:23 2006

原创 Lua编程时遇到的一个错误:attempt to index upvalue

最近用OpenResty开发一个产品。新学Lua语言,写了不少脚本。前几天遇到这么一个运行时错误:2022/01/21 18:57:01 [error] 581744#0: *74 lua entry thread aborted: runtime error: /opt/lua/blacklist.lua:98: attempt to index upvalue 'actions' (a number value)简化一下,blacklist.lua代码如下:local actions =

2022-01-26 16:25:32 4007

原创 Linux Bash怎么用通配符匹配隐藏文件

例如有这些文件:$ ls -a. .. a .a1 .a10 .a2 .a3 .a4 .a5 .a6 .a7 .a8 .a9如何用通配符匹配所有隐藏文件呢,显然不能用点星.*,因为会匹配到.和..这两个目录:$ ls .*.a1 .a10 .a2 .a3 .a4 .a5 .a6 .a7 .a8 .a9.:a..:tmp找了一个英文答案,是用GLOBIGNORE这个变量把.和..忽略掉:$ GLOBIGNORE=".:.."...

2022-01-22 22:50:20 1126

原创 2021-07-01 记mariadb数据库容器授权丢失的现象

最近在调试一个自动化部署脚本时,遇到mariadb数据库的一个问题:授权会消失。过程是这样的。在用mariadb:10.6.2这个官方镜像运行容器之后,尝试判断show databases指令是否可执行,如果可以就认为容器已经起来了、可以使用了。没毛病吧。而且看日志显示了这样的信息:mysqld: ready for connections.更加确信数据库容器正常了。随后创建数据库和赋予用户权限:create database abc;grant all on abc.* to

2021-07-01 18:09:19 228

原创 autofs/automount的使用

昨天用了一下autofs,感觉很有意思。它能够在访问目录时自动挂载(应该是在内核中拦截的),并且在一段时间无访问后自动卸载。以下是在Debian 10上面的使用过程。安装:apt install autofs添加一个自动挂载点:echo "/mnt/nfs /etc/auto.nfs --timeout=10" > /etc/auto.master.d/nfs.autofsecho "data -ro,soft,intr 10.100.2.1:/data" >...

2021-05-19 12:04:08 499

原创 Linux lsof fuser 两个命令超级卡怎么办

经常遇到在CentOS服务器上面执行lsof和fuser这两个命令卡住了,结果很久出不来,实在不能忍。今天发现搜索/proc目录是不卡的,于是就有了下面这些脚本。列出所有打开文件(类似lsof):(cd /proc; ls -d [0-9]* | xargs -n1 -i find {}/fd {}/cwd -type l -printf "{} %l\n")列出某个进程打开的文件(类似lsof -p)cd /proc/进程号; find fd cwd -type l -printf "

2021-05-18 19:37:28 3388 2

原创 Ubuntu/Debian怎么在命令行开启远程桌面共享

首先,如果正在电脑前操作,那么开启远程桌面共享的方法很简单。以Ubuntu16.04为例。首先找到桌面共享设置程序(Desktop Sharing)按照图中设置一下就可以了:如果我们不在电脑前面,但是能够通过ssh连接到电脑,那怎么办呢?本着折腾的精神,我研究了一下通过命令行开启远程桌面共享的方法,如下:第一步,修改远程桌面共享的设置,作用与上图等效:dconf write /org/gnome/desktop/remote-access/prompt-enabled fals

2021-05-02 18:11:07 7084 1

原创 ImportError: cannot import name universaldetector

今天遇到一件奇怪的事, 原本好好的云平台出现异常, 不能创建虚拟机. 错误信息是cannot import name universaldetector File "/usr/lib/python2.7/site-packages/neutronclient/client.py", line 343, in do_request return self.request(url,...

2020-03-28 12:10:05 1118 3

原创 在 Intel NUC8i7HVK 上安装CentOS7

前段时间公司买的Intel NUC小盒子, 在安装操作系统CentOS7的时候发现, 用几种常规方法制作的安装盘都不能用, 安装过程报错. 后来找到一个英文帖子, 推荐使用Fedora Media Writer制作安装盘, 完美解决了这个问题.工具下载地址:https://getfedora.org/en/workstation/download/安装盘制作过程:这里要点击"自定...

2020-02-04 12:41:33 2943 2

原创 autossh原理解析

authssh用来帮助ssh程序在中断后自动重连,在建立隧道的场合相当好用。它是怎么检测链路的呢?我们先来看一下它的使用方法:autossh [-V] [-M port[:echo_port]] [-f] [SSH_OPTIONS]举例:autossh -M 10001:10002 -N -R 10000:127.0.0.1:22 example.com这个例子的意思是,执行ss...

2018-12-27 21:05:37 4657

原创 Netfilter运行时钩子列表

这是在CentOS 7 (kernel 3.10.0-514.el7)上面运行时的钩子列表, 抓下来便于学习理解和调试.第一级是协议分类, 第二级是钩子点, 第三级是钩子函数, 方括号里面是钩子函数所在模块.NFPROTO_UNSPEC: NoneNFPROTO_INET: NoneNFPROTO_IPV4: NF_INET_PRE_ROUTING: ip...

2018-08-24 16:44:29 1053

原创 Linux ip forward转发问题总结

最近在调试一个虚拟网络,遇到一些转发难题,作个汇总。1、用tcpdump抓包,确认已经收到报文、但是发不出报文。收不到的情况这里不讨论;能发出报文但是对方收不到可能是路由错了,也可能是接收方的问题,这里也不细说了。2、看目的地址是不是正确的。目的地址不是本机的才会转发,或者DNAT成非本机地址也可以。3、看报文入口网卡的forward开关有没有打开,如sysctl net.ipv4.conf.en...

2018-05-10 20:34:28 6825

原创 分享一个导出有道云笔记的方法

用Python写了一个简单的爬虫,代码在这里:https://github.com/wesley2012/YoudaoNoteExport导出的笔记分为JSON和XML两部分。XML文件是笔记的内容,JSON文件是笔记的其它信息(包括标题、创建时间、修改时间等)。注意:没有下载图片以及其它内容,只有文字。使用方法:python main.py 用户名 密码或者指定保存目录:

2018-01-05 11:43:58 9899

原创 修改docker容器端口映射的方法

大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。有没有办法不保存镜像而直接修改已有的这个容器呢?有。在stackoverflow上面找到答案了,原帖如下https://stackoverflow.com/questions/19335444/how-do-i-assign...

2018-01-03 16:46:39 66838 22

原创 用gnuplot画三维彩色点+标签

带标签的三维彩色点,能够展示五个维度的信息,相当给力。先上图:图中的字母是标签。使用的数据集文件dataset.txt,各列依次是坐标、标签、颜色值:266 710 622 M 0xc1c5d5957 316 600 U 0x90c18f390 67 569 B 0x8e919a161 551 518 A 0x3b67c7890 151 999 T 0x28f61b4

2017-09-14 23:21:02 2362

原创 基于当前根文件系统的轻量级chroot jail

本帖说的chroot jail,以当前根文件系统为基础;所谓轻量级,是因为不需要复制文件系统,而是利用aufs或者overlay直接将jail建立在真实根文件系统之上,同时又实现隔离。不费话,直接开搞。仅以overlay为例:d=/tmp/overlaymkdir -p $d/{upper,work,merged}sudo modprobe overlaysudo mount -

2017-03-05 00:11:27 440

原创 Chrome on Ubuntu通过代理上网经常打不开github.com的问题

很多在大公司上班的同学都需要设置代理才能上网。不知道有没有遇到过这样的问题:https://github.com很难打开,但其它网站却可以打开,比如https://www.baidu.com或者google。我用的浏览器是Chrome 56.0.2924.87,操作系统是Ubuntu 16.04。按F12查看Chrome的网络日志,看不到任何错误码;github.com域名解析也没问题;用解析

2017-03-04 23:29:55 2541 3

原创 Spark超时问题一例(Connection has been quiet)

这是用Spark Mllib ALS算法做离线推荐时遇到的问题。我们对历史日志作统计和评分,然后用ALS来训练模型,最后为每个用户做个性化的产品推荐。现象是,driver在完成推荐之后,调用foreach输出推荐结果。从Spark UI看到,foreach这一步迟迟不执行。大约300秒之后(我们的spark.network.timeout是300秒),各个executor报告超时:

2016-10-17 16:05:21 9961

原创 AWS EC2访问速度测试

北美的慢,敲命令都卡,直接没测。这是亚太地区的:悉尼  ping 200 ms东京  ping 112 ms download 870KB/s首尔  ping  58 ms download 3728.29KB/s --真“棒”

2016-09-07 16:14:04 17255

原创 Ubuntu 16.04 Desktop不能识别USB设备的问题

新买的笔记本Inspiron-7557(游匣),安装Ubuntu 16.04 Desktop之后,出现无线鼠标不能用的情况。不光是鼠标,其它USB设备,比如U盘,也不能识别到。因为装的双系统,WIN8+Ubuntu,所以切换系统过程中,发现Ubuntu不光是自己识别不出USB设备,而且会导致切换到WIN8之后,WIN8也找不到设备。以为哪个USB Hub坏了,准备师傅上门修。无意中想到恢复出厂

2016-07-19 00:17:16 27739 3

原创 搭建Maven私服

有时候创建或者更新Maven工程慢得实在难以忍受,有什么办法可以加快?有,两种办法,一是手工下载repository,这种办法可能是用起来最快的,但是不够灵活,需要手工更新;第二种办法是搭建一个Maven私服,搭好之后基本不用打理,非常方便。下面就分享一下自已用nexus 2搭建私服的经验。首先从http://www.sonatype.org/downloads/nexus-lates

2016-05-09 23:55:45 871

原创 ssh免密码登录

为什么要做ssh免密码登录?在通过脚本远程部署软件时,经常要多次远程执行命令,免密码登录有助于简化脚本代码,同时提高登录效率。免密码登录的原理,简而言之,就是将本地用户的公钥,复制到远程主机指定文件中(这一步需要密码);之后的登录,远程主机将通过密钥来识别用户,而不再需要密码。复制公钥的方法有两种,最简单的就是执行ssh-copy-id命令:ssh-copy-id remote_use

2016-03-29 10:18:53 464

原创 给libvirt创建的虚拟机指定固定IP

最近经常用libvirt创建一批虚拟机用于工作。这些虚拟机的IP地址默认都是DHCP动态分配的。本以为动态分配的IP地址会在很长的租期内保持不变,但是今天就遇到了怪事:复制大文件的过程中,网络中断,重新分配了另一个IP。IP一变,SSH什么的都连不上了,很麻烦。于是找到这么一个指定固定IP的办法:首先用virsh dumpxml查看网卡的MAC地址:root@notebook:

2016-03-02 18:03:21 8908

原创 Partition does not start on physical sector boundary

今天给服务器分区遇到的这个问题[root@bogon ~]# fdisk /dev/sdfDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x59c8eb29.Chan

2014-11-19 16:31:19 20691 1

原创 redisCommand out of memory

reply = redisCommand(redis_ctx, "SET %s-%b %b EX %d", type, key, keylen, value, valuelen, expire);

2014-09-29 15:38:01 2664

原创 用iptables做端口镜像(复制报文)

有一种做端口镜像的技术,将网卡上所有报文复制到另一个网卡上。

2014-08-15 17:48:00 13255

原创 通过代理下载Google Code

git config --global http.proxy 192.168.1.121:8087git clone https://code.google.com/p/netmap

2014-07-22 15:52:41 1088

原创 找出make install安装的文件

用源代码编译之后, 通常执行make install安装到/usr/local目录下. 我们偶尔需要

2014-05-05 19:19:49 3139

原创 insight - gdb图形界面

https://sourceware.org/insight/

2014-04-29 17:04:29 1754

原创 由nginx crc32改造而成的crc64

#define hash_init(hash, c) {hash = c;}#define hash_update(hash, c) {hash = ngx_crc32_table256[(hash ^ c) & 0xff] ^ ((hash > 57));}

2014-04-29 10:51:30 2264

原创 LVS实践

本例中使用了4台KVM虚拟机: 业务服务器两台, 地址分别是192.168.4.6和192.168.4.7, 都开启了httpd服务;负载均衡服务器一台, CentOS6.3系统, 有两个地址: 192.168.4.5和10.0.0.1;测试机地址10.0.0.2;在负载均衡服务器上安装软件并完成配置:

2014-04-19 23:25:18 655

原创 Linux磁盘设备名变了

/dev/sde/dev/sdb/dev/sdc/dev/sdd/dev/sdf/dev/sdg/dev/sdh/dev/sdi/dev/sdj/dev/sdk/dev/sdl

2014-04-18 14:57:19 4297

原创 Redhat/CentOS全自动网络安装

机房经常需要安装系统, 之前搭了个Windows上运行的tftpd32+httpd的网络安装环境, 可以用; 但是需要我的PC经常开着tftpd程序. 于是今天改进了一下, 将网络安装服务器搭在某个常年运行的Linux服务器上...    先介绍一下, 我们使用的网络安装服务器的IP是192.168.1.14, 系统是32位Redhat5. 准备安装的系统是64位Redhat6.4; 安装64

2014-03-27 19:20:00 876

原创 Xming: No protocol specified

Xming, X Server for Windows, 刚刚在SourceForge下载的. 第一次使用就遇到这个问题:[root@bogon ~]# export DISPLAY=192.168.1.121:0[root@bogon ~]# firefoxNo protocol specifiedNo protocol specifiedError: cannot

2014-03-26 14:42:33 3725 1

原创 Redhat多版本通用的yum配置

这是我整理的Redhat多版本通用的yum配置, 复制以下全文并粘贴到Shell中执行即可, 相当方便#1.删除RHEL插件rpm -q yum-rhn-plugin >/dev/null && rpm -e --nodeps yum-rhn-plugin#2.编辑新配置文件cat > /etc/yum.conf.new [main]cachedir=/va

2014-03-25 18:36:18 759

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除