linux
afeiqiang
这个作者很懒,什么都没留下…
展开
-
Linux 添加中文字体终极方法
系统缺少中文字体的情况下,代码使用中文字体便会乱码。检查系统中是否存在字体,查看 /usr/share/fonts 。分两种情况:一、当不存在该目录,运行以下命令安装 fontconfigyum -y install fontconfig完了之后有目录了,而且里面自带了 DejaVuSans 字体。看名字很容易误以为是宋体,其实不是,并没有中文字体在里面。二、有 fonts 目录,但里面没有中文字体。首先在电脑中找到字体文件,windows 在C:\windows\fonts 下面,macO原创 2021-04-30 22:43:42 · 1309 阅读 · 2 评论 -
树莓派开启 wifi 热点
树莓派小巧的体型当然不是为了固定放在桌子上, 更是为了做成可移动的智能设备, 例如智能小车. 当树莓派不在室内的 wifi 下时, 怎样方便地连接上它呢? 于是想要把树莓派变成 wifi 热点, 就能用我们的手机或者笔记本连接它了.一. 修改 /etc/network/interfaces, 建议把旧的文件备份例如 interfaces-old# 有线网卡, 普通上网方式auto eth0iface eth0 inet dhcp# 无线网络, 用作 wifi 热点auto wlan0.原创 2020-07-29 01:42:47 · 6530 阅读 · 0 评论 -
Too many open files 问题排查和解决
众所周知 linux 对单个进程能打开的文件数是有限制的, 默认是 1024, 最大 65536. 用命令 ulimit -a 查看.$ ulimit -acore file size(blocks, -c) 0data seg size(kbytes, -d) unlimitedscheduling priority(-e) 0file size(blocks, -f) unlimited...原创 2020-07-13 04:39:57 · 1024 阅读 · 0 评论 -
树莓派安装 Ubuntu Server 系统
很多朋友都是从官方系统入门, 用的时间久了, 旧系统的弊病就暴露出来了. 目前发现的问题有蓝牙音频服务不稳定, 常常掉线; usb 外设数量限制至多 8 个, 包括usb hub 也算一个. 参考https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=12097&p=145278#p145479.于是想到换 Ubuntu 系统, 毕竟后者是全球最多人用的 linux 发行版本. 笔者发文时最新的树莓派 Ubuntu 版本是 20..原创 2020-06-25 22:46:01 · 5042 阅读 · 0 评论 -
树莓派设置开机执行, 指定用户和用户组
Linux 开机执行有几种方式, 一种是设置成系统服务, 随着系统加载而启动, 另一种是修改 /etc/rc.local 脚本, 在 exit 之前加入需要执行的语句. 后者默认是以 root 用户执行, 非 root 执行可以这么写su - yourname -c 'command'yourname 是用户名, command 是想要执行的命令. 但在实际中, 查看后台进程发现多了...原创 2020-04-25 20:48:05 · 1521 阅读 · 0 评论 -
树莓派打造无线共享打印机
如果家里/宿舍有一台不带网络功能的打印机,在没有共享的情况下就只能跑去接线——相当麻烦。如果打印机连着一台电脑来共享,然而这台电脑也就必须连接了打印机并开机——也不容易。若使用树莓派来共享,便能轻松很多。参考资料如何正确地用树莓派共享打印机(少数派)阿寻于 2017年9月20日安装CUPS安装过程很简单,直接使用apt就可以了。apt update apt insta...转载 2020-04-02 23:56:18 · 3032 阅读 · 0 评论 -
nginx 反向代理 proxy_pass DNS 缓存问题
咱们有个项目用 nginx 配置了反向代理,location / { proxy_pass http://d.example.com:8080;}其中 d.example.com 是动态解析的域名. 用了几天之后发现一个问题, 动态域名更改 IP 后, nginx 还是发送到旧的 IP. 从 error 日志看到错误. 查了下官文的文档, 原来是 nginx 启动加载配置文件时...原创 2020-03-26 22:37:47 · 2455 阅读 · 0 评论 -
树莓派读取条码扫码枪
平时用的最多的扫描枪通常只是一个简单的输入设备(好比键盘,鼠标), 另一头需要连接电脑, 用的 usb 或者串口. 扫描枪负责识别条码, 电脑收到后执行业务的逻辑. 有时候只是简单的数据采集工作, 数据传到服务器云端, 放台电脑在那儿显得浪费而且需要昂贵的维护. 而小巧灵活而且价格低廉的树莓派同学马上举手说: “我可以!” 可能你已经想到了, 用图形界面不是很 e...原创 2020-03-22 19:38:39 · 4511 阅读 · 18 评论 -
树莓派 4b 组建数据中心(4)在公司访问家里的移动硬盘
大多数的时间, 我们都不是在家里. 但希望家里的挂在树莓派上的移动硬盘能随时随地的访问到. 办法有很多, 比如动态域名dDNS(著名如某生壳), ssh 反向隧道, ngrok 内网访问等等(等等是因为只知道这些方法了, 还知道其他办法的请留言告诉我). 动态域名的方法有许多弊端, 例如ISP禁止 80 端口访问, 需修改路由器端口映射, 在很多情况下不具备条件, 没有通用性....原创 2019-10-28 13:25:49 · 1004 阅读 · 0 评论 -
CentOS7 安装 transmission
有的朋友问到安装 transmission 的那篇文章在哪里, 因为时间很久了, 原文已经找不到了, 现在把译文再发一下.1 首先, 需要在系统上启用EPEL repositoryyum install epel-releaseyum -y update2 开始安装 transmission只需运行一行命令yum install transmission-daemo...翻译 2019-10-26 00:55:33 · 3848 阅读 · 0 评论 -
树莓派4b 安装 server 版系统
跟 desktop 版本的系统不一样的是, server 版不带 GUI 桌面, 直接启动到控制台. 多数用到树莓派的情景都是把它放在一个角落里默默的运行, 所以 server 版系统更适合.安装 server 版跟之前一样, 上官网下载系统, 然后用balenaEtcher 烧录到 sd 卡上. 官网地址https://www.raspberrypi.org/downloads/...原创 2019-10-16 15:16:38 · 1378 阅读 · 0 评论 -
树莓派 4b 组建数据中心(3)挂载移动硬盘/搭建下载机
挂载移动硬盘1 安装 exFat 格式支持现在很多大磁盘都用到了 exFat 格式, 旧的 fat32 格式单个文件不能大于 4G, 有很多的不方便. 另外 NTFS 没有这个限制, 但默认只能读不能写, 可以安装 fuse-utils ntfs-3g 来支持写操作. 而 exFat 格式在 windows, linux 和 MacOS 都支持比较好.树莓派系统默认不支持 exFat,...原创 2019-10-05 16:57:12 · 2154 阅读 · 0 评论 -
树莓派 4b 组建数据中心(1)通电联网, 解锁 root
最近迷上了物联网智能设备. 先从某宝上入手了一块树莓派.我用的全套装备是4b 2G 版+9 层亚克力盒子+3 块散热片+外壳风扇+64G sd卡.发热是树莓派的短板, 不加风扇空跑也能轻易上到 60 多度. 保险起见加了风扇,通电 5 个小时温度稳定在 44 度上下.查看 CPU 温度方法:/opt/vc/bin/vcgencmd measure_temp或cat /sys/cl...原创 2019-10-02 01:44:52 · 636 阅读 · 0 评论 -
树莓派 4b 组建数据中心(2)文件共享
既然是数据中心, 文件共享是标配. 各种各样的设备有电脑, 手机和平板,电脑分 windows 和 MacOS,手机/平板也分android 和 iOS. 因为各家厂支持的协议不一样,所以要安装不同的共享服务.samba 还是 afp?Samba 是微软家支持的协议, windows 的文件共享用的就是这种协议, 支持的 APP 也多. 另外一家苹果的 macOS 并不支持, ...原创 2019-10-02 01:53:48 · 1091 阅读 · 3 评论 -
ffmpeg 合并下载m3u8流媒体
m3u8 不是一个视频文件,而是一个playlist。用 sublime text 打开下载下载下来的 m3u8 文件是这样子的:#EXTM3U#EXT-X-VERSION:3#EXT-X-MEDIA-SEQUENCE:0#EXT-X-ALLOW-CACHE:YES#EXT-X-KEY:METHOD=AES-128,URI="http://hls.videocc.net/a0...原创 2019-01-23 17:31:59 · 14775 阅读 · 6 评论 -
gogs 导致 ssh 钥匙对登录失败的问题
自从装了 gogs 后, 登录服务器出现了一个奇怪的问题. 原来可以用钥匙对登录, 现在要输入密码了. 检查配置文件 /etc/ssh/sshd_config 发现问题:# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2# but this is overridden so instal...原创 2018-12-22 23:31:06 · 3847 阅读 · 0 评论 -
shell 错误输出重定向的正确方式
正常情况下, 执行命令的错误提示信息会直接打印出来, 但有时候在后台执行的时候, 我们更倾向于让错误信息保存到日志文件. Linux 的输出重定向很容易做到这点. 但有一次发现了一个奇怪的现象# 重定向正确$ ls nosuchfile 2>logfile$ ls nosuchfile 1>logfile 2>&1# 重定向不正确$ ls nosuchfi...原创 2018-12-09 17:25:29 · 17613 阅读 · 1 评论 -
使用strace工具故障排查的5种简单方法
本文源自5 simple ways to troubleshoot using strace,我做了一些摘译。strace 是一个非常简单的工具,用来跟踪可执行程序的系统调用(system call)。最简单的使用是,它追踪可行程序运行时的整个生命周期,输出每一个系统调用的名字,参数和返回值。但是它还可以做更多的事情:它可以基于系统调用或者系统调用组来过滤它可以通过计算制定系统转载 2012-09-14 16:12:02 · 4814 阅读 · 1 评论 -
linux 命令别名使用-alias(转)
使用 cp 复制文件总是提示是否覆盖现有文件,不管是不是用了 -f 参数。用 alias cp 命令看了一下,发现有下面内容alias cp='cp -i'就是说 cp 成了 cp -i 的别名。用 unalias cp 删除别名后,cp 恢复正常了。关于 alias 命令更多的内容,可以看 http://blog.csai.cn/user1/39308/archives/200转载 2012-11-23 12:57:11 · 914 阅读 · 0 评论 -
shell下取得字符串的md5值
今日群里问起一个问题:echo 123|md5sumba1f2511fc30423bdbb183fe33f3dd0f - php -r "echo md5('123');"202cb962ac59075b964b07152d234b70两者的md5值不一致,于是有很多有趣的解法:1 Mysql解法:mysql> select md5('123');转载 2012-12-14 11:40:33 · 5611 阅读 · 0 评论 -
linux shell 比较两个浮点数
如果写成[ "$a" -lt "$b" ],当$a $b 是整数(integer)时,工作得很好,但对于浮点数,会得不到想要的结果,它只会给你“-bash:***期待整数表达式”的结果。为了比较两个浮点数,可以写成这样[ `echo "$a > $b" | bc` -ne 0 ]原创 2013-01-22 23:34:59 · 8226 阅读 · 2 评论 -
[转]linux网络配置文件【redhat和ubuntu的】
一、redhat系统的网络配置文件 要建立一个Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/IP网络是 通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,下面介绍几个基本的TCP/IP网络配置文件。1./etc/sysconfig/network-scripts/ifcfg-文件在转载 2013-01-27 00:42:05 · 1621 阅读 · 0 评论 -
Linux 不同用户之间复制文件
考虑如下情景:foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录。Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root(至高无上的root)。如果没有root权限,有什么办法把file.txt 复制到bar用户的home目录下呢? 想到两个办法。第一个办法,先用foo用户登录,把文件copy到原创 2013-03-26 01:27:47 · 15227 阅读 · 0 评论 -
灵活处理 mysql 导入数据出错
从SQL文件导入数据库经常会用到,可能是从mysqldump 的脚本恢复数据库,也可能是数据库迁移。往往这样的SQL文件里包含很多条语句,如果中途某条语句出错将会导致整个导入任务终止。遇到这种情况应该怎样处理呢?先准备一个演示用的SQL脚本 demo.sqlSET NAMES UTF8;CREATE TABLE cc ( `account_id` m原创 2013-04-19 11:35:25 · 2143 阅读 · 0 评论 -
mv排除某些文件
比方说,我想把当前目录下的全部文件移到某个子目录下,先建好目录mkdir myfolder然后用mv把全部文件移进去。等等,我可不想把myfolder移到myfolder里面(事实上也不会,linux会提示一个错误 mv: 无法将目录"myfolder" 移动至自身的子目录"./myfolder/myfolder" 下)。mv还好办,但换成是rm呢?我想删除该目录下的除myfolder之外原创 2013-05-01 17:35:29 · 5854 阅读 · 0 评论 -
man 命令使用小技巧
用过linux的人一定对好男人命令man不陌生。但仅限于简单的 man 命令名,或者 man -n 命令名 查询命令或者某个库函数的用法。还有两个很实用的参数 -a 和 -w。man -a cmd显示cmd命令全部的文档man -w cmd显示文档的路径man -aw cmd显示文档的全部路径。对于cmd同名文档有多个section,而且不知道是哪个sectio原创 2013-12-14 11:36:38 · 1119 阅读 · 0 评论 -
wget下载文件指定长度
要下载的文件很大,只想预览下文件。wget本身没有这个选项,但可以组合ulimit命令来达到目的:(ulimit -f 1024; wget $url)注意 () 是将 ulimit 的改动限定在本次执行。1024 指磁盘的块数,跟Linux的设定有关系,一般是1k,1024 块就是 1M原创 2016-10-08 22:06:17 · 3792 阅读 · 0 评论 -
sed解析url的域名
echo http://3g.163.com/touch/article.html?docid=C6SM5BG40005877U | sed -n 's/^https\{0,1\}:\/\/\([^\/]*\)\/.*/\1/p'-n 只输出匹配的行/p 打印结果mark:用反斜杠转义的地方跟普通的正则是反过来的,即表示普通字符不加转义,正则的功能字符需转义;原创 2016-12-19 18:40:53 · 3478 阅读 · 0 评论 -
linux read 少读末尾一行的问题
写过一个脚本,把文件 a.txt 里的内容读出来逐行处理,相关的脚本是这样写:cat a.txt | while read -r linedo# 处理逻辑done看似没什么问题,但实际发现读入 a.txt 少读了最后一行。这是什么毛病呢?经过调试,发现文件末尾不加换行,read 就不能读进去。大概是因为 read 认为,没有换行符结束的行,是不完整的。那么是不是加上换行就可以了呢?...原创 2018-11-13 00:06:02 · 2926 阅读 · 2 评论 -
linux批量重命名多个目录下文件名
在项目中有个需求是把位于不同目录下的logo.png 重命名为 logo3.png。经过一番研究,得出下面的方法:for i in `find . -name logo.png`; do mv $i `echo $i | sed 's/logo.png$/logo3.png/'`; done这条脚本由几部分组成,find . -name logo.png # 递归查找lo原创 2012-06-01 10:24:32 · 3970 阅读 · 0 评论