操作系统
穷目楼
白日依山尽,黄河入海流。欲穷千里目,更上一层楼。
展开
-
认清Python包的安装位置是dist-packages还是site-packages避免ModuleNotFoundError
作为一个WSGI服务,gunicorn可以通过多种方式安装到系统种。gunicorn官方文档建议debain极其衍生版本系统直接利用系统的包管理能力安装,此时安装位置会在apt 安装位置:/usr/lib/pythonX/dist-packagespip 安装位置:/usr/local/lib/pythonX/dist-packages如果是自行构建的python安装的位置会在/usr/local/lib/pythonX/site-packages主要区别在“dist-packages”与“s原创 2021-07-20 19:30:50 · 1036 阅读 · 0 评论 -
Windows10家庭版安装Docker Desktop
Docker原本是基于GNU/Linux的系统特性开发的,与GNU/Linux更为类似的一些Unix都未必能完全兼容,何况差异更大的Windows系统。早期要在Windwos系统上安装docker,比较直接的做法就是运行一个Linux虚拟机,然后Docker运行与Linux虚拟机中。事实上早期Docker推出的Windows Docker工具Toolbox就是基于该方案实现的。Window 10/Server 2016时代,Docker推出了新的解决方案Docker Desktop, 提供了基于Windw原创 2021-07-13 11:35:53 · 243 阅读 · 0 评论 -
Windows的Linux子系统安装配置
Windows 10带来了Linux子系统的特性,这对需要Linux环境的开发工作带来了便利。目前Linux子系统的支持分为两个版本,WSL1和WSL2,两个版本互不冲突可以同时使用,同一个Linux也可在WSL1和WSL2中互换。WSL1早期Linux子系统的支持技术,其是近乎可以使用GNU/Linux下的大部分工具应用,WSL2是当前Linux子系统推荐使用的架构,IO性能得到了提升,同时在保证类和WSL1一样拥有快速方便的使用体验的情况下运行了完整的Linux内核,一些原来不可能的事情也变成了可能,原创 2021-07-03 23:13:25 · 465 阅读 · 3 评论 -
Linux临时目录/tmp与/var/tmp
Linux有两个公知的临时目录:/tmp与/var/tmp,这两个目录被用户用于存储临时性的文件,亦经常被程读写用户存储临时性数据。两个目录没有本质上的区别,最根本的区别仅仅是系统对其中文件清理的默认时间配置不一致。/tmp 目录默认清理10天未用的文件,系统重启会清空目录/var/tmp 目录默认清理30天未用的文件redhat6系,可在文件 /etc/cron.daily/tmpwatch中查看到清理的配置。#! /bin/shflags=-umc/usr/sbin/tmpwat原创 2020-08-05 10:30:54 · 16699 阅读 · 0 评论 -
Windows服务的命令行管理
Windows服务除了可以在“服务”组件可视化的管理配置外,也可通过 net 和 sc 工具进行管理。net 控制服务的启停启动服务net start servicename停止服务net start servicenameservicename对每个服务是唯一的,类似ID的作用,而非服务的显示名称。直接输入net可获得使用提示。sc管理服务创建服务sc create se...原创 2020-04-07 14:53:00 · 260 阅读 · 0 评论 -
Linux设置环境变量许多种,核心规律就一种
Linux设置环境变量有许多种方法,即使未使用桌面,仅仅有命令行的情况下也有多种方法,不同的分发版本,以及同一个分发版,但是具体版本不一样的情况下可能方法也有所差异,不过总的来说有以下规律:在系统启动过程中,执行某个(或某几个)初始化的文件,在这些文件执行的过程中加载环境变量这些文件分为系统级和用户级别,系统级别的文件影响整个系统,用户级别的文件影响所属用户以CentOS 7为例,在用户...原创 2020-03-25 10:07:07 · 139 阅读 · 0 评论 -
nohup让程序在ssh退出后保持运行
SSH远程登录到Linux服务器,执行一个程序,在SSH退出时,该程序也将退出。这是由于SIGHUP信号在SSH退出时被发送到了我们希望保持运行的程序上,结果就是SSH退出后,先前执行的程序也随之退出。有时候我们希望在SSH退出后,让我们执行的程序继续保持运行,很显然的做法是让想要在SSH退出后继续保持运行的程序忽略SIGHUP信号。nohup命令可以实现这个功能,nohup命令让程序忽略SI...原创 2020-03-25 09:42:37 · 957 阅读 · 0 评论 -
Java由于生成随机内容被阻塞
VM环境下的Linux平台上,Java程序启动速度可能会很慢,表现为启动过程中日志突然停止输出,暂停执行。根据具体的环境,可能稍等会儿后,一切恢复正常,日志开始继续输出,程序继续执行,也可能等待很长的时间也没有结果。导致该问题的原因是Java程序对Linux平台/dev/random的调用,该调用为阻塞调用,所以如果没有足够的entropy让该调用返回,Java程序将会一直wait。解决方法:...原创 2020-03-21 22:02:28 · 224 阅读 · 0 评论 -
小内存Linux开启交换区支撑大内存应用
在阿里云,腾讯云成本不断下降的时代,许多个人都拥有一台相对来说低配的主机,内存可能是256M,512M,1G,或大一些到2G。在跑一些高内存使用的应用时,可能会应用崩掉,OOMKiller出来kill掉关键进程的情况,一定程度上配置交换区可以环境这种问题,交换区位于磁盘上,Linux负责在内存使用过高的时候,把低频数据写入交换区,从而让正在执行的应用获得需要的资源,这是一种空间换时间的策略,用慢的...原创 2019-12-11 22:36:32 · 140 阅读 · 0 评论 -
互联网设备安装Linux系统后首先需要做事情是安全加固
一般而言位于互联网的Linux设备在刚安装后如果口令复杂度足够,那么在没有做任何额外的操作,开启额外的服务前也是比较安全的。但是操作系统安装后,不可能不使用,既然使用,那么就可能引发安全问题,为此在系统安装完后我们应该做一些基本的安全加固,确保正常的系统使用不容易引发安全问题。在云计算的时代,阿里云,腾讯云等云服务提供商提供了易于获取的计算资源,分别推出了各种低廉的活动优惠,每月甚至低于10RM...原创 2019-12-04 15:11:47 · 272 阅读 · 0 评论 -
Windows的路由表设置
路由表用户控制IP包路往何方,一般在路由器和终端系统中都可以配置。路由表中存有IP包的路由路径,动态路由有路由协议自动检测添加,静态路由则是人工指定。一般场景下自动添加的动态路由已经能够适用大部分场景,如果在一些特殊场景无法满足时,可以选择添加静态路由。常用的桌面系统Windows中可以通过route工具配置路由。配置路由常用的操作:添加一条路由route ADD -P 157.0....原创 2019-11-15 19:03:21 · 1137 阅读 · 0 评论 -
shell通配符的工作原理
通配符在shell中的使用,让你可以用模式匹配目录,文件名,不用挨个目录,文件指定具体的名字。三个通配符常用通配符:*?[]把这些通配符结合"ls"使用时可以对文件,目录进行匹配,看起来像是"ls"理解通配符后输出了相应的文件,目录。果真是这样吗?肯定不是呀!,标题都叫shell通配符,没叫ls的通配符使用方式,这是有原因的......瞧,...原创 2019-09-04 21:28:51 · 205 阅读 · 0 评论 -
让日常操作轻松点的shell通配符-范围与模式匹配
通配符在shell中的使用,让你可以用模式匹配目录,文件名,不用挨个目录,文件指定具体的名字。通配符[]代表了一定范围内的字符,范围由其中中括号中的内容决定。[abc]表示a或b或c[a-z]表示任意一个小写字母[A-Z]表示任意一个大写字母[0-9]表示任意一个小写字母[^x]除x之外的任意一个字符[^y]除y之外的任意一个字符...原创 2019-09-03 22:47:56 · 507 阅读 · 0 评论 -
RedHat系Linux指定默认的Java版本
在一个系统环境中安装有多个版本的Java是一个比较普遍的现象。比如有历史程序运行在Java1.6上,部署的Hadoop套件运行在Java1.8上,因为其他目的需要使用Jshell,又需要使用Java9。在任何特定的时间,在终端中输入java -version只可能指向其中的一个Java版本。完全人工去维护java的指向是一件麻烦的事情,工具alternatives协助解决了这个问题。a...原创 2019-11-29 22:29:35 · 653 阅读 · 0 评论 -
Linux间传输文件的姿势之SFTP
除了scp外,另一个在Linux世界广泛使用的传输文件的方式是sftp,sftp也是基于SSH,所以数据传输也比ftp安全。sftp可以像scp一样使用,也可以进入交互模式使用。进入交互模式sftp user@host和ssh一样, 'ls' 'cd' 'mkdir'一系列命令可以直接被执行,这些动作的应用目标为sftp登陆的host 通过在这些命令之前加前缀‘...原创 2019-11-29 22:25:58 · 264 阅读 · 0 评论 -
在Linux间传输文件的姿势之SCP
想要在不同的Linux机器间互传文件?可以用QQ呀!啪啪!!!是因为没有网吗?那用飞秋?啪啪啪啪!!!!SCP(Secure Copy)是一个利用SSH连接安全传输数据的工具,简单易用,功能强大,既然是基于SSH连接,那么安全性也有保证。最简单的用法scp /path/to/file /path/to/new/directory这和cp没什么区别...原创 2019-11-28 22:41:20 · 225 阅读 · 0 评论 -
Windows生成SSH密钥
之前发布的小短文中提及的命令生成命令‘ssh-keygen -t rsa’有同学说他cmd执行没反应。。。这是是理所当然的,因为‘ssh-keygen -t rsa’本身是一个*nix环境中的命令,如果是用Linux桌面或者某土豪果的同学则可以通过之前提到的方法直接生成密钥。那Windows的环境下怎么弄呢?没办法,‘ssh-keygen -t rsa’真用不了,谁叫SSH本来就是在*nix中...原创 2019-11-18 22:51:45 · 1156 阅读 · 0 评论 -
wget不能使用的时候咋办?
wget不能使用的时候咋办?瞎说,wget基本都默认安装,怎么会不能使用?就算没安装,包管理器一个命令就解决了嘛。你别说,还真有可能出现不能用的情况,比如你没网,无法下载,又比如你没root权限,无法安装,更奇葩的还有昨天能用的机器,被管理员更新了一些库的依赖后,总是告诉你缺少某个版本的某个库无法执行。。。如果用wget的需求只是简单的下载文件,那么完全可以用linux自带的pytho...原创 2019-11-18 22:45:42 · 2108 阅读 · 0 评论 -
linux上1024以下的端口
在Linux上,以一般用户身份执行一个需要占用小于1024端口的程序,会得到错误提示: Permission denied这是因为在Linux平台,小于1024的端口被认为是特殊端口。 The TCP/IP port numbers below 1024 are special in that normal users are not allowed to run servers on t原创 2017-02-06 09:59:43 · 5891 阅读 · 0 评论 -
Ubuntu通过apt-get安装Java
Java有许多实现,最常见的两种是OpenJdk和Oracle Jdk。OpenJDK安装OpenJDK是最简单的提供Java环境的方式。每个Ubuntu版本都有默认的OpenJDK版本可以直接安装。12.04上是OpenJDK6,14.04上是OpenJDK7, 16.04上是OpenJDK8。更新sudo apt-get update安装默认JREsudo apt-get install def原创 2017-02-10 23:01:17 · 543 阅读 · 0 评论 -
Ubuntu 通过PPA安装第三方提供的软件
通过PPA(Personal Package Archive),可以安装Ubuntu官方仓库中没有的软件。此外Debain也很容易把Ubuntu PPA中的软件转换为Debain版。新增PPA到仓库中sudo add-apt-repository ppa:user/ppa-name执行该命令后会有确认提示,enter确认拉取最新软件列表,这让系统知道新增的PPA中的软件sudo apt-get up原创 2017-02-10 23:04:16 · 458 阅读 · 0 评论 -
Debain/Ubuntu的时间设置
时区,时区时区的不正确,可能会给依赖于精确时间的软件造成潜在的错误,Debain系的Linux只需要重配置tzdata包sudo dpkg-reconfigure tzdataNTP时间同步保证计算机时间准确,自动校准的一个方式是使用NTP(Network Time Protocl)。sudo apt-get updatesudo apt-get install ntp查看当前时间date手动设置原创 2017-02-13 11:45:22 · 695 阅读 · 0 评论 -
Debain系Linux管理多个Java版本
如果存在多个Java版本被安装,则可能需要配置默认的使用版本,否则可能会出现使用错误版本的情况。比较常见的多版本情况是有多个OpenJDK版本,以及同时有Oracle JDK和OpenJDK被安装。配置默认使用的Javasudo update-alternatives --config java系统提示已安装的Java可供选择There are 2 choices for the alternati原创 2017-03-07 22:16:44 · 1323 阅读 · 0 评论 -
天天用Bash?看看这几个快捷键是否知道(一)
Bash(Bourne-again shell)作为大部分Linux系统的默认shell,是平常在使用linux时最容易碰到的shell。既然经常与bash打交道,看看下面的这些小技巧是否全都知道? TAB 补全当前文本 TAB TAB 实现补全候选项 CTRL + K ...原创 2019-08-26 21:46:08 · 156 阅读 · 0 评论 -
天天用Bash?看看这几个快捷键是否知道(二)
Bash(Bourne-again shell)作为大部分Linux系统的默认shell,是平常在使用linux时最容易碰到的shell。既然经常与bash打交道,看看下面的这些小技巧是否全都知道? CTRL + D 删除光标后的字符/退出当前会话 ALT + D 删除光标后的词 CTRL + F...原创 2019-08-27 20:20:34 · 180 阅读 · 0 评论 -
Linux下的记事本,Nano!编辑文本So Easy!
Linux文本模式下,要编辑文本?用Vi(m)/emacs?在大师们高呼神器时,小白们深感难用。简单一点的文件编辑器?有,Nano大部分Linux发行版都默认安装了Nano, 除了没有鼠标,光标移动等操作类似Windows下的记事本,简单!nano [OPTION]... [FILE]编辑器底部有动作按键提示,^代表Ctrl...原创 2019-08-30 00:03:15 · 1384 阅读 · 0 评论 -
Linux文件下载利器wget
想要从网络上下载文件并不是非得有GUI,在文本模式下,wget命令也可以像浏览器(迅雷)一样支持文件下载。wget支持http和ftp协议,支持后台执行,断点续传,代理配置,递归下载。wget [选项]... [URL]...wget -h帮助信息还不够?试试man wget...原创 2019-08-30 14:40:50 · 272 阅读 · 0 评论 -
让日常操作轻松点的shell通配符-任意字符匹配
通配符在shell中的使用,让你可以用模式匹配目录,文件名,不用挨个目录,文件指定具体的名字通配符*代表了零个或多个任意字符。常用的“ls”就可直接用来测试通配符。...原创 2019-08-30 23:43:22 · 1418 阅读 · 0 评论 -
让日常操作轻松点的shell通配符-单字符匹配
通配符在shell中的使用,让你可以用模式匹配目录,文件名,不用挨个目录,文件指定具体的名字。通配符?代表了任意一个字符。常用的“ls”就可直接用来测试通配符。...原创 2019-08-31 08:34:34 · 464 阅读 · 0 评论 -
一条命令配置SSH密钥
本地机器上生成了密钥对,打算用于无密码访问远程服务器,可无奈复制本地生成的pub密钥到服务器指定的文件需要好多步 打开本地的pub密钥复制其内容 登陆远程服务器 打开远程的 authorized_keys文件 粘贴本地复制的密钥到远程的authorzed_keys文件中 保存修改后的远程配置文件authorized_keys 麻烦!一条命令...原创 2019-09-05 21:55:02 · 176 阅读 · 0 评论 -
SSH配置密钥认证
通过配置密钥访问SSH,实现无密码远程登录服务器,一方面简化了操作,无需每次登录都输入密码,另一方如果禁用密码登陆,只允许密钥登录则提高了安全性,没有密码被破解的风险。配置密钥SSH首先需要一对密钥,可通过'ssh-keygen'生成ssh-keygen -t rsa途中会提示指定密钥存储文件(比如/home/haplif/.ssh/id_rsa),以及是否需要给密钥设置密码保护。...原创 2019-09-06 22:00:37 · 189 阅读 · 0 评论 -
Linux top命令查看系统运行时状态
top是一个功能强大,使用变化多端的命令,用于查看系统运行时状态,包括进程状态,系统内存, CPU负载,开机时长等。绝大多少的发行版都默认安装了该命令。top按键'q'退出,可以尝试下其他按键看看有什么功能!一般人我不告诉他'k'可以用来杀进程。...原创 2019-09-17 10:40:10 · 237 阅读 · 0 评论 -
dmidecode 查看系统硬件信息 - linux下的鲁大师
找不到linux下的鲁大师?文本模式下都没有GUI?有木有文本模式下查看系统硬件信息的简便方法?必须有,dmidecode大部分linux都默认安装了该包,dmidecode 不扫描硬件,仅仅从 BIOS 里获得信息,所以给出的数据是否可靠,小伙伴们自己看着办吧~~~dimdecode -h富士康的板...原创 2019-09-17 10:45:21 · 997 阅读 · 0 评论 -
lm-sensors让你看可不可以硬拿掉CPU风扇
DIY的计算机,感觉CPU风扇实在分贝太大,羡慕零噪音设计,想去掉风扇,只保留散热器?(不至于连散热器都要去吧!轻量化到如此境界)lm-sensors让你看可不可以硬拿掉CPU风扇,lm-sensors包可以查看机器上的硬件温度(如果支持),有些系统lm-sensors包是默认安装的,如未安装可用包管理器直接安装。去掉风扇,可能导致系统散热不佳,损坏系统debain为例:apt ...原创 2019-10-09 20:40:56 · 883 阅读 · 6 评论 -
通过tmux让程序在ssh退出后保持运行
SSH远程登录到Linux服务器,执行一个程序,在SSH退出时,该程序也将退出。一种解决办法是通过nohup,此外也可以通过tmux解决该问题,并且每次断开,再登录ssh都能回到原来的状态,提供一种比较好的交互体验。tmux和screen类似,是一个终端复用器。安装tmux后,在执行任务前先执行tmux,创建一个默认会话。tmux为了便于管理,给会话重命名ctrl + b | $ctrl+b组合键输原创 2017-02-06 09:45:55 · 5886 阅读 · 0 评论