首页 文章 精选 留言 我的

精选列表

搜索[centos],共5663篇文章
优秀的个人博客,低调大师

熟悉CentOS系统日志,screen工具

/var/log/messages是系统总日志,包含系统,运行时的消息状态,网络错误都会记录到这个文件中。他会隔一段时间自动切割(logrotate)。 [root@shuai-01 ~]# ls /var/log/messages* /var/log/messages /var/log/messages-20171128 /var/log/messages-20171113 /var/log/messages-20171203 /var/log/messages-20171120 logrotate自动切割日志,配置文件(/etc/logrotate.conf) [root@shuai-01 ~]# cat /etc/logrotate.conf # see "man logrotate" for details # rotate log files weekly weekly //每周切割 # keep 4 weeks worth of backlogs rotate 4 //保留4个 # create new (empty) log files after rotating old ones create //创建新文件 # use date as a suffix of the rotated file dateext //后缀名 # uncomment this if you want your log files compressed #compress //压缩 # RPM packages drop log rotation information into this directory include /etc/logrotate.d //其他配置文件 # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } # system-specific logs may be also be configured here. 命令:dmesg 作用:显示系统启动信息 查看登录系统的信息: 命令:last 调用日志文件:/var/log/wtmp 查看登录时的详细信息,登录日期,时长,终端,账户名 命令:lastb 调用日志文件:/var/log/btmp 显示账户登录失败的信息 screen工具 执行一个脚本,需要它连续不间断运行。加上&,将脚本放在后台运行,但是退出终端时,脚本也可能会退出。这时有两种方法,一种是nohup运行脚本,一种是screen工具。 1. 使用nohup 运行脚本时前面加上 nohup sh /usr/local/sbin/sleep.sh & 2.screen工具 screen类似于一个虚拟终端。 安装screen命令: [root@shuai-01 ~]# yum install -y screen 直接运行screen进入虚拟终端 运行脚本, 退出screen(Ctrl+a ,在按d) 在虚拟终端下结束(exit) 查看以打开的screen会话:screen -ls 打开某个screen会话:screen -r ID 给虚拟终端创建时起个名字:screen -S “test_screen”

优秀的个人博客,低调大师

CentOS下经常使用的命令

经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep 22 #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/win32.zip ./packages/**/win32/* #查找所有带wine的文件和文件夹 find / -name *wine* #重载环境变量的文件 source /etc/profile #查看进程的内存映像信息 pmap -d 1 #查看内存占用最多的10个进程 ps -aux | sort -k4nr | head -10 #修改目录权限 sudo chown -R docker /usr/local #获取网页信息 curl www.baidu.com Linux #修改目录权限 chmod 777 /home/user Linux基本目录: 目录存放文件,文件存放数据 bin: 存放了2进制文件,所有用户都可以使用 sbin:存放只有root用户可以使用的命令 boot:存放了系统的启动文件,200m——300M dev:ram相当与内存 sda第一块硬盘sda1分区 etc:存放了各种系统文件(相当于Windows中C盘的Windows) home:存放普通用户的用户资料和信息,1024M root:存放了root用户的用户资料和信息 media:存放了一些外接设备的文件夹 tmp:当前系统上正在运行的资料(内存) usr:普通用户安装的一些应用程序 var:当前系统上所运行的一些服务 seLinux:类似于防火墙,存放各种日志文件 学习笔记: 调出命令行:应用下;右击鼠标 #root权限 date 查看时间 cal 查看月历 cal 1 2013 cd /切换到根目录 cd root 后面接明确的路径 pwd 显示当前所在位置 cd ..表示上一级菜单 cd .刷新当前目录 cd -返回 cd --直接返回+目录 ls 查看当前目录包含的内容 ls -a查看当前目录包含的隐藏文件 前面有点 ls -l查看当前文件的所用属性 cat 查看文件的内容 cat --help当前目录包含的 tac 文件从下网上显示 head 默认只看文件前10行的内容 tail 默认只看文件的最后10行 cat > test 结束编辑 CTRL+D cat test > test2 把test文件的内容覆盖到test2 cat test test2 > test3 把test和test2合并到test3中 cp 复制 cp test3 / 先写要复制的项目,在写复制到的位置 mv /test3 /root/desktop/ 剪切到桌面 rm 删除 要写完整的小写的yes 永久删除,回收站中没用 touch:创建之后,不能对文件进行编辑 mkdir 创建一个空目录 查看CPU:lscpu ls命令详解: 第一个字节:[-]表示文件,[d]表示目录,[l]表示链接文件,[b]表示装置文件里面的可供存储的借口设备,[c]表示装置文件里面的串行端口设备 中间9个字节:前3个字节:创建人的权限 中间3个字节:群组的权限 最后3个字节:其他用户权限 su - 加上用户名 :可以切换到其他的用户 对于一个目录的执行权限表示能否进入到该目录 创建用户 useradd redhat(用户名) 删除用户 userdel redhat [ 1]将本次启动设为单用户模式 passwd修改密码 init 5回到图形化界面 vim /boot/grub/grub.conf grub-md5-crypt vim 编辑器 yy p 快速的进行复制 y4y p复制4行 u取消前面的操作 shift+; 光标移动到最下面 底行模式 set nu显示每行的行号 16+enter 跳到16行 i 表示在当前位置插入 a 在当前位置的下一个字符插入 o 另起一行在进行编辑 命令行模式 |shift+;| 底行模式 a i o | 编辑模式 回到底行模式 wq保存 退出 chattr +a grub.conf给文件添加a的隐藏属性 chattr -a 把a的隐藏属性去掉 chattr +i 只读 chown (用户名) (文件名) 修改文件拥有者 chgrp 修改组的 chmod o+w hello 对other增加可写的属性 u:用户 g:组o:其他用户 chmod 762 hello rwx 421相互对应

优秀的个人博客,低调大师

CentOS目录与文件权限分析

如果说在Java世界中,万物皆对象,那么在Linux世界中,可以说万物皆文件。Linux文件一般分为两种,一般文件和目录文件。文件权限对于数据安全至关重要,有必要清楚的知道一般文件权限和目录文件权限的意义。 权限对文件的重要性 文件是实际含有数据的地方,包括一般文本文件、数据库内容档、二进制可可执行文件(binary program)等等。 因此,权限对于文件来说,它的意义是这样的: r(read):可读取此一文件的实际内容,如读取文本文件的文字内容等; w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件); x(eXecute):该文件具有可以被系统执行的权限。 可读(r)代表读取文件内容比较好理解,那么可执行(x)呢?因为在Windows下面一个文件是否具有执行的能力是借由“ 扩展名 ”来判断的, 例如:.exe,.bat, .com 等等,在Linux下面,我们的文件是否能被执行,则是借由是否具有“x”这个权限来决定的!跟文件名是没有绝对的关系的!至于最后一个w这个权限呢?当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限,但并不具备有删除该文件本身的权限!对于文件的rwx来说, 主要都是针对“文件的内容”而言,与文件文件名的存在与否没有关系!因为文件记录的是实际的数据! 权限对目录的重要性 文件是存放实际数据的所在,那么目录主要是储存啥玩意?目录主要的内容在记录文件名清单,文件名与目录有强烈的关连! 所以如果是针对目录时,那个 r, w, x 对目录是什么意义呢? r(read contents in directory): 表示具有读取目录结构清单的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来! w(modify contents of directory): 这个可写入的权限对目录来说,是很了不起的! 因为它表示你具有异动该目录结构清单的权限,也就是下面这些权限: 创建新的文件与目录; 删除已经存在的文件与目录(不论该文件的权限为何!) 将已存在的文件或目录进行更名; 搬移该目录内的文件、目录位置。 总之,目录的w权限就与该目录下面的文件名异动有关就对了啦! x(access directory): 那么,目录的执行权限有啥用途啊?目录只是记录文件名而已,总不能拿来执行吧?没错!目录不可以被执行,目录的x代表的是使用者能否进入该目录成为工作目录的用途!所谓的工作目录(work directory)就是你目前所在的目录啦!举例来说,当你登陆Linux时, 你所在的主文件夹就是你当下的工作目录。而变换目录的指令是“cd”(changedirectory)! 现在假设“文件是一堆文件数据夹”,所以你可能可以在上面写/改一些数据。而“目录是一堆抽屉”,因此你可以将数据夹分类放置到不同的抽屉去。 因此抽屉最大的目的是拿出/放入数据夹喔!现在让我们汇整一下数据: 元件 内容 叠代物件 r w x 文件 详细数据data 文件数据夹 读取文件内容 修改文件内容 执行文件内容 目录 文件名 可分类抽屉 读到文件名 修改文件名 进入该目录的权限(key) 根据上面的分析,可以看到,对一般文件来说,rwx 主要是针对“文件的内容”来设计权限,对目录来说,rwx则是针对“目录内的文件名列表”来设计权限。 其中最有趣的大概就属目录的x 权限了!“文件名怎么执行”?没道理嘛!其实,这个 x 权限设计,就相当于“该目录,也就是该抽屉的 "钥匙" ”啦! 没有钥匙你怎么能够打开抽屉呢?对吧! 具体实例 例1:有个目录的权限如下所示: drwxr--r-- 3 root root 4096 Jun 25 08:35 test 系统有个帐号名称为hah,这个帐号并没有支持root群组,请问hah对这个目录有何权限?是否可切换到此目录中?答:hah对此目录仅具有r的权限,因此hah可以查询此目录下的文件名列表。因为hah不具有x的权限,亦即hah没有这个抽屉的钥匙啦!因此hah并不能切换到此目录内! 上面这个例题中因为hah具有r的权限,因为是r乍看之下好像就具有可以进入此目录的权限,其实那是错的。 能不能进入某一个目录,只与该目录的x权限有关啦!此外, 工作目录对于指令的执行是非常重要的,如果你在某目录下不具有x的权限, 那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r或w的权限。 例2:假设有个帐号名称为xixi,他的主文件夹在/home/xixi/,xixi对此目录具有[rwx]的权限。 若在此目录下有个名为the_root.data的文件,该文件的权限如下: -rwx------ 1 root root 4365 Sep 19 23:20 the_root.data 请问xixi对此文件的权限为何?可否删除此文件?答:如上所示,由于xixi对此文件来说是“others”的身份,因此这个文件他无法读、无法编辑也无法执行, 也就是说,他无法变动这个文件的内容就是了。但是由于这个文件在他的主文件夹下, 他在此目录下具有rwx的完整权限,因此对于the_root.data这个“文件名”来说,他是能够“删除”的! 结论就是,xixi这个用户能够删除the_root.data这个文件! 上述的例子解释是这样的,假设有个莫名其妙的人,拿着一个完全密封的数据夹放到你的办公室抽屉中,因为完全密封你也打不开、看不到这个数据夹的内部数据(对文件来说,你没有权限)。 但是因为这个数据夹是放在你的抽屉中,你当然可以拿出/放入任何数据在这个抽屉中(对目录来说,你具有所有权限)。 所以,情况就是:你打开抽屉、拿出这个没办法看到的数据夹、将他丢到走廊上的垃圾桶!搞定了

优秀的个人博客,低调大师

CentOS下日期时间修改方法

日期时间修改 1. 查看时间和日期 [root@qdy ~]# date 2017年 12月 04日 星期一 10:02:12 CST 或 1 2 [root@qdy ~]# clock 2017年12月04日 星期一 10时03分30秒 -0.517451 seconds 显示日历 1 2 3 4 5 6 7 8 9 [root@qdy ~]# cal 十二月 2017 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2.设置时间和日期 例如:将系统日期设定成2017年11月3日的命令 1 2 [root@qdy ~]# date -s 2017/12/04 2017年 12月 04日 星期一 00:00:00 CST 将系统时间设定成下午11:45:50的命令 1 2 [root@qdy ~]# date -s 10:12:50 2017年 12月 04日 星期一 10:12:50 CST 3. 设置完系统时间后,还需要同步到硬件时钟上,将当前时间和日期写入BIOS,避免重启后失效, [root@qdy ~]#hwclock -w 或 [root@qdy ~]#clock --systohc 上面命令中,--hctosys表示Hardware Clock to SYStem clock。

优秀的个人博客,低调大师

yum升级centos6.4内核

一、导入官方Key [root@i-ylibhc7r ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 二、升级指定的内核,下载官方源 [root@i-ylibhc7r ~]# wget http://hkg.mirror.rackspace.com/elrepo/kernel/el6/x86_64/RPMS/kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm --2017-11-30 20:39:14-- http://hkg.mirror.rackspace.com/elrepo/kernel/el6/x86_64/RPMS/kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm Resolving hkg.mirror.rackspace.com... 180.150.156.88 Connecting to hkg.mirror.rackspace.com|180.150.156.88|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 40335112 (38M) [application/x-rpm] Saving to: “kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm” 100%[=============================================================================================================================>] 40,335,112 5.80M/s in 6.6s 2017-11-30 20:39:22 (5.80 MB/s) - “kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm” saved [40335112/40335112] 小结:这里给大家介绍的是香港的kernel源,下载速度很快,一般比官方也就慢个2天左右更新。 三、安装kernel的rpm包 [root@i-ylibhc7r ~]#yum install -y kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/metalink | 6.5 kB 00:00 * base: mirrors.sohu.com * epel: mirrors.sohu.com * extras: mirrors.cn99.com * rpmfusion-free-updates: mirror.lzu.edu.cn * rpmfusion-nonfree-updates: mirror.lzu.edu.cn * updates: mirrors.sohu.com epel | 4.7 kB 00:00 epel/primary_db | 6.0 MB 00:04 Setting up Install Process Examining kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm: kernel-lt-4.4.101-1.el6.elrepo.x86_64 Marking kernel-lt-4.4.101-1.el6.elrepo.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package kernel-lt.x86_64 0:4.4.101-1.el6.elrepo will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: kernel-lt x86_64 4.4.101-1.el6.elrepo /kernel-lt-4.4.101-1.el6.elrepo.x86_64 174 M Transaction Summary ======================================================================================================================================================================= Install 1 Package(s) Total size: 174 M Installed size: 174 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : kernel-lt-4.4.101-1.el6.elrepo.x86_64 1/1 Verifying : kernel-lt-4.4.101-1.el6.elrepo.x86_64 1/1 Installed: kernel-lt.x86_64 0:4.4.101-1.el6.elrepo Complete! 四、、编辑grub.conf文件,修改Grub引导顺序 因为一般新安装的内核在第一个位置,所以设置default=0,表示启动新内核 五、重启服务器 总结: 1、经过本人验证,这个最快升级内核的方法,参考网址:http://blog.csdn.net/reyleon/article/details/52229293 2、官方kernel源地址:http://elrepo.reloumirrors.net/kernel/ 3、香港的kernel源地址:http://hkg.mirror.rackspace.com/elrepo/kernel/

优秀的个人博客,低调大师

解决centos ping不通外网问题

确认三件事情 一。本地ip 二。网关 三。dns 一就不说了,设置好本地ip和掩码就行了,二网关 添加默认网关,命令:route add defaule gw 192.168.1.1 这是 你用route命令查看最下面会有一条默认路由,走192.168.1.1网关,当然这个网关是根据你本地的网段决定的,三 就是dns了,dns也需要到配置文件修改,#vi etc/resolv.conf 文件,我的文件默认是空白的。添加一条dns记录就可以了,比如我在河南,我添加:nameserver 222.85.85.85 然后保存退出,OK ping通外网了。 顺便记一下几个命令: 删除默认路由 : route 命令 设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是: # route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 其中: add : 添加一条路由规则 del : 删除一条路由规则 -net : 目的地址是一个网络 -host : 目的地址是一个主机 target : 目的网络或主机 netmask : 目的地址的网络掩码 gw : 路由数据包通过的网关 dev : 为路由指定的网络接口 route 命令使用举例 添加到主机的路由 # route add -host 192.168.1.2 dev eth0:0 # route add -host 10.20.30.148 gw 10.20.30.40 添加到网络的路由 # route add -net 10.20.30.40 netmask 255.255.255.248 eth0 # route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 # route add -net 192.168.1.0/24 eth1 添加默认路由 # route add default gw 192.168.1.1 删除路由 # route del -host 192.168.1.2 dev eth0:0 # route del -host 10.20.30.148 gw 10.20.30.40 # route del -net 10.20.30.40 netmask 255.255.255.248 eth0 # route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 # route del -net 192.168.1.0/24 eth1 # route del default gw 192.168.1.1

优秀的个人博客,低调大师

CentOS 6.9之LVM创建,扩容

在系统安装时候大多情况下有可能因为考虑不周,导致服务器空间不足问题,这时候如果没有lvm逻辑卷管理工具的话,往往就是查找服务器大文件删除之,或者应用迁移。但如果有了lvm逻辑卷管理,只需要新增硬盘,并将新硬盘的空间划分到不足的分区及可,如果空间浪费也可以减少对应分区的空间,这样可大大增加对空间的利用率 在安装系统时使用lvm逻辑卷管理,创建方法如下: 在系统安装到硬盘分区时选择“创建自定义布局” 首先创建一个/boot分区,/boot分区不能在逻辑卷中,所以先需要创建一个分区给/boot,选中空闲的空间,点击创建,然后点击标准分区,点创建 创建/boot分区,挂载点选择/boot,大小设定为500,单位为MB,然后固定大小,点击创建,至此/boot分区创建完成 创建lvm物理卷点击剩余的空间,创建,创建时选择“lvm物理卷” 创建lvm物理卷,文件系统类型默认,空间大小使用全部可用空间,点击创建,至此物理卷创建完毕 从lvm物理卷创建lvm逻辑卷组,选中刚创建的lvm物理卷,然后点创建,创建时选择lvm卷组 从lvm逻辑卷组创建lvm逻辑卷,打开创建卷组对话框,输入卷组名称(随意,看懂就行),然后在下面添加卷组中包含的lvm逻辑卷,我这里在当前卷组分配了2048的swap,再把剩余所有空间分配到了根分区 效果图 效果图 通过以上步骤我们已经完成了在系统安装时采用lvm逻辑卷管理的方式 在已有系统中增加新硬盘并使用逻辑卷管理: 新增一块新硬盘(我这里使用的是虚拟机,新增硬盘步骤略) 将新硬盘初始化为物理卷(我这里新添加的新硬盘为/dev/sdb) pvcreate /dev/sdb 结果为“Physical volume "/dev/sdb" successfully created”代表创建成功 创建逻辑卷组 vgcreate VolGroup2 /dev/sdb VolGroup2为逻辑卷组的名称,/dev/sdb我们前面已经初始化成物理卷,所以这里我们指定的是物理卷。整条命令的意思是创建一个名为VolGroup2的逻辑卷组,并将/dev/sdb物理卷加入到此逻辑卷组中 结果为“Volume group "VolGroup2" successfully created”代表创建成功 创建逻辑卷 lvcreate -L 5G -n LogVol01 VolGroup2 此命令的意思是从VolGroup2卷组创建一个名为LogVol01的逻辑卷 结果为“Logical volume "LogVol01" created”表示逻辑卷创建成功,成功后会在/dev/mapper目录下生成一个名为VolGroup2-LogVol01名称的逻辑卷文件 格式化刚创建的VolGroup2-LogVol01逻辑卷 mkfs.ext4 /dev/mapper/VolGroup2-LogVol01 将格式化后的逻辑卷挂载到我们服务器的/data目录 mkdir /data blkid | grep VolGroup2-LogVol01 记住UUID 编辑/etc/fstab文件,在文件最后加入 UUID=c0d28e46-c8b8-4d39-a355-b155e2852e36 /data ext4 defaults 0 0 mount -a 效果如下 刚才新增的硬盘为10G,只分配了5G的空间给VolGroup2-LogVol01,我们现在再把其它剩余的空间用来给根分区扩容,操作步骤如下: 从VolGroup2创建一个新的逻辑卷,并使用剩余所有空间 lvcreate-l 100%FREE-n LogVol02 VolGroup2 将新创建的逻辑卷格式化,并挂载到/data2 mkdir /data2 mkfs.ext4 /dev/mapper/VolGroup2-LogVol02 blkid | grep VolGroup2-LogVol02 echo "UUID=7f427618-22bd-4e98-90ff-7f782d067644 /data2 ext4 defaults 0 0" >> /etc/fstab mount -a 效果如下 增加新硬盘为给现有lvm逻辑卷扩容空间: 新增一块新硬盘(我这里使用的是虚拟机,新增硬盘步骤略) 把新硬盘初始化成物理卷 pvcreate /dev/sdc 查看VolGroup2逻辑卷组信息 vgdisplay VolGroup2 从以上信息可以看出VolGroup2共有10G,也就是我们添加的第二块硬盘的大小 扩容VolGroup2的大小,用我们第三块盘去扩容 vgextend VolGroup2 /dev/sdc 查看扩容后的大小,为25G 通过上一步我们已经将VolGroup2 扩容到了25G,也就意味着还有剩余空间没有被分配到逻辑卷,这时候我们可以利用这些剩余空间来增加逻辑卷的大小,但只能增加VolGroup2中的逻辑卷,而VolGroup1中的逻辑卷还需要另外的新硬盘来扩展VolGroup1的空间 lvextend -L+5G /dev/mapper/VolGroup2-LogVol01 通过上面的命令,我们将VolGroup2-LogVol01逻辑卷增加了5G的空间 这时候我们实际显示还是原来的空间,我们需要再执行下面的命令 resize2fs /dev/mapper/VolGroup2-LogVol01 最后再查看空间,这时候/data增加了5G 将第三块硬盘的剩余所有空间,扩展到/data2 lvextend -l+100%FREE /dev/mapper/VolGroup2-LogVol02 resize2fs /dev/mapper/VolGroup2-LogVol02 结果如下 这时候如果我们要扩容根分区的容量,同样的道理,只需要再新增一块新硬盘,然后把硬盘初始化成物理卷,再把物理卷加入到VolGroup1的组里面,然后就可以扩容根分区了 执行以下命令 pvcreate /dev/sdd vgextend VolGroup1 /dev/sdd lvextend -l+100%FREE /dev/mapper/VolGroup1-LogVol01 在执行上面命令之前我已经对/dev/sdd的空间划分了3G给交换分机文件,详情见下面b步骤 resize2fs /dev/mapper/VolGroup1-LogVol01 通过上面命令,根分区也扩容了2G,结果如下 经测试如果要对lvm的交换分机进行扩容,操作如下: lvextend -l+3G /dev/mapper/VolGroup1-LogVol00 swapoff -a mkswap/dev/mapper/VolGroup1-LogVol00 swapon/dev/mapper/VolGroup1-LogVol00 这时候交换结果如下:

优秀的个人博客,低调大师

CentOS下安装JDK1.8

下载官方的软件包,参考地址:http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1511877655_249331a15c5f013ed07d656d98e82d72其中后面的AuthParam参数为本次下载的即时参数,自己记得在下载的时候进行更改 1 wget http: //download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1511877655_249331a15c5f013ed07d656d98e82d72 创建并进入/usr/local/java/文件夹,将软件包进行解压 1 tar -zxvf jdk-8u151-linux-x64.tar.gz 配置环境变量并使其生效 1 2 3 4 5 vi /etc/profile #在该文件中导入环境变量,其中HOME为jdk解压根目录 export JAVA_HOME=/usr/local/java/jdk1.8.0_151 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 验证环境安装 1 2 java javac

优秀的个人博客,低调大师

centos6.5 yum安装redis

1.yum添加epel源 yum install epel-release 2.安装yum yum install redis 3.Redis 服务端配置——Could not connect to Redis at 127.0.0.1:6379: Connection refused vim /etc/redis.conf 找到redis.conf 并修改daemonize no(第128行) 为daemonizeyes :set number(显示行号) . 4.开启客户端要确保服务端启动 redis-server /etc/redis.conf 5.redis-server -v 查看版本 redis-server /etc/redis.conf 启动 redis-cli ping PONG 测试启动 redis-cli ping 返回PONG,启动成功。 redis-cli 链接

优秀的个人博客,低调大师

CentOS查看、修改SELinux的状态

SELinux(Security-EnhancedLinux) 是美国国家安全局(NSA)对于强制访问控制的实现,是linux历史上最杰出的新安全子系统。但是我们一般都不用它,因为它管的东西太多了,想做安全可以用防火墙等其他措施。 我们可以通过查看配置文件的命令cat /etc/selinux/config来查看状态, [root@mazhonghua ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 发现SELinux共有3个状态enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)。 我们可以通过修改配置文件来修改SELinux的状态 [root@mazhonghua ~]# sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config [root@mazhonghua ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted 1 2 3 4 9 5 6 7 8 10 11 12 13

优秀的个人博客,低调大师

Centos7 中安装 gcc

今天在安装 Nodejs8.7 的时候,报了一个警告: WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++) 然后,查了一下自己系统上安装的版本:4.8.5 好吧,不能用 yum 升级了,那就手动安装了吧 一、选择需要升级的版本 gcc ftp 下载地址列表 (我选择了5.4.0) 二、获取安装包并解压 cd /usr/local/src wgethttps://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2 tar -jxvfgcc-5.4.0.tar.bz2 注:bz2是一种压缩文件格式,若无法解压,安装 bzip2 即可:yum -y install bzip2 三、进入解压后的gcc文件夹,下载供编译需求的依赖项 cd gcc-build-5.4.0 ./contrib/download_prerequisites 四、建立一个文件夹存放编译文件 mkdir gcc-build-5.4.0 cd gcc-build-5.4.0 五、生成 Makefile 文件 make 注:这个过程非常耗时,我的1核1G内存大约花了一个来小时 六、安装 sudo make install 七、重启服务器,验证版本 gcc -v 等了那么久,总算是成功了,很激动对不对? 但是! 我执行到上边以后,屁颠屁颠的跑去编译 nodejs 了,耍出了一个错误: /usr/local/src/node-v8.7.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/src/node-v8.7.0/out/Release/mksnapshot) 编译失败~ 劳资等了30分钟 好吧,出了问题终究是要解决的 问题原因:升级gcc时,生成的动态库没有替换老版本 gcc 动态库导致的 解决方案:将gcc最新版本的动态库替换系统中老版本的动态库。 (1). 查找编译gcc时生成的最新动态库 find / -name "libstdc++.so*" (2) 将找到的动态库libstdc++.so.6.0.21复制到/usr/lib64 cp /usr/local/src/gcc-5.4.0/gcc-build-5.4.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64 (3). 切换工作目录至/usr/lib64,删除原来的软连接, 将默认库的软连接指向最新动态库。 cd /usr/lib64 rm -rf libstdc++.so.6 ln -s libstdc++.so.6.0.21 libstdc++.so.6 到这里才算是收工了。

优秀的个人博客,低调大师

centos下svn分组权限管理

1、打开svn安装目录。可以通过ps aux|grep svn 查找svn的安装目录 2、编辑svnserve.conf, 基本保留这些内容 [general] anon-access=none auth-access=write password-db=passwd // 这里可以填写具体路径比如:/z/svn/passwd 这样多个版本库可以使用同一套配置 authz-db=authz // 可以写具体路径 realm=repos [sasl] 3、编辑passwd文件, 配置用户名密码 [users] jk = jk123 ybh = ybh123 wus = wus123456 test = test123456 4、配置authz文件, 管理授权 [groups] //这里是分组权限管理,可以根据文件夹名字命名分组信息,分配下面人员账号 android=wus backend=jk,ybh ios=zhangc,hubert test=test lcej=jk,ybh [/] // 这里是根目录下权限,jk拥有根目录下可读可写权限(rw) jk=rw [soft:/] // jk拥有soft目录下可读可写的权限 jk=rw [soft:/Android] // 安卓组的全体成员拥有soft目录下Android目录下的可读写权限,这里安卓组只有wus @android=rw [soft:/Backend] // 后端组的全体成员拥有soft目录下Backend目录下的可读写权限,这里后端组有jk,ybh @backend=rw [soft:/Backend/lcyj-base] // 测试组的全体成员拥有soft目录下/Backend/lcyj-base目录下的只可读权限,这里测试组只有test @test=r [soft:/IOS] // IOS组的全体成员拥有soft目录下/IOS目录下的可读写权限,这里IOS组有zhangc,hubert @ios=rw [soft:/lcej] // lcej组的全体成员拥有soft目录下lcej目录下的可读写权限,这里lcej组有jk,ybh @lcej=rw 5、重启svn服务器。 /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

优秀的个人博客,低调大师

CentOS7上配置ELK

一、Elasticsearch 1,从Elastic下载包到本地后解压缩。 2,Elasticsearch不让从root用户启动,所以需要单独建个用户 1 2 useradd elastic chown -Relastic:elasticelasticsearch-5.3.0 3,允许外网访问,修改conf里elasticsearch.yml,解注释: 1 network.host:0.0.0.0 4,启动elasticsearch 1 2 su elastic shelasticsearch-5.3.0 /bin/elasticsearch -d 5,验证,浏览器访问服务器9200端口,应看到类似: 1 2 3 4 5 6 7 8 9 10 11 12 13 { "name":"ufJRIlo", "cluster_name":"elasticsearch", "cluster_uuid":"_na_", "version":{ "number":"5.3.0", "build_hash":"3adb13b", "build_date":"2017-03-23T03:31:50.652Z", "build_snapshot":false, "lucene_version":"6.4.1" }, "tagline":"YouKnow,forSearch" } 二、LogStash 1,从elastic官网下包到本地解压。 2,创建配置文件logstash.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 input{ file{ path=>[ "/tmp/*.log" , "/root/zhoulei/new/loginserver/logs/packages/*ACCOUNT.log" ] exclude=>[ "*DEBUG.log" , "*INFO.log" , "*ERROR.log" ] start_position=> "beginning" } } filter{ grok{ match=>{ "message" => "%{DATA:logTime}\|%{DATA:gameId}\|%{DATA:serverId}\|%{DATA:version}\|%{DATA:logType}\|%{DATA:behavior}\|%{DATA:channelId}\|%{DATA:clientVersion}\|%{DATA:platform}\|%{DATA:accountId}\|%{DATA:accountName}\|%{DATA:roleId}\|%{DATA:roleName}\|%{DATA:etc}\|*" } } date{ match=>[ "logTime" , "yyyy-MM-ddHH:mm:ss.SSS" ] target=> "@timestamp" locale=> "en" remove_field=>[ "logTime" ] } if ([logType]== "SERVER" ){ mutate{ split=>[ "message" , "|" ] add_field=>{ "online" => "%{[message][22]}" "onlineMax" => "%{[message][23]}" } remove_field=>[ "onlineNum" ] remove_field=>[ "maxNum" ] } mutate{ convert=>{ "online" => "integer" } convert=>{ "onlineMax" => "integer" } } } } output{ elasticsearch{ hosts=>[ "127.0.0.1:9200" ] } } 3,创建服务启动后台运行脚本 1 2 3 #!/bin/bash nohup . /logstash -flogstash.conf> nohup .out& 三、Kibana 1,下载安装包,可以下windows版,解压。 2,编辑conf里kibana.yml,设置elasticsearch服务url 1 elasticsearch.url: "http://127.0.0.1:9200/" 3,验证服务,浏览器访问kibana所在机器的5601端口,可以看到Kibana页面。 本文转自 zl1030 51CTO博客,原文链接:http://blog.51cto.com/zl1030/1919697

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册