-
本帖最后由 潘冬子 于 2017-11-28 15:39 编辑 Linux环境下有些文件的配置正确与否关系到DNS实际解析效果,本文就对这几个文件简要小科普一下: /etc/nsswitch.conf文件 该规定通过哪些途径以及按照什么顺序去查找特定类型的信息,还可以指定某个方法奏效或失效时系统将采取什么动作。Nsswitch.conf中的每一行配置都指明了如何搜索信息,每行配置的格式如下: Info: method [[action]] [method [[action]] ...] 其中,info指定该行所描述的信息的类型,method为用来查找该信息的方法,action是对前面的method返回状态的响应。action要放在方括号里。 #cat /etc/nsswitch.conf(示例范本) #主机名称:先查/etc/hosts,查不出结果时才查DNS hosts: files dns 在上述示例中,hosts指的就是名称数据库,关键字files表示数据来源是本地主机上的文件/etc/hosts,关键字DNS表示数据来源是DNS server。 默认情况下,排列在后面的数据来源只有在优先级的数据不提供明确结果时,才会被查询到。然而,你可以是下面语法来改变解析条件: 【 【!】status = action … 】 将上述语法列在数据来源之后,表示在status成立或不成立时,进行action所描述的动作。例如以下范本: #cat / etc/nsswitch.conf Hosts: dns【!UNAVAIL=return】files 在上述举例中,当解析器要查询主机名称时,会优先向DNS server查询,但是当DNS server不可用时(Unavailable),则直接返回(return),而不是继续查询/etc/hosts。换句话说,只有在DNS Server有作用但查不出结果时,/etc/**s才会被查询到。 关于status还有更多的赋值,如success、notfound、unavalil、tryagain等。 /etc/hosts文件 该文件可以配置主机IP及其对应的主机名。在局域网或者是internet上,每台主机都由一个IP地址,它区分每台主机,并可以根据IP进行通讯。但IP地址不方便记忆,所有又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。 # cat /etc/hosts 127.0.0.1 localhost.localdomain 127.0.0.1 localhost.localdomain 192.168.1.100 panda100 test100 另外,linux下通过hostname 这个kernel变量来设置主机名只是临时的,并不会保存到/etc/hosts文件中,下次重启系统时,此主机名将不会存在。 /etc/resolv.conf文件 该文件用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。 resolv.conf的关键字主要有四个,分别是: nameserver //定义DNS服务器的IP地址 domain //定义本地域名 search //定义域名的搜索列表 sortlist //对返回的域名进行排序 /etc/resolv.conf的示例: domain huaweicloud.com nameserver 10.72.255.100 nameserver 114.114.114.114 nameserver 8.8.8.8 nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。同时,nameserver可以配置多个,但是linux系统默认只会使用前三个nameserver。 Domain:声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。 Search:它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。 domain和search不能共存;如果同时存在,后面出现的将会被使用。 Sortlist:允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。此外,resolv.conf还提供一些功能可以实现对查询超时、查询重试次数、DNS轮询查询等场景的定制,比如如果希望上面设置的三个DNS服务器都能轮询使用,可以在文件中配置如下: options rotate timeout:3 attempts:1 #默认查询超时为5秒,重试次数为2# domain huaweicloud.com nameserver 10.72.255.100 nameserver 114.114.114.114 nameserver 8.8.8.8
-
主要谈一谈关于浮动IP的东西,介绍下浮动IP是什么1、为什么要有浮动IP这个东西 现在有一个场景,在一台Linux上部署一个web应用,应用跑在tomcat里面,linux网卡上的ip是115.239.100.120 大致就是如下的部署关系: 用户通过输入IP地址就能访问这个应用了,但是天有不测风云,有时候因为一些原因,服务会挂掉。于是开发人员就 想了一个办法,在另外一个Linux上,部署同样的一个应用,这样这个服务挂了,另外一个顶上,于是架构就变成了下面 这个样子: 如果用户访问100.120访问不了,就访问100.121就行了,但是这样引入了一个问题,用户需要记住两个IP,很不方便! 所以这个时候就需要浮动IP了。 2、浮动IP是什么 上面我们搭建了两个一模一样的服务,但是用户需要记住两个IP,实在是太麻烦了,于是我们可以采用另外一个策略, 我们给其中一个机器在添加一个IP,让用户访问这个IP,一个网卡是可以添加多个IP的。 例如上面,我们给100.120主机添加一个100.80的IP,用户访问115.239.100.80这个IP,如果这台机器的服务挂了,我们就将 这个ip转移到100.121这个机器上,这样对于用户而言,他们始终访问的就只是一个IP而已。 在上面的场景中:115.239.100.80这个ip就是浮动IP,他会随着主机服务挂掉而转移到另外一个能够提供相同服务的主机上, 对于用户而言,他们始终觉得服务是正常的。一般而言,在高可用集群中使用的比较多,例如LVS集群等 其实一个高可用集群一般而言都有浮动IP的,如果没有,机器宕机了还怎么玩? 来源csdn
-
我上网时最担心的一件事情是,我该如何确保我的数据安全和隐私。在搜索答案的过程中,我找到了很多保持匿名的方法,比如使用代理网站。但是使用第三方的服务不能完全保证。我需要的是有一款软件可以让我自己安装并运行,那样我就能确保只有我才能访问数据。这款软件叫什么呢?它叫VPN服务,就是虚拟隐私网络的简称。它允许访问时通过SSL加密你的数据。因为是加密的连接,所以你的ISP不能看到你的浏览信息。1.在你的Linux机器或者 VPS 上安装OpenVPN服务从 https://openvpn.net/index.php/ac ... -openvpn-as-sw.html (它被墙一点都不奇怪,你知道的)下载安装包,Ubuntu用户也可以找到合适的安装包并安装。53682.为 OpenVPN 客户端设置密码[*][leo_g@vps ]$passwd openvpn3.通过管理URL https://yourhostIP:943/admin 登录并启动服务输入用户名 “openvpn” 和你先前设置的密码4.从客户端URL安装客户端 (它会给你一个选项下载安装程序)你可以在"https://openvpn.net"看指导来了解如何在你的操作系统上安装。5.用你先前创建的用户名和密码连接你的服务器就是这样,你可以访问whatismyip.com来查看你的IP,应该已经是你的CentOS 7上的OpenVPN的地址了。转自51cto.com
-
问题背景在产品研发过程中,由于多个用户操作服务器,产品在使用过程中,出现了异常;这个异常可能是产品自身的异常;也可能是用户在后台操作触发的异常; 为了更好的定位和排查问题;需要对linux服务器做历史操作的行为进行审计;本文将简要介绍下linux用户历史操作行为的审计记录配置方法。配置过程简介第一步:配置方法:编辑/etc/profile 文件;追加如下配置12345678910111213141516171819202122232425262728293031323334353637383940414243[color=rgb(248, 248, 242) !important][color=rgb(184, 92, 0) !important]#add by zhouyou#PS1=[color=rgb(230, 219, 93) !important]"`whoami`@`hostname`:"[color=rgb(230, 219, 93) !important]´[$PWD]´[color=rgb(249, 38, 80) !important]historyUSER_IP=`who[color=rgb(0, 111, 224) !important] -u[color=rgb(0, 111, 224) !important] am[color=rgb(0, 111, 224) !important] i[color=rgb(0, 111, 224) !important] [color=rgb(174, 129, 255) !important]2>/dev/[color=rgb(166, 226, 45) !important]null|[color=rgb(0, 111, 224) !important] awk[color=rgb(0, 111, 224) !important] [color=rgb(230, 219, 93) !important]´{print $NF}´|sed[color=rgb(0, 111, 224) !important] -e[color=rgb(0, 111, 224) !important] [color=rgb(230, 219, 93) !important]´s/[()]//g´`[color=rgb(102, 217, 239) !important]if[color=rgb(0, 111, 224) !important] [[color=rgb(0, 111, 224) !important] [color=rgb(230, 219, 93) !important]"$USER_IP"[color=rgb(0, 111, 224) !important] =[color=rgb(0, 111, 224) !important] [color=rgb(230, 219, 93) !important]""[color=rgb(0, 111, 224) !important] [color=rgb(102, 217, 239) !important]thenUSER_IP=`[color=rgb(249, 38, 80) !important]hostname`[color=rgb(249, 38, 80) !important]fi[color=rgb(102, 217, 239) !important]if[color=rgb(0, 111, 224) !important] [[color=rgb(0, 111, 224) !important] ![color=rgb(0, 111, 224) !important] -[color=rgb(249, 38, 80) !important]d[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky[color=rgb(0, 111, 224) !important] [color=rgb(102, 217, 239) !important]then[color=rgb(249, 38, 80) !important]mkdir[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky[color=rgb(249, 38, 80) !important]chmod[color=rgb(0, 111, 224) !important] [color=rgb(174, 129, 255) !important]777[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky[color=rgb(249, 38, 80) !important]fi[color=rgb(102, 217, 239) !important]if[color=rgb(0, 111, 224) !important] [[color=rgb(0, 111, 224) !important] ![color=rgb(0, 111, 224) !important] -[color=rgb(249, 38, 80) !important]d[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky/${LOGNAME}[color=rgb(0, 111, 224) !important] [color=rgb(102, 217, 239) !important]then[color=rgb(249, 38, 80) !important]mkdir[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky/${LOGNAME}[color=rgb(249, 38, 80) !important]chmod[color=rgb(0, 111, 224) !important] [color=rgb(174, 129, 255) !important]300[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky/${LOGNAME}[color=rgb(249, 38, 80) !important]fi[color=rgb(249, 38, 80) !important]export HISTSIZE=[color=rgb(174, 129, 255) !important]4096DT=`date[color=rgb(0, 111, 224) !important] [color=rgb(230, 219, 93) !important]"+%Y-%m-%d_%H:%M:%S"`[color=rgb(249, 38, 80) !important]export HISTFILE=[color=rgb(230, 219, 93) !important]"/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"[color=rgb(249, 38, 80) !important]chmod[color=rgb(0, 111, 224) !important] [color=rgb(174, 129, 255) !important]600[color=rgb(0, 111, 224) !important] /[color=rgb(249, 38, 80) !important]tmp/[color=rgb(249, 38, 80) !important]dbasky/${LOGNAME}/*[color=rgb(249, 38, 80) !important]dbasky*[color=rgb(0, 111, 224) !important] [color=rgb(174, 129, 255) !important]2>/dev/[color=rgb(166, 226, 45) !important]null执行如下命令,是修改的配置生效1[color=rgb(248, 248, 242) !important]source[color=rgb(0, 111, 224) !important] /etc/profile退出用户,重新登录说明:上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史。此时还无法准确记录每一个命令行操作的具体操作时间。效果如下图所示:用户操作记录:审计文件记录了用户登录ip,登录时间,使用的linux用户名,操作的命令行记录:第二步:配置方法:编辑/etc/bashrc文件,加入如下四行:123456789[color=rgb(248, 248, 242) !important][color=rgb(184, 92, 0) !important]#add by zhouyou#HISTFILESIZE=[color=rgb(174, 129, 255) !important]2000HISTSIZE=[color=rgb(174, 129, 255) !important]2000HISTTIMEFORMAT=[color=rgb(230, 219, 93) !important]"%Y%m%d-%H%M%S:"[color=rgb(249, 38, 80) !important]export HISTTIMEFORMAT保存后退出,关闭当前shell,并重新登录这个时候,在~/.bash_History文件中,就有记录命令执行的时间了 。说明:本方法必须在服务器刚刚新安装好时候,就设置这个参数。如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录是不显示时间的。基于第一步和第二步的配置,就可以在/tmp/dbasky/ 路径下,各个linux用户下,生成各个ip登录linux执行操作命令的审计记录;每一个文件记录了登录的ip,执行的操作及操作的时间(linux时间戳)效果如下图:root用户下,各个登录的ip行为审计文件:具体登录ip审计文件的命令行操作内容和执行时间:当前history命令行输出样式:声 明本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
-
华为云Linux服务器CentOS 7 的内核一般都是3.10的,而CentOS 6.X 的内核一般都是2.6,在2.6的内核下,Docker运行会比较卡,所以一般会选择升级到3.10版本。 升级内核的方式,网上有很多方法是下载内核然后编译,这样需要安装很多必备的环境和工具,比较麻烦,但是也有助于我们了解内核的编译。 编译内核方式升级: https://segmentfault.com/a/1190000000733628#articleHeader13 本文介绍采用elrepo如何升级到内核。 1. 查看当前内核版本 [code][root@localhost ~]# more /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux[/code] 2. 导入public key [code][root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org[/code] 3. 安装ELRepo到CentOS 可以去http://elrepo.org/tiki/tiki-index.php选择要安装的ELRepo [code]To install ELRepo for RHEL-7, SL-7 or CentOS-7: rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm (external link) To install ELRepo for RHEL-6, SL-6 or CentOS-6: rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm (external link)[/code] 4. 安装 kernel-lt(lt=long-term) [code][root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-lt -y[/code] 或者 安装kernel-ml(ml=mainline) [code][root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-ml -y[/code] 5. 编辑grub.conf文件,修改Grub引导顺序 [code][root@localhost ~]# vim /etc/grub.conf[/code] 因为一般新安装的内核在第一个位置,所以设置default=0,表示启动新内核 6. 重启服务器 查看此时内核版本: [code][root@localhost ~]# uname -r 3.10.105-1.el6.elrepo.x86_64[/code] 大功告成!
-
积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点。 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火。。。(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通吗,但是熟悉和熟练还是相对可以的。 初级篇 详见:详解Linux运维工程师入门级必备技能拓扑详见: 中级篇从我后面面试经历和面试别人的经历。有些人认为,其实运维就是部署某个软件,设置些基础功能,就算会运维了。举个例子:安装LAMP,LNMP,就感觉部署方法我都掌握了。其实网上大多数都有一键安装脚本啥的根本没有啥技术含量,在面试官眼里,这些都不是你的亮点。基本到了公司一般环境架构都是部署好的,很少需要你去变动环境架构。就算你安装好 LNMP 架构你熟悉里面的原理吗,熟悉 Nginx 优化吗,熟悉 MySQL 优化吗? 再举个例子:我面试遇到的问题,面试官问你既然熟悉 LNMP 架构,那么 Nginx 反向代理的作用。 你应该不是说出懂这个软件和配置,你尽可能的说怎么优化,怎么深入提高网站性能。 1、使用反向代理可以理解为7层应用层的负载均衡,使用负载均衡之后可以非常便捷的横向扩展服务器集群,实现集群整体并发能力、抗压能力的提高。 2、通常反向代理服务器会带有本地 Cache 功能,通过静态资源的 Cache,有效的减少后端服务器所承载的压力,从而提高性能。 下面说说运维在工作中需要掌握的核心技术注意,这是在工作中掌握的,在学习中很难掌握。 1、第一条最主要的排错 ● 分析部分程序不能运行或没有按预想结果运行的原因,对程序运行跟踪,查看系统调用的过程。 ● 较深入的系统瓶颈点分析。 查看剩余内存: 复制内容到剪贴板代码:free -m#-/+ buffers/cache: 6458 1649#6458M为真实使用内存 1649M为真实剩余内存(剩余内存+缓存+缓冲器)#linux会利用所有的剩余内存作为缓存,所以要保证linux运行速度,就需要保证内存的缓存大小 系统信息: 复制内容到剪贴板代码:uname -a # 查看Linux内核版本信息cat /proc/version # 查看内核版本cat /etc/issue # 查看系统版本lsb_release -a # 查看系统版本 需安装 centos-releaselocale -a # 列出所有语系locale # 当前环境变量中所有编码hwclock # 查看时间who # 当前在线用户w # 当前在线用户whoami # 查看当前用户名logname # 查看初始登陆用户名uptime # 查看服务器启动时间sar -n DEV 1 10 # 查看网卡网速流量dmesg # 显示开机信息lsmod # 查看内核模块 硬件信息: 复制内容到剪贴板代码:more /proc/cpuinfo # 查看cpu信息lscpu # 查看cpu信息cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看cpu型号和逻辑核心数getconf LONG_BIT # cpu运行的位数cat /proc/cpuinfo | grep 'physical id' |sort| uniq -c # 物理cpu个数cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l # 结果大于0支持64位cat /proc/cpuinfo|grep flags # 查看cpu是否支持虚拟化 pae支持半虚拟化 IntelVT 支持全虚拟化more /proc/meminfo # 查看内存信息dmidecode # 查看全面硬件信息dmidecode | grep "Product Name" # 查看服务器型号dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range # 查看内存插槽cat /proc/mdstat # 查看软raid信息cat /proc/scsi/scsi # 查看Dell硬raid信息(IBM、HP需要官方检测工具)lspci # 查看硬件信息lspci|grep RAID # 查看是否支持raidlspci -vvv |grep Ethernet # 查看网卡型号lspci -vvv |grep Kernel|grep driver # 查看驱动模块modinfo tg2 # 查看驱动版本(驱动模块)ethtool -i em1 # 查看网卡驱动版本ethtool em1 ●使用分析系统分析web日志。(如逆火软件,)● 分析系统性能瓶颈点(IO/memory/cpu,常用工具,top命令中shift组合键的特殊用Sar/vmstat/iostat/ipcs) 日志管理常用命令: 复制内容到剪贴板代码:history # 历时命令默认1000条HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " # 让history命令显示具体时间history -c # 清除记录命令cat $HOME/.bash_history # 历史命令记录文件lastb -a # 列出登录系统失败的用户相关信息 清空二进制日志记录文件 echo > /var/log/btmp last # 查看登陆过的用户信息 清空二进制日志记录文件 echo > /var/log/wtmp 默认打开乱码who /var/log/wtmp # 查看登陆过的用户信息lastlog # 用户最后登录的时间tail -f /var/log/messages # 系统日志tail -f /var/log/secure # ssh日志 2、优化 优化可以说是运维最吃香的技能,基本会优化的运维普遍工资很高,而且优化是要承担风险的,并不是网上搜个文章改一下配置文件或者参数就叫优化了,这样很容易造成宕机。 优化是根据实际的现场环境硬件各个参数进行部分优化,提高软件性能和网站性能。这个我只能讲半知半解,当时优化mysql和tomcat参数也是根据网上文章和官网文档查找参数在虚拟机上测试然后查看性能。 成本优化,性能优化。这里我给出 tomcat 优化 jvm 参数(做过相应测试才放到现场环境的):(记住无监控不调优) -标准参数,所有jvm都应该支持 -X 非标,每个jvm实现都不同 -XX 不稳定参数,下一版本可能会取消 serial collector 单线程 序列化 parallel collector 多线程 启动 jvisualvm.exe 监控 dump 内存溢出 -Xms:初始堆大小 -Xmx:最大堆大小 -Xss:线程栈大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值,如3, 标示年轻代:年老代比值1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中的eden区与2个Survivor区的比值。 -XX:MaxPermSize=n:设置持久代大小 收集器设置 -XX:+UseSerialGC:设置串行收集器 -XX:+UseParallelGC:设置并行收集器 -XX:+UseConcMarkSweepGC:设置并发收集器 回收统计信息 -XX:+PrintGC -XX:+PrintGCDetails -Xloggc:filename tocmat 优化 确认有几个 jvm 虚拟机 set JAVA_OPTS= -Xms4g -Xmx4g -Xss512k -XX:+AggressiveOpts 进攻型的优化选项,所有优化项都加上 -XX:+UseBiasedLocking 优化锁,基本都要选上,偏执锁 -XX:permSize=64m 原始区大小,最大300m 类多就设置大一点 -XX:MaxPermSize=300m -XX:+DisableExplicitGC //System.gc() 不显示调用gc -XX:+UseConcMarkSweepGC 使用cms缩短相应时间,并发收集,低停顿 -XX:+UseParNewGC 并行收集新生代的垃圾 -XX:+CMSParallelRemarkEnabled 在使用UseParNewGC的情况下,尽量减少mark的时间 -XX:+UseCMSCompactAtFullCollection 使用并发收集器时,开启对年老代的压缩,使碎片减少 -XX:LargePageSizelnBytes=128m 内存分页大小对性能的提升 -XX:+UseFastAccessorMethods get/set方法转成本地代码 -Djava awt headless=true 修复linux下tomcat处理图标时可能产生的bug 内存调优: 复制内容到剪贴板代码:"C:\Program Files\Java\jdk1.8.0_31\bin\java" -XX:+DoEscapeAnalysis -XX:+EliminateAllocations -XX:+UseTLAB -XX:+PrintGCDetails -Didea.launcher.port=7540 "-Didea.launcher.bin.path=E:\java\IntelliJ IDEA 2016.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_31\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\rt.jar;E:\java\new\out\production\new;E:\java\IntelliJ IDEA 2016.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain aa.T02HeapPSYoungGen total 38400K, used 3994K [0x00000000d5d80000, 0x00000000d8800000, 0x0000000100000000) eden space 33280K, 12% used [0x00000000d5d80000,0x00000000d61668b8,0x00000000d7e00000) from space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000) to space 5120K, 0% used [0x00000000d7e00000,0x00000000d7e00000,0x00000000d8300000)ParOldGen total 87552K, used 0K [0x0000000081800000, 0x0000000086d80000, 0x00000000d5d80000) object space 87552K, 0% used [0x0000000081800000,0x0000000081800000,0x0000000086d80000)Metaspace used 3072K, capacity 4494K, committed 4864K, reserved 1056768K class space used 329K, capacity 386K, committed 512K, reserved 1048576KHeapPSYoungGen total 38400K, used 1147K [0x00000000d5d80000, 0x00000000d8800000, 0x0000000100000000) eden space 33280K, 3% used [0x00000000d5d80000,0x00000000d5e9ecb8,0x00000000d7e00000) from space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000) to space 5120K, 0% used [0x00000000d7e00000,0x00000000d7e00000,0x00000000d8300000)ParOldGen total 87552K, used 0K [0x0000000081800000, 0x0000000086d80000, 0x00000000d5d80000) object space 87552K, 0% used [0x0000000081800000,0x0000000081800000,0x0000000086d80000)Metaspace used 3072K, capacity 4494K, committed 4864K, reserved 1056768K class space used 330K, capacity 386K, committed 512K, reserved 1048576K 线程本地缓存使用eden的,开启就会使用更多 tomcat 前任何参数没参加大概每秒605 调优后大概每秒435 接近3倍的结果 3、开发技能 优选 shell 和 python,现在 shell 无法满足你的需求或者效率很低,那么选择自动化 python 是最好的选择。现在普遍招聘需求要求,会写 shell 或者 python,perl 脚本,个人选择还是选 python。 python 这门语言上手比较快,容易理解。 python 在服务器管理工具上非常丰富,配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 还有大部分系统 C 库都有 python 绑定。 对于流程确定的事情,最终一定是纳入系统管理的体系,写成程序,成为系统的一部分。而不是无法复用游离与整体的各种脚本。 随着云计算时代的来临,中小型公司,不需要运维了。大型公司,没有工程开发能力的运维,是没有竞争力的。 最重要的学好 python 可以涨工资,可以涨工资,可以涨工资。(重要的事情说三遍。) 目前本人也是在学 python,正在把以前 shell 脚本的实例转换成 python 脚本。 python笔记:python实例手册(一直在看) 下载链接:http://down.51cto.com/data/2329173 4、意识篇 1) 安全意识: 运维人员的权限很大,所以一定要保证帐号/私钥的安全。 ● 最好使用加密工具存储。比如truecrypt,lpassword● 基于本地存储。切勿用网盘,也不建议用lastpass等● ssh私钥添加密码 2) 磨刀意识: 关于任何操作配置,最好先搞明白操作或配置的原理,然后再去操作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的操作可以举一反三。 3) 计划意识: 复杂的变更操作比如多台主机以及牵涉到san存储,最好先作 操作计划,写计划文档,详细致每条命令,然后请高手帮忙审核。 这样能最大程度使整个操作过程安全。如果是重要的客户业务系统,操作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。4) 记录分享意识: 遇到自己认为较特殊的案例时,记得要写 案例过程及分析的文档。也方便自己以后翻看,或者和其他兄弟分享,作知识的传播以便于大家以后都能少走弯路。 5) 监控意识: 运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。 6) 业务意识: 尽量了解维护的各主机上业务类型,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。 附上运维思路拓扑图: 可以看看:安全运维理念(半神半仙亦民工)意识是很重要,并不是你技术很牛,学的技术很多很熟,就不代表你不需要运维意识,其实领导很看重运维意识的,例如有没有做好备份,权限分配问题,平台测试情况,故障响应时间等,这些都是意识,而不是你学了很多技术自认大牛了,平台发现故障你又没什么大不子,以为很简单的问题喜欢处理就处理,不需要向其它部门反馈等,领导不是看你的技术如何,而是看你的运维意识如何,你没运维意识,技术再牛也没用,只会让其它部门的人跟你不协调。 要知道做IT这行是苦B的,需要无尽的学习,不学习只会被淘汰,不想被年轻的淘汰,就只能不断增值自己,不然不是你工资无法提升,而是你无法再从事这行。 这个世界,在悄悄惩罚不改变的人...
-
本帖最后由 TOM666 于 2017-11-6 16:44 编辑从第一次看到Linux系统,从大神那里了解到了Linux灵活、干净、开源等诸多的好处后,我打算入坑。但是,作为一个游戏迷,用笔记本打游戏绝对是不能省的。装双系统或虚拟机又太麻烦,也容易影响性能,最好的解决方案是有两台不同系统电脑。然而,摸摸自己的荷包后,我决定探索一条Linux打游戏的道路! 入了Linux这个坑后,我发现,有这种烦恼的人还有很多。对于这些游戏迷而言,Linux最大的缺点不是上手难,而是大量游戏缺失。这么大的忧伤该怎么弥补?今天笔者就跟大家介绍几种Linux上打游戏的好方法,让被捧在神坛上的Linux系统沾一沾人间烟火! 1. Steam 玩 Linux 原生游戏 够刺激 易用指数:★★★★ 丰富指数:★★★☆ 推荐指数:★★★★★ 特点:原生游戏玩不停,没有兼容层,性能完全不是问题。 Steam平台 玩游戏的应该都知道这个美国电子游戏上威尔乌(Valve Corporation)推出的数字发行平台,它也被称为“电脑游戏界最大的数字发行平台”。在Steam上面,用户可以看到各种类型的游戏,可以进行安装并实现游戏自动更新(当然,也包括游戏内语音、聊天、社区等功能应用)。42824283Linux上使用Steam虽然这个平台最初旨在windows系统上提供支持,但后来也开始研发Linux和Mac OS系统版本,在2013年3月,Valve终于正式宣布了Linux版本Steam的发布。如今,在Steam上已经能够找到很多基于Linux系统原生的游戏版本。Steam就是一个大型游戏分发平台,你能找到几乎所有热门游戏的Linux原生版(比如Dota2),堪称业界良心。而且部分游戏在同一硬件标准下,在Linux系统中的性能表现甚至优于windows,激动不~ 2. Wine:让 Linux 开起来像 Windows 易用指数:★★★ 丰富指数:★★★★ 推荐指数:★★★☆ 特点:Linux系统中的模拟器软件,更新速度较快。 Wine并非是“葡萄酒”,而是一个兼容层,最早是“Windows Emulator”,即Windows模拟器的缩写。它通过兼容曾来将原本的windows系统调用转换为POSIX的系统调用。简言之,就是让应用软件误以为你的Linux系统其实是个windows系统,进而平滑运行。 在反恐精英最流行的年代,利用Wine来在Linux上玩这款游戏曾经是Linux爱好者最擅长的事情。如今,我们依然能够看到这些安装介绍。 不同于Steam支持的原生软件,你可以用Wine来运行一些小游戏,那些受众比较少,游戏开发者不愿意再开发一个Linux版本的游戏。或许将它与Steam互补,是个不错的选择。4284安装Wine其实类似Wine的工具还有很多,比如CrossOver、PlayOnLinux等。但是都没有Wine的操作简单和便宜(Wine免费)。4285利用Wine玩windows游戏P.S:Wine也被作为Linux初学者转换两个平台的媒介,但是微软曾经通过多种手段对Wine进行封锁,如果要使用这个方式还是要考虑到兼容、性能、安全等方面的问题。 3. GoG.com:找到所有你需要的游戏 易用指数:★★★☆ 丰富指数:★★★★ 推荐指数:★★★☆ 特点:无需安装终端,支持中文和人民币结算。4286GoG.com万圣节主题 对于很多Linux初学者而言,安装软件也同样非常麻烦,所以,你可以选用这款GoG.com,因为他是一个Web网页版游戏平台,同时,你也可以将找到的游戏通过GoG.com下载到本地。 GoG.com最早成立于9年前,并称为“Good Old Game”,早期专注于怀旧风,只发布一下年代比较久的游戏,直到2012年才改变风格,将新款游戏融入到自己的平台上。 GoG.com的优势在于不但五重断免安装,同时还可以将自己喜欢的游戏安装到多个操作系统上,十分方便。值得一提的是,大概是看到中国游戏力量之大,GoG.com在今年6月22日起,加入了简体中文支持,将游戏名称译为了国内玩家比较熟悉的名称,另外在结算方式上也开始支持人民币结算,包括:支付宝,银联,微信,财付通等方式。 但在流畅度体验上, GoG.com受到国内网络限制,网速有时略显迟缓,建议网友可以将游戏下载到本地。 4. Linux游戏平台/网站的其他推荐 一旦入了Linux这个坑后,你会发现,大多数网友对“Linux没法玩游戏”是存在偏见的。除了上面这些值得单独拿出来推荐的游戏方式外, 还有很多不错的,甚至针对Linux游戏爱好者提供的游戏平台值得一试。 这里简单介绍: Portable Linux Games:这是一个方便你下载Linux游戏安装包的平台。它没有炫酷的页面,而是简单直接的将所有游戏名称、 版本号和下载链接提供给你,供你安装。但这里的缺点是游戏数量和更新频率不太快。4287Linux Game Database与上面的相似,也是一个专门针对Linux用户的游戏网页,你可以在里面下载需要的游戏安装包,还可以适当的与网友讨论一番。4288 Penguspy这是一个游戏资讯类网站,不仅拥有大量的游戏,还提供了评分标准。将游戏分类为:冒险类、动作类、解密类、音乐类和竞赛类多种形态。并提供youtube试玩视频。 5. 裂墙推荐:终其一生的 Linux 游戏 Nethack 有网友形容如果要详细介绍Nethack,恐怕洋洋洒洒写上几万字也不够。毕竟找到一个能够陪伴成长, 永远无法终结,又很有趣的游戏并没那么容易。 Nethack可以说是上世纪八十年代Roguelike单人游戏的延续。这类游戏大多根植于奇幻世界背景下,需要玩家在随机生成的地牢中探索、回合制、基于磁贴的图像(tile-based graphics)以及角色的永久死亡。如今最流行的Nethack就是一款单机Roguelike类型游戏(可以通过游戏内的邮件进行互动)。4289Nethack种族划分虽然已经有图形化版本的Nethack,但据说骨灰级玩家依然三十年如一日的沉迷在无数个“d、%、f、#、^”等符号中。4290Nethack 每一款游戏的风靡都有其内在的原因,比如真是的游戏体验、能够使人舒缓压力,或者只是一个时间消遣。但是,我们都知道游戏是有自己的生命周期。一般来讲,手游的生命周期在2年左右,端游会更长一些,一般在3-5年,但你一定没有见过30年后依然焕发着生命力的游戏。 Nethack这款游戏最初开发与1987年,经历了三十年后,如今仍是一款活跃在开源社区的游戏,其生命力可见一斑,三十年如一日也所言不虚。当然这款游戏在中国很难普及,毕竟目前还没有很好的汉化版本,图形化依然是主流,也缺乏Linux使用习惯。如果你感兴趣,可以去尝试一下,但切记不要沉迷游戏哦。
-
3888 此前曾报道过 Linux Mint 18.3 将以 Sylvia 为代号,虽然 18.3 尚未公布任何具体的发布日期,但我们预计将于 2017 年 12 月基于 Ubuntu 16.04.3 LTS 发布。 再见 , KDE 在每月的新闻更新中,Linux Mint 团队分享了一些有意思的更新。其中最大的亮点是这个对初学者友好的 Linux 发行版将停止使用 KDE 桌面。因此,Linux Mint 18.3 将是最后一个使用 KDE 桌面的版本。 Linux Mint 团队表示,希望这个选择能让开发团队有更多的时间和资源来开发 Cinnamon 版本的 Linux Mint,并为用户带来更加精细和良好的桌面体验。 LMDE 3 开发正在进行中 LMDE,Linux Mint Debian **,是基于 Debian 的 Linux 发行版,面向有经验的用户。它比 Mint 稍快,并运行着较新的软件包。 在解释 LMDE 的重要性时,开发团队写道:“对于 Linux Mint 来说,继续支持 LMDE 作为一个预备选项是很重要的,因为要以防 Ubuntu 发生故障,还要将其作为许多项目和技术的开发目标,来保证 Linux Mint 之外的兼容性。” 对于它的关注群体来说,有一个好消息:LMDE 3 正在开发中。正如预期的那样,它将基于 Debian Stretch,代号是“Cindy”。 用户期待的 LMDE 3 将在 2018 年第一季度以基于 Cinnamon 3.8 的单一版本方式发布。 参考:FOSSBYTES, Linux Mint Blog
-
本帖最后由 达康书记 于 2017-10-24 11:13 编辑在linux中切换用户时变成-bash4.1-$,经常可能出现这种现象的原因就是这个用户目录下缺少用户登入需要的环境配置文件.bash_profile .bashrc等。 -bash4.1-# -bash4.1-$ 解决办法:将/etc/skel/.bash*拷贝到对应用户目录下,如root用户/root或非root用户/home/$user-name。 [code][root@PEK1000134303 home]# ls /etc/skel/.bash* -lh -rw-r--r--. 1 root root 18 Mar 23 2017 /etc/skel/.bash_logout -rw-r--r--. 1 root root 176 Mar 23 2017 /etc/skel/.bash_profile -rw-r--r--. 1 root root 124 Mar 23 2017 /etc/skel/.bashrc [root@PEK1000134303 home]#cp /etc/skel/.bash* /root/ [root@PEK1000134303 home]#cp /etc/skel/.bash* /home/$user-name/[/code] 大家试试,是不是很神奇啊,呵呵。
-
原文出处: tecmint 译文出处:Linux中国/Linux-pdz 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧。 grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum)。 我发现使用现实世界中的真实例子让你投身其中是让你接触grep命令的最容易方式。
-
本帖最后由 燕姑娘 于 2017-10-9 17:46 编辑使用 Linux 最酷的事情之一就是随着时间的推移,你可以不断获得新的知识。每天,你都可能会遇到一个新的实用工具,或者只是一个不太熟悉的奇技淫巧,但是却非常有用。这些零碎的东西并不总是能够改变生活,但是却是专业知识的基础。 即使是专家,也不可能事事皆知。无论你有多少经验,可能总会有更多的东西需要你去学习。所以,在这儿我列出了七件关于 Linux 你可能不知道的事情。 一个查找命令历史的交互模式 你可能对 history 命令非常熟悉,它会读取 bash 历史,然后以编号列表的方式输出到标准输出(stdout)。然而,如果你在 curl 命令的海洋里寻找一个特定的链接(URL),那么这个列表并不总是那么容易阅读的。 你还可以有另一个选择,Linux 有一个交互式的反向搜索可以帮助你解决这个问题。你可以通过快捷键 ctrl+r启动交互模式,然后进入一个交互提示中,它将会根据你提供的字符串来向后搜索 bash 历史,你可以通过再次按下 ctrl+r 向后搜索更老的命令,或者按下 ctrl+s 向前搜索。 注意,ctrl+s 有时会与 XON/XOFF 流控制冲突,即 XON/XOFF 流控制也会使用该快捷键。你可以通过运行 stty -ixon 命令来禁用该快捷键。在你的个人电脑上,这通常是有用的,但是在禁用前,确保你不需要 XON/XOFF 。 Cron 不是安排任务的唯一方式 Cron 任务对于任何水平的系统管理员,无论是毫无经验的初学者,还是经验丰富的专家来说,都是非常有用的。但是,如果你需要安排一个一次性的任务,那么 at 命令为你提供了一个快捷的方式来创建任务,从而你不需要接触 crontab 。 at 命令的运行方式是在后面紧跟着你想要运行任务的运行时间。时间是灵活的,因为它支持许多时间格式。包括下面这些例子: 2567 当你以带参数的方式输入 at 命令以后,将会提示你该命令将在你的 Linux 系统上运行。这可能是一个备份脚本,一套维护任务,或者甚至是一个普通的 bash 命令。如果要结束任务,可以按 ctrl+d 。 另外,你可以使用 atq 命令查看当前用户的所有任务,或者使用 sudo atq 查看所有用户的任务。它将会展示出所有排定好的任务,并且每个任务都伴有一个 ID 。如果你想取消一个排定好的任务,可以使用 atrm 命令,并且以任务 ID 作为参数。 你可以按照功能搜索命令,而不仅仅是通过名字 记住命令的名字非常困难,特别是对于初学者来说。幸运的是,Linux 附带了一个通过名字和描述来搜索 man 页面的工具。 下次,如果你没有记住你想要使用的工具的名称,你可以尝试使用 apropos 命令加上你想要干的事情的描述。比如,apropos build filesystem 将会返回一系列名字和描述包括了 “build” 和 “filesystem” 单词的工具。 apropos 命令接受一个或多个字符串作为参数,但同时它也有其他参数,比如你可以使用 -r 参数,从而通过正则表达式来搜索。 一个允许你来管理系统版本的替代系统 如果你曾进行过软件开发,你就会明白跨项目管理不同版本的语言的支持的重要性。许多 Linux 发行版都有工具可以来处理不同的内建版本。 可执行文件比如 java 往往符号链接到目录 /etc/alternatives 下。反过来,该目录会将符号链接存储为二进制文件并提供一个管理这些链接的接口。Java 可能是替代系统最常管理的语言,但是,经过一些配置,它也可以作为其他应用程序替代品,比如 NVM 和 RVM (NVM 和 RVM 分别是 NodeJS 和 Ruby 的版本管理器)。 在基于 Debian 的系统中,你可以使用 update-alternatives 命令创建和管理这些链接。在 CentOS 中,这个工具就叫做 alternatives 。通过更改你的 alternatives 文件中的链接,你便可以安装一个语言的多个版本,并且在不同的情况下使用不同的二进制。这个替代系统也提供了对任何你可能在命令行运行的程序的支持。 shred 命令是更加安全的删除文件方式 我们大多数时候总是使用 rm 命令来删除文件。但是文件去哪儿了呢?真相是 rm 命令所做的事情并不是像你所想像的那样,它仅仅删除了文件系统和硬盘上的数据的硬链接。硬盘上的数据依旧存在,直到被另一个应用重写覆盖。对于非常敏感的数据来说,这会带来一个很大的安全隐患。 shred 命令是 rm 命令的升级版。当你使用 shred 命令删除一个文件之后,文件中的数据会被多次随机覆写。甚至有一个选项可以在随机覆写之后对所有的数据进行清零。 如果你想安全的删除一个文件并且以零覆盖,那么可以使用下面的命令: 2592 同时,你也可以使用 -n 选项和一个数字作为参数,从而指定在随机覆盖数据的时候迭代多少次。 通过自动更正来避免输入很长的无效文件路径 有多少次,你输入一个文件的绝对路径,然而却看到“没有该文件或目录”的消息。任何人都会明白输入一个很长的字符串的痛苦。幸运的是,有一个很简单的解决办法。 内建的 shopt 命令允许你设置不同的选项来改变 shell 的行为。设置 cdspell 选项是避免输入文件路径时一个字母出错的头痛的一个简单方式。你可以通过运行 shopt -s cdspell 命令来启用该选项。启用该选项后,当你想要切换目录时,会自动更正为最匹配的目录。 Shell 选项是节省时间的一个好方法(更不用说减少麻烦),此外还有许许多多的其他选项。如果想查看你的系统中所有选项的完整列表,可以运行不带参数的 shopt 命令。需要注意的是,这是 bash 的特性,如果你运行 zsh 或者其他可供选择的 shell,可能无法使用。 通过子 shell 返回到当前目录 如果你曾经配置过一个比较复杂的系统,那么你可能会发现你需要频繁的更换目录,从而很难跟踪你所在的位置。如果在运行完一个命令后自动返回到当前位置,不是很好吗? Linux 系统实际上提供了一个解决该问题的方法,并且非常简单。如果你想通过 cd 命令进入另一个目录完成一些任务,然后再返回当前工作目录,那么你可以将命令置于括号中。你可以在你的 Linux 系统上尝试下面这个命令。记住你当前的工作目录,然后运行: 2571 该命令会输出 /etc 目录的内容。现在,检查你的当前工作目录。它和执行该命令前的目录一样,而不是 /etc 目录。 它是如何工作的呢?运行一个括号中的命令会创建一个子 shell 或一个当前 shell 进程的复刻副本。该子 shell 可以访问所有的父变量,反之则不行。所以请记住,你是在运行一个非常复杂的单行命令。 在并行处理中经常使用子 shell ,但是在命令行中,它也能为你带来同样的力量,从而使你在浏览文件系统时更加容易。 作者简介: Phil Zona 是 Linux Academy 的技术作家。他编写了 AWS、Microsoft Azure 和 Linux 系统管理的指南和教程。他同时也管理着 Cloud Assessments 博客,该博客旨在帮助个人通过技术实现他们的事业目标。 来自:[color=rgb(61,177,88)]Linux中国 作者:[color=rgb(61,177,88)]PHIL ZONA
-
求教~{:2_25:}
人生苦短,我用Python 发表于2017-09-29 22:19:34 2017-09-29 22:19:34 最后回复 人生苦短,我用Python 2017-09-29 22:19:34
3252 0 -
非共享裸盘使用时划分过分区,对指定分区扩容,在线扩容可参考如下步骤。提示:i)fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。如果使用fdisk对大于2T的磁盘分区,虽然可以分区,但仅识别2T的空间,所以磁盘容量超过2T的话,就使用Parted工具来实现对GPT磁盘进行分区操作。 ii)fdisk和parted对同一个磁盘不可以交互使用,否则会导致分区的起始扇区不一致,从而导致数据出现问题。
-
近日,微软 SQL Server 最近达成一个新的里程碑,最新版SQL Server 2017 除了支持 Windows 平台,将首次登陆 Linux 平台,并且还支持 Docker。此举让用户(特别是企业用户)有了更多选择。2016 年 6 月份,微软就提前预告 SQL Server 将支持 Linux 平台近年来, SQL Server 正在一直演化,除了想一改 DMS(数据库管理系统)的角色,还想介入到数据分析、机器学习和数据科学领域。2017 年 4 月份, SQL Server 发布了一个重要组件,支持在 SQL Server 中用 Python 运行机器学习负载。借助这个特性,数据科学家直接操作处理储存在 SQL Server 的数据,不用数据迁移了。机器学习/数据科学领域内的另一种编程语言 R,SQL Server 在去年就整合了。更多细节,见 SQL Server 官方:https://www.microsoft.com/en-us/sql-server/sql-server-2017参考:VentureBeta、SQL Server
人生苦短,我用Python 发表于2017-09-28 15:43:11 2017-09-28 15:43:11 最后回复 人生苦短,我用Python 2017-09-28 15:43:11
3059 0 -
1、使用xshell通过EIP直接SSH 2433 2、接受并保存,按照“游览—>用户秘钥—>导入”导入xxx.pem秘钥对。 2434 2435 3、选择已导入的秘钥对登陆成功。 2436