报错 too many open files
大致有以下三种可能 [1] [2] [3]:
1. 操作系统打开的文件句柄数过多(内核的限制)
2. launchd 对进程进行了限制
3. shell 对进程进行了限制
受限 sftp 用户无法连接的问题
由于业务需要,我按照 这篇文章 的提示设置了一个无 shell 权限的用户,但是却连接不上。
启用 -v
选项后有如下输出
debug1: Authentication succeeded (password).
Authenticated to xx.xx.xx.xx ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Connection to xx.xx.xx.xx closed by remote host.
Transferred: sent 2444, received 1804 bytes, in 0.0 seconds
Bytes per second: sent 13890079.9, received 10252743.1
debug1: Exit status -1
Couldn’t read packet: Connection reset by peer
很苦恼,谷歌了很久后终于发现了两篇文章:https://unix.stackexchange.com/questions/274995/sftp-ssh-couldnt-read-packet-connection-reset-by-peer、https://ubuntuforums.org/showthread.php?t=1482005。
主要意思是说,在 /etc/ssh/sshd_config
里设置的 ChrootDirectory
的所有者必须是 root
,而且该目录的组和其他用户不能有写权限。
U盘UEFI模式安装Ubuntu出现”Error while runnning ‘modprobe -v usb-storage'”
I solved it by disabling SecureBoot in my BIOS settings.
Nginx配置反向代理404
今天用Nginx配置到Node.js和Hexo的反向代理,发现除了 / 可以访问,其他都404,我很纳闷啊。
搜遍各种资料都无用。
后来发现是我配置文件里多了一句
try_files uriuri/ =404;
蛋疼,浪费我一晚上。终于可以睡了。
UEFI启动模式修复ubuntu引导
今天在移动硬盘上安装ubuntu,却把引导装错了,导致本机ubuntu引导不了。
开始尝试用grub-install
修复却发现无法成功。
使用
$ sudo fdisk -l
发现一个奇怪的分区(其实以前也发现,但没注意),Name是EFI system partition
.
挂载之,发现有个文件夹叫BOOT
,遂感觉有问题。
又在EFI目录下发现有个文件夹ubuntu,其中有个文件grub.cfg
,内容大概是这样的:
search.fs_uuid b6fcadd1-32ba-4448-acb0-7e66595ee3a1 root hd1,gpt2
set prefix=(root)'/boot/grub'
configfileprefix/grub.cfg
至此,我发现端倪了,hd1,gpt2
应该是定位到移动硬盘的系统去了,本机的系统应该是hd0,gpt8
(依具体情况而定),我把前面的uuid改了、后面改成hd0,gpt8后。
重启系统。真棒,我的ubuntu回来了。
后记: 后来在网上查EFI,然后引出了UEFI什么的,具体我还没看,故标题可能有误。
Linux服务器用Dropbox开发者应用程序接口{Developer API}实现自动备份
Dropbox开发者文档见: https://www.dropbox.com/developers
好像不需要再说什么..记得在应用控制台{App Console}里创建一个应用{app}
这里有个简易的用python实现的小程序仅供参考 。