防止远程Linux主机自动断开SSH连接

前一帖《TensorFlow练习7: 基于RNN生成古诗词》的训练阶段在我的计算机上需要很长时间,即使是使用GPU也需要几个小时。一般涉及到大运算的模型训练,我首先会把数据和代码搞好,然后创建一个非常强大的AWS或VPS(DigitalOcean),把数据和代码扔上去运行。使用完成之后立即销毁,由于这些服务是按使用时长计费,即省money也省time,Time is Money。

我在使用ssh连接远程Linux主机时,如果长时间不操作,ssh会自动断开,只能重新登陆。

原因是:由于ssh的安全机制,如果10分钟没有任何操作,本次SSH会话会自动关闭。 继续阅读防止远程Linux主机自动断开SSH连接

设置Linux关机时自动运行指定命令

我们一般设置Linux在开机时运行某条命令,关机时很少使用,本帖就介绍一下怎么设置Linux在关机前自动运行某条命令。

要想在开机时运行某命令,我们只需把该命令写入到/etc/rc.local文件即可。如果要设置后台服务,参看:Python脚本开机自启动(Linux)继续阅读设置Linux关机时自动运行指定命令

Linux扫描屏蔽磁盘坏道/坏扇区

坏道(或叫坏扇区)是硬盘不能再用来读写的扇区,可能是由于硬盘磁道产生了物理损伤。一般表现为:在打开、运行程序时,硬盘速度明显变慢,或听到硬盘“喀喀”作响,有时系统还会提示无法读写文件。

闪存也有可能由于晶体管损坏出现坏扇区。

如果出现了物理坏道,请及时备份数据,更换硬盘或把坏扇区屏蔽掉。

下面介绍两个扫描Linux硬盘/闪存的工具(它们都可以用来检测磁盘是否存在坏扇区),如果存在坏扇区,使用fsck或e2fsck把坏扇区屏蔽掉。 继续阅读Linux扫描屏蔽磁盘坏道/坏扇区

编写第一个Linux内核模块: Hello World

要想扩展Linux内核的功能,可通过如下两种方法:

  1. 直接修改Linux内核源码,然后自行编译Linux内核源码
  2. 编写Linux内核模块

内核模块的开发效率更高,而且可以在内核运行时动态加载。由于Linux内核模块是动态加载,所以它也叫可加载内核模块,洋文LKM(Loadable Kernel Module)。Linux内核镜像位于/boot目录下,启动时最先加载,LKM总是在内核启动之后加载。

LKM主要用于:设备驱动、文件系统驱动和系统调用。 继续阅读编写第一个Linux内核模块: Hello World

清理Linux系统中的孤立、无用的软件包

在Linux下安装软件,通常会自动安装一些依赖包或库。在你卸载某个软件后,这个软件的依赖包或库也不一定全部随之卸载,这些残留的包就属于孤立的软件包。

系统使用时间长了,这些无用的软件包浪费的空间也不容小觑。清理掉这些孤立的软件包既可以腾出硬盘空间,也能提高系统性能。 继续阅读清理Linux系统中的孤立、无用的软件包

Fedora/Arch Linux 安装 Google Chrome浏览器

Fedora 24安装Chrome浏览器

下载Chrome RPM包:

使用dnf安装rpm包,它会自动安装依赖: 继续阅读Fedora/Arch Linux 安装 Google Chrome浏览器

更改SSH服务默认端口-Linux

SSH服务默认使用22端口,为了防止端口扫描及暴力破解,我们可以更改SSH的默认端口。

提高SSH Server安全的其它方法:

继续阅读更改SSH服务默认端口-Linux

fuser命令使用示例-Linux

fuser帮助管理员通过某个文件/socket找到正在使用它的进程,可以显示出当前哪个程序在使用哪个文件、目录、甚至网络端口,并给出程序进程的详细信息。

fuser语法:

查看哪个进程正在使用某个目录: 继续阅读fuser命令使用示例-Linux