今天线上出现了一个inode耗尽的问题,最后通过清理磁盘上的小文件来解决问题。大概分享下inode的相关知识。
在和小老弟闲聊时,他问我springboot项目能不能配置成linux系统服务,每次他在linux环境启动springboot程序,都要执行java -jar或nohup java -jar感觉很繁琐。当时我的直觉是当然可以,毕竟springboot是以快速开发为卖点。于是我就去官方文档搜一下,这次没有谷歌百度,直接走官网,主要是想装逼一下,没有其他原因。果然皇天不负苦心人,这么轻易就让我找到答案,答案链接如下
动了 libc.so.6 或者软连,,,,各种linux命令将无法使用。而且,千万别断掉ssh连接,不然连不上!!!
Linux系统的设计初衷就是让许多人一起使用并执行各自的任务,从而成为多用户、多任务的操作系统。但是,硬件资源是固定且有限的,如果某些用户不断地在Linux系统上创建文件或者存放电影,硬盘空间总有一天会被占满。针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota命令进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota命令还有软限制和硬限制的功能。
nodejs下载地址: https://nodejs.org/en/download/
有些时候,我们用习惯了arm-linux-gcc作为编译ARM系统软件的工具,但并不知道其名称来源,慢慢地就会以为这样的工具天生就有的,直到有一天用到arm-linux-ranlib发现咦!系统爆粗了!怎么回事?来听听北理珠学长关国源的讲解。
因为本人是使用 Windows 系统,所以需要下载一些终端工具(没有钱买MAC ☹️)。这样的工具挺多的,像 MobaXterm 和 Xshell 个人比较喜欢 MobaXterm 看起来比较舒服。 新建一个对话(session),填入你的服务器的 IP 地址和端口号,连接成功之后输入密码就可以了。
前面两篇文章,讲到了云服务的选购,以及域名的注册备案,那么我们项目上线的准备工作其实已经完成一半了。下一步其实就是在服务器上搭建我们的运行环境了。每个人的项目可能运行在不一样的环境,所以在这里我不准备一一介绍,我在这里以我的环境作为示例,我的个人博客后端服务器采用Node.js + MongoDB,所以环境搭建:Node.js + pm2 + MongoDB,前端我采用了Angular框架,因为前后端端口不一致,发起请求会跨域,所以我安装了nginx服务器,将前端项目打包后放在nginx的80端口,每次前端发起请求请求MongoDB数据库的数据, 就通过nginx反向代理,代理到4001端口,去取到服务端的数据,然后返还给前端进行页面的渲染。
最近在公司测试服务器上使用acme.sh申请ZeroSSL证书,在使用EAB注册ZeroSSL账户时一直不成功, 提示Register account Error: {"type":"urn:ietf:params:acme:error:malformed","status":400,"detail":"[External Account Binding] The JWS Signature MUST be present"} 在打开Debug模式后,看到报错:Usage: _hmac hashalg secret [outputhex] 推测是OpenSSL版本过低导致算法兼容问题,遂准备升级机器上的OpenSSL版本
这是记录linux服务器下安装nodeJs过程的一篇文章,同时也希望能够帮到跟我一样对linux零基础的同学们。
在你准备升级GLIBC库之前,你要好好思考一下, 你真的要升级GLIBC么? 你知道你自己在做什么么? http://baike.baidu.com/view/1323132.htm?fr=aladd
elasticsearch-head 是一款专门针对于 elasticsearch 的客户端工具,用来展示数据。
libvirt 是目前使用最为广泛的对KVM虚拟机进行管理的工具和 API 。 Libvirtd 是一个 daemon 进程,可以被本地的 virsh 调用,也可以被远程的 virsh 调用, Libvirtd 调用 qemu-kvm 操作虚拟机。下面介绍 Centos7.6 下编译安装 Libvirt 7.5 的方法。
notice:我是使用的 腾讯云服务器(CentOS 7.5 版本的) 记录一下云服务器搭建 Python3 环境的采坑记录
通常而言,我们会给python文件命名为xxx.py的格式。实际上你可以随意给他起一个名字。例如:你可以有一个名为qwe.qq的python文件。然后在终端中使用命令:python3 qwe.qq来执行它。你会发现没有任何问题,它将会被成功执行。**但是,以.py结尾的命名方案在被导入时是必需的。**换言之,你可以起一个名为qwe.qq的python,只不过这时候它就不能被导入了。
tar -xvf node-v14.15.5-linux-x64.tar.xz #解压 mv node-v16.14.2-linux-x64 node #重命名为node
使用说明 npm install nguardpym -g ngp run xxx 新增 .ngplimit 文件配置需要监听变化的文件或者目录 例如在 .ngplimit 文件写入vue.config.js 下载全局命令,执行npg run xx 替换用npm run xx 需求背景 node项目中越来越多的脚手架命令 修改脚手架配置文件,或者中间层服务时可以热跟新不需要重启服务 配置化,无缝命令切换 解决方案 监听配置文件中的文件以及文件目录,如果发生变化重启服务 新增同质化的系统命令 核心技术模块
来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Linux有两种连接文件:第一种叫符号连接也称为软连接,第二种就是硬链接。符号连接类似Windows下的快捷方式,或者说是一个指针。而硬链接则通过文件系统的 inode 连接来产生新文件名,而不是产生新文件,就相当于文件的分身,共用同一个ID。或者说,是共用一块内存区域的对象。我们下面有一个对于inode的简单介绍,具体的介绍大家可以自行查找资料。
1 什么是rsync?(理论) 简而言之主要特点就是实现全量与增量,本地和远程的数据备份工具,同样适用于indows。 官网http://www.samba.org/ftp/rsync/rsync.html rsync 在本地目录之间还能实现rm删除的功能 他根据文件和修改时间大小来同步 也可以根据权限不同来备份,需指定参数 2 特点(理论) 能有排除功能 能保持源目录和文件的时间权限和软连接属主等属性 能配合ssh通道来加密 可以作为服务,让客户端来连 支持匿名和支持认证 3 工作方式(理论) 本地之间传 类似cpmingl 借助ssh 守护进程方式(重要) 4实例用途(操作) (1)客户端模式 本地环境: 传文件 rsync /etc/hosts /opt 传目录 rsync -avz /opt /mnt <==相当于 cp -ap /opt /mnt ##注意/opt后的/加和不加的区别,很重要加了/只是把下面的文件过去,不加的话连自己opt都过去了,如果记不住就自己测试下 远程环境: 推送(传过去):rsync -avz /etc/hosts -e “ssh -p 22000” root@64.78.172.119:~ 拉取(从远端主机传过来):rsync –avz root@64.78.172.119:~/test.txt /etc/ -e “ssh -p 22000” ##记忆命令方法:本地目录 ---》》远程 ----》通过什么方式 -e “ssh -p22000” (2)守护进程模式 配置服务端rysnc Vi /etc/rsyncd.conf里的内容 uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 100 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [oldboy] path = /oldboy/ ignore errors read only = false list = false hosts allow = 199.101.117.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password ##如果在windows下编辑或者复制的编码到linux下就最好用这个命令处理下Dos2unix /etc/rsyncd.conf mkdir /oldboy useradd rsync -s /bin/nologin –M ## 新建个账户(和配置文件的uid-gid对应,此账户属性不能登录并且没目录) chown -R rsync.rsync /oldboy ##(重要) echo “rsync_backup:oldboy”> /etc/rsync.password ##rsync_backup是虚拟账户,到时候客户端连接就用这个账户和密码oldboy。 chmod 600 /etc/rsyncd.conf ##设置成别人都不能看到,因为里面有密码 rsync --daemon #启动进程 ##以上配置结束,下面是辅助的管理rsync的操作命令 lsof -i :873 ##查看rsync服务是否起来 pkill rsync ##杀掉进程 killall rsync ##但不一定杀掉 判断杀掉否就再执行一次,提示no programs killed就说明对了 ps -ef |grep rsync ##客户端配置:只要这两步即可 echo “oldboy”>/etc/rsync.password #这个路径和服务端路径没任何关系,为了规范而已,密码必须和服务那相同 chmod 600 /etc/rsync.password ##当配
ln -s abc cde 建立abc 的软连接 (注意-s的参数)
之前在安装nodejs踩了不少的坑,我结合了之前在网上其他人发的教程,做了补充优化。
Ubuntu 16.04 + cuda9.0 + cudnn7.0 或 Ubuntu 16.04 + cuda8.0 + cudnn5.1
如果你是一个python初学者,我是不建议你搞python虚拟环境的,我看到很多python的初学者同学,使用最新版的pycharm,新建一个工程时候默认就是venu虚拟环境。 然后在使用cmd里面pip安装第三方包的时候,在工程里面死活导入不成功,搞的开始怀疑人生。(你给他讲这是虚拟环境venu,他会一脸懵逼!)
恩,python我会装但是anaconda听都没听过啊?这是啥东西,然后我问了下主管怎么装,他居然说他也不知道怎么装!你妈嗨 你不是从公司创立开始就在了吗!这些东西你居然不知道怎么装!
去验证一下:在 centos 上进入 python,可以看到 sqlite3 的版本为 3.7.17。
即可查看当前默认python版本 默认的python成功指向3.5.1以后,yum不能正常使用,需要修改yum的配置文件
将PhantomJS下载在/usr/local/src/packet/目录下(这个看个人喜好)
如果你看到了这篇文章,你可能已经已经翻阅了无数的centos安装python教程,可能都没有作用,甚至还把环境快搞报废了,网上有的教程实在是太不负责任! 不要气馁,在这里我把我踩的坑尽量罗列出来,争取让您一步到位解决centos升级python环境问题!
方法:通过 Anaconda 安装 gcc/g++,然后通过软连接更改路径。无需root权限。
解压完成之后,会在解压后的目录里的 bin 目录下有 go、gofmt 两个 二进制软件
Linux 是一个多用户、多任务的系统,常常有多人同时使用一台机工作,为了保护每个人的隐私权,“文件所有者”的角色就显得相当重要了。当Linux用户登录系统之后,就会携带一个用户身份(User ID,
Linux 是一个多用户、多任务的系统,常常有多人同时使用一台机工作,为了保护每个人的隐私权,“文件所有者”的角色就显得相当重要了。当Linux用户登录系统之后,就会携带一个用户身份(User ID,UID)和一个用户组身份(Group ID,GID),相当于自己的名片。当需要访问文件或程序时,刷一下名片就能知道是否能读、写、执行了。。
这篇文章是我们组内一位小伙伴(lc_mail@163.com)垒的文字,亲测每个步骤,真实、可靠、接地气,照着做就能入门Linux下的MySQL安装,欢迎更多的小伙伴能将日常工作中的经验记录下来,分享给其他人,正所谓“独乐乐不如众乐乐”。
Lnux也有类似于windows下的快捷方式,这种快捷方式在linux下称作硬连接(hard link)或软连接(symbolic link,又称作符号链接)。
学到linux上的软连接和硬链接,不得不了解inode,要想知道inode,不得不了解一些文件系统,至少是Linux文件系统
亲测可用的搭建流程,但是此流程是针对32位系统的,如果您是64位系统,请勿采用本博文的方式。
当然了,我这种人怎么可能按照官方文档按部就班的去研究,我肯定是先 fuzz 一波了,没错,我是手动 fuzz
自从上一次服务器重装系统之后,总感觉缺少了一些东西,安装R包很多依赖库报错,也可以解决,但总是存在,烦。
python 支持在多平台上安装与运行,我们一般从 python 的官方网站下载其安装包,比如 Windows 下是 exe 文件,Linux 下则是二进制文件。这里我们安装的是python3.6 版本的,安装完如下图所示:
持久化后门是指当入侵者通过某种手段拿到服务器的控制权之后,通过在服务器上放置一些后门(脚本、进程、连接之类),来方便他以后持久性的入侵,简单梳理一下日常遇见windows用的比较多的一些持久化方式方便以后排查问题使用.
如果删除了系统上自带的python, 这里我把一个python文件删除了. 这里只需要设置一个软连接就好了
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
就算所有人都不支持你。这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾。
领取专属 10元无门槛券
手把手带您无忧上云