-
本帖最后由 那个逻辑先生 于 2018-1-17 10:23 编辑本套笔试题共100题,每题1分,共100分。(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统 C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 2. 在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ? A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机 3. 下面哪个Linux命令可以一次显示一页内容? A. pause B. cat C. more D. grep 4. 怎样了解您在当前目录下还有多大空间? A. Use df B. Use du / C. Use du . D. Use df . 5. 怎样更改一个文件的权限设置? A. attrib B. chmod C. change D. file 6. 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) ,您可以执行: A. rpm -q /etc/my.conf B. rpm -requires /etc/my.conf C. rpm -qf /etc/my.conf D. rpm -q | grep /etc/my.conf 7. 假如当前系统是在 level 3 运行,怎样不重启系统就可转换到 level 5 运行? A. Set level = 5 B. telinit 5 C. run 5 D. ALT-F7-5 8. 那个命令用于改变 IDE 硬盘的设置? A. hdparam B. ideconfig C. hdparm D. hddparm 9. 下面哪个命令可以列出定义在以后特定时间运行一次的所有任务? A. atq B. cron C. batch D. at 10.下面命令的作用是:set PS1="[\u\w\t]\\$" ; export PS1 A. 改变错误信息提示 B. 改变命令提示符 C. 改变一些终端参数 D. 改变辅助命令提示符 11.作为一个管理员,你希望在每一个新用户的目录下放一个文件 .bashrc ,那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。 A. /etc/skel/ B. /etc/default/ C. /etc/defaults/ D. /etc/profile.d/ 12.在bash中,export命令的作用是: A. 在子shell中运行命令 B. 使在子shell中可以使用命令历史记录 C. 为其它应用程序设置环境变量 D. 提供NFS分区给网络中的其它系统使用 13.在使用了shadow口令的系统中,/etc/passwd和/etc/shadow两个文件的权限正确的是: A. -rw-r----- , -r-------- B. -rw-r--r-- , -r--r--r-- C. -rw-r--r-- , -r-------- D. -rw-r--rw- , -r-----r-- 14.下面哪个参数可以删除一个用户并同时删除用户的主目录? A. rmuser -r B. deluser -r C. userdel -r D. usermgr -r 15.有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行一次,下面哪条crontab的项可以完成这项工作? A. 0 13,20 * * 1,5 mybackup B. 0 13,20 * * 1,2,3,4,5 mybackup C. * 13,20 * * 1,2,3,4,5 mybackup D. 0 13,20 1,5 * * mybackup 16.如何从当前系统中卸载一个已装载的文件系统 A. umount B. dismount C. mount -u D. 从 /etc/fstab 中删除这个文件系统项 17.如果你的umask设置为022,缺省的你创建的文件的权限为: A. ----w--w- B. -w--w---- C. r-xr-x--- D. rw-r--r-- 18.在一条命令中如何查找一个二进制命令 Xconfigurator 的路径? A. apropos Xconfigurator B. find Xconfigurator C. where Xconfigurator D. which Xconfigurator 19.哪一条命令用来装载所有在 /etc/fstab 中定义的文件系统? A. amount B. mount -a C. fmount D. mount -f 20.运行一个脚本,用户不需要什么样的权限? A. read B. write C. execute D. browse on the directory
-
本帖最后由 霁月 于 2018-1-10 14:38 编辑提示:i)fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。如果使用fdisk对大于2T的磁盘分区,虽然可以分区,但仅识别2T的空间,所以磁盘容量超过2T的话,就使用Parted工具来实现对GPT磁盘进行分区操作。ii)fdisk和parted对同一个磁盘不可以交互使用,否则会导致分区的起始扇区不一致,从而导致数据出现问题。1、 查看当前裸盘信息i)查看裸盘容量信息:ii)查看裸盘挂载信息iii)在test目录下写入一个文件1.txt,并记录md5值2、登陆控制台i)找到对应云主机ii)点击左侧云主机名称,进行云主机详情页面并点击EVS标签页需要扩容卷左侧图标,展开卷详情信息 iii)点击卷ID跳转至对应云盘详情界面,点击扩容,增加5G,如下:3、登陆云主机查看裸盘容量4、查看文件系统容量(未发生变化)5、将文件系统mount路径进行umount6、删除需要扩容的分区7、执行partprobe将新的分区表变更同步至操作系统 partprobe8、执行e2fsck用于文件系统的检查9、执行resize2fs增大文件系统容量10、重新对扩容的裸盘进行mount11、查看文件系统容量以及数据是否与之前保持一致查看文件md5值,与之前保持一致。附录1:磁盘每个字段含义说明附录2:如何确认之前分区是通过parted还是fdisk进行划分的
-
本帖最后由 霁月 于 2018-1-10 14:59 编辑非共享裸盘使用时未划分过分区,只对裸盘进行格式化后使用,在线扩容可参考如下步骤。1、 查看当前裸盘信息i)查看裸盘容量信息:ii)查看裸盘挂载信息iii)在test目录下写入一个文件1.txt,并记录md5值2、登陆控制台i)找到对应云主机ii)点击左侧云主机名称,进行云主机详情页面并点击EVS标签页需要扩容卷左侧图标,展开卷详情信息iii)点击卷ID跳转至对应云盘详情界面,点击扩容,增加10G,如下:3、登陆云主机查看裸盘容量 4、查看文件系统容量(未发生变化)5、将文件系统mount路径进行umount 6、执行e2fsck用于文件系统的检查7、执行resize2fs增大文件系统容量 8、重新对扩容的裸盘进行mount9、查看文件系统容量以及数据是否与之前保持一致查看文件md5值,与之前保持一致。
-
目前 ECS 实例的磁盘已经支持在线扩容,无需购买新磁盘来增加 LVM 单个分区的大小。注意:· 新增空间创建新分区,起始柱面不会是 1。· 本文档介绍的操作只作为标准情况下的示例。如果您有特殊的分区配置,由于使用场景千差万别,无法逐一枚举,需要您自行结合实际情况进行处理。操作方法如下: [*]控制台操作磁盘扩容后,可看到磁盘已经是 6G(原有大小 5G)。 但是系统内 fdisk -l /dev/xvdb 查看还是5G大小。2、 系统中将已经挂载的分区取消挂载。3、取消逻辑卷的激活状态。4、运行 fdisk -l /dev/xvdb 可以看到磁盘空间变大了。5、运行 fdisk /dev/xvdb 对磁盘进行分区操作,添加一个分区并保存。6、运行 fdisk -l /dev/xvdb 。此时有两个分区,分别是 /dev/xvdb1和 /dev/xvdb2。 7、将新增的分区加入到卷组中,vgdisplay 可以看到 Free PE 有多出来。8、运行 lvextend -l +256 /dev/data/lv_data 增加空间,vgdisplay 可以查看到 Free PE 为空了。9、运行 resize2fs /dev/data/lv_data 变更分区大小10、挂载分区可以查看到空间变大了,原有数据还在。注意:操作示例中 data 是 VG 名称,lv_data 是逻辑卷名称,请根据实际情况填写。
-
本帖最后由 码小玩 于 2017-12-29 14:22 编辑一、GitHub 发布开源指南 GitHub 在今年2月14日的发布了声明,宣布一个以开源方法论为主旨的全新站点诞生,旨在为开发者和企业提供开源的软件工程方法论。一时之间,受各路追捧。开源之道也是第一时间,以布道汉语世界为己任,有幸成为了简体中文的维护者。地址是:开源指南。 尽管从某种程度上讲,我们都是开源的受益者,但是,开源依旧需要更多的人参与进来,而开源指南无疑能够帮助人们少走弯路,正确的认识开源,在为开源做贡献的同时,收获自己想要的。对于个人也好,企业也罢,都是获利的一方。还在犹豫什么?放手去干吧! 二、Docker 公司商业化,切出项目Moby Docker 作为PaaS平台dotCloud的衍生品,以重新包装Linux的容器而风靡开发者圈,完全重新定义了软件的交付方式。自2013年第一个版本发布起,发展非常迅速。不仅吸引了众多IT大鳄的青睐,而且很快成为了Linux容器的生态事实上的标准。 但是,Docker本身的商业化道路一直都备受关注,正当很多基于Docker的创业公司和产品层出不穷,急着变现的时候,比如国内很多基于容器的云公司,如红帽的OpenShiftV3的PaaS平台,以及公有云AWS、Azure、GCE等都似乎利用容器赚了个盆满钵满,然而,很多人开始为Docker公司着急了,害怕他成为当年Sun公司的Java,大家都在赚钱,唯独最初的原创者找不到合理的模式。 有资本界的朋友是如此评价Docker的: Docker走出如此的路数一点也不意外,从微软的收购未果而言,说明后面已经有资本和运营的人在预估了,一定是比微软更高的价格来计算的。这说明有业界的高手在帮助Docker的商业化,在恰当的时间做恰当的事,是一个企业能够成功的标志性事件。 三、Google 针对开源专门设立了站点Opensource.google.com Google 似乎正在改变自己在业内的高冷形象,从 Kubernetes 的社区运营,再到今年即将参与RedHat Summit 2017,乃至这次新开源站点的建立,都在应验着开放战略,试图扳回在云计算市场的失利。再比如Spanner的服务、以及免费为开发者提供资源等具体的产品和服务。其中一定有商业因素的考量,但我们始终认为Google的信条,以及他对开源独特的理解,所以宁愿相信他的情怀:Google 开源项目部不仅仅是让Google的软件变得更好——他们更加热衷于通过开源改变世界。 四、GitHub 发布2017 开源调查 GitHub联合学术界、开源社区、以及软件界,搞了一次大规模的调查。目标一部分来自于GitHub上的仓库,超过3800个,随机询问了5500个开发者,而在其它的开源社区则是定向的500个调查。 结论值得所有人深思: 文档的呼声最高,却通常是最被忽略的那个 负面的活动虽然不频繁,但是却最容易被放大 女性的参与相对非常的少 使用和参与开源的绝大多数来自商业公司雇员 人们在选择软件时,默认会优先采用开源 五、LinuxCon正式入华,Linus承诺会每年来中国一次 Linux基金会的会议主办历经坎坷,终于顺利的完成了自己的首秀,为各位开源界的人们交出了满意的答卷。这对于本土是有着极具影响力的!其对于社会、业界的影响是非常之深远的。 在最后的关闭短暂讲话中,Jim Zemlin说到,Linux基金会承诺超过十年将落地中国、扎根中国、支持中国的开源事业发展,并和大家说“我们明年见,明年Linus仍然会来。” 六、Linux基金会发布企业开源指南 既然是企业,就需要有企业的思路,企业的精髓在于管理,在于指导。正如其副标题所言:“运营开源项目办公室 ”,毋宁说开源需要系统的逐步的进行,对于企业来讲,涉及到的部门颇多。因为它直接关系到企业的文化。 开源的重点并不在于方法论,而是在于人们的认知,如果人们的思维方式仍然停留在上个世界8、90年代微软、甲骨文崛起时期,那么开源基本上很难施行和实践。在庞大的经济环境面前,开源确实仍然没有浮出水面被大众所认知,至少本土的现实情形是如此。但是如果没有方法论,事情会是一筹莫展。 七、中国开源年会第一次全程以开源领导力为议题组织会议 7967 作为本土草根组织的会议,第一次以方法论、开源治理为话题,成功举办了以开源领导力为议题的会议,内容涉及本土顶级开源项目孵化的故事等。 这次大会总共1,108人次到场,在线视频观众总计2,284人,参加了接近60位大牛讲师的5场主题演讲,45场分会场演讲,6场动手训练营,5场嘉宾对谈/观众问答,而来自五湖四海的50位可爱的志愿者们,热情地为讲师与观众们服务。 八、CNCF的崛起 就在上一周,作为SaaS的大佬——SalesForce加入了CNCF,这家Linux基金会下属的非盈利组织,最初由Google的贡献的Kubernetes项目而生,渐渐的形成了云原生应用、微服务的生态系统。三大公有云厂商AWS、Azure、Google均号称原生支持。连传统厂商RedHat的OpenShift直接切换,直接革了CloudFoundry的命。如此成功仿佛坐上火箭般的开源项目,前几年有OpenStack。 九、微软成为GitHub企业排名榜首 在GitHub今年的宇宙大会上总结了一些内容:GitHub 2017的数据,微软,这家曾经视开源为毒瘤的公司,以实际行动证明了自己拥抱开源的决心。当然,就更不用提其在Azure云平台上发布的各种基于开源项目的产品和服务了。 十、Ubuntu 将桌面系统换回Gnome Ubuntu有着无与伦比的全球开发者和用户社区,产品涉足云平台、服务器、桌面、移动端、项目托管、部署平台等,但是几年下来,开始渐渐的有些力不从心,上个月大变动。那么从社区运营、参与、开源软件上下游等视角来分析一下,它犯了那些不应该犯的错? Unity的出现,而其它Linux桌面是推动Gnome3的,这导致了Ubuntu和整个其余的Linux产生了巨大的分歧。和Launchpad、Juju一样,Ubuntu再次将自己的打包者和开发者陷入了孤立,没有上游社区的支持来稳定供应链。这也就意味着,Canonical开发人员再次成为软件的唯一开发者和维护者,这进一步压缩了Canonical欲扩而不能的资源。 十一、Linux完全征服超算 全球公有云上运行的负载有90%是Linux操作系统,在嵌入式市场的占有率是62%,而在超算的市场占有率更是达到了99%,还有,它运行在世界上超过82%的智能手机中,也是所有公有云厂商的主要支撑服务器(90%)。 但是从技术和工程、协作、治理的角度讲,Linux 内核是人类史上的奇迹。其背后蕴含的哲学、方法都是我们值得挖掘的宝库。 十二、Linux Journal在经营23年之后,选择退出历史舞台 这是一个不怎么为人所知的围绕Linux相关技术的杂志,在前不久宣布停刊。但是我认为这是一件值得庆贺的事情,说明Linux已经是默认的信息技术的基石。 Linux成为IT从业人员的常识,GitHub的项目多达6千7百万,开源的时代已经降临。 结语 今年我听到的对于开源总结的最好的一句话作为本文的结尾,也是对开源之道未来展望。 “开源让中国与世界更加同步。” ——吴晓敏(Forrest大中华区副总裁)
-
本帖最后由 os_center_online 于 2017-12-27 11:14 编辑-------------------------------------------------------------------------------------------------------------------------------------- 问题现象 Linux启动后切面提示 Give root password for maintenance (or type Contron-D to continue): 如下图 7785 ------------------------------------------------------------------------------------------------------------------------------------ 问题原因 检查进入维护模式的上面的原因,发现这里提示 fsck.ext4: no such file or directory while trying to open /dev/xvdb 错误,此类错误主要有两种情况: 1. 挂载的磁盘分区未写入到 /etc/fstab文件 2. 实际挂载的磁盘分区与写入到/etc/fstab里面信息不对应 (比如,磁盘分区为 /dev/xvdb1,写入到/etc/fstab文件的却是 /dev/vdb1) 解决方案 1. 根据提示输入root密码进入维护模式,使用fdisk -l查看磁盘的实际分区,该案例中实际的磁盘分区为/dev/vdb 7787 2. 查看/etc/fstab文件,检查配置的磁盘挂载信息,检查此案例系统的配置,发现里面的配置有两处错误 a. 分区与实际分区不一致,实际磁盘分区为 /dev/vdb ,文件中为 /dev/xvdb b. 开机磁盘自检参数错误(1 3) (第5列数字0代表不备份,1代表备份,第6列 0代表开机不自检,1或者2代表开机自检,根分区为1) 7786 3. 根据实际分区将磁盘挂载信息写入到/etc/fstab中,保存:wq 退出, 7788 如果编辑/etc/fstab文件时无法写入文件,使用命令 mount -o rw,remount / 重新挂载下根分区 如果是忘记写入/etc/fstab可使用 history | grep mount 及 history | grep mkfs 查看挂载记录,或者直接咨询租户
-
本帖最后由 达康书记 于 2017-12-20 11:04 编辑WinSCP 是一个Windows 环境下使用的SSH 的开源图形化 SFTP 客户端。简单来说就是WinSCP可以直接通过SSH链接你的华为云linux服务器,然后进行文件的复制操作,并且可以直接编辑文件。这样我们就不需要安装FTP之类的软件了。如果我们需要把文件上传到华为云linux服务器上一般是需要安装FTP软件的,但是用WinSCP就可以通过SSH上传文件了。 下面我们演示一下怎么样用WinSCP上传文件到华为云linux服务器上。 前提: [*]一台安装有WinSCP的windows电脑 https://winscp.net/eng/download.php [*]一台华为云linux服务器 [*]保证安全组规则放行22端口 方法/步骤: 1、启动WinSCP 7092 2、打开WinSCP;输入linux服务器信息 7093 3、点击登录 7094 4、登录成功 7095 5、找到并选中你要上传或下载的文件 7096 6、右键选择需要上传或下载的文件即可搞定
-
本帖最后由 写代码的贺大师 于 2017-11-29 14:29 编辑命令功能说明线上查询及帮助命令 (2 个)man查看命令帮助,命令的词典,更复杂的还有 info,但不常用。help查看 Linux 内置命令的帮助,比如 cd 命令。—help 也可以使用文件和目录操作命令 (18 个)ls全拼 list,功能是列出目录的内容及其内容属性信息。常用的是 llcd全拼 change directory,功能是从当前工作目录切换到指定的工作目录。cp全拼 copy,其功能为复制文件或目录。find查找的意思,用于查找目录及目录下的文件。mkdir全拼 make directories,其功能是创建目录。mv全拼 move,其功能是移动或重命名文件。pwd全拼 print working directory,其功能是显示当前工作目录的绝对路径。rename用于重命名文件。rm全拼 remove,其功能是删除一个或多个文件或目录。rmdir全拼 remove empty directories,功能是删除空目录。touch创建新的空文件,改变已有文件的时间戳属性。tree功能是以树形结构显示目录下的内容。basename显示文件名或目录名。dirname显示文件或目录路径。chattr改变文件的扩展属性。lsattr查看文件扩展属性。file显示文件的类型。md5sum计算和校验文件的 MD5 值。查看文件及内容处理命令(21 个)cat全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。tactac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。more分页显示文件内容。less分页显示文件内容,more 命令的相反用法。head显示文件内容的头部。tail显示文件内容的尾部。常用的是tail -f动态显示文件追加的内容cut将文件的每一行按指定分隔符分割并输出。split分割文件为不同的小片段。paste按行合并文件内容。sort对文件的文本内容排序。uniq去除重复行。oldboywc统计文件的行数、单词数或字节数。iconv转换文件的编码格式。dos2unix将 DOS 格式文件转换成 UNIX 格式。diff全拼 difference,比较文件的差异,常用于文本文件。vimdiff命令行可视化文件比较工具,常用于文本文件。rev反向输出文件内容。grep/egrep过滤字符串,三剑客老三。join按两个文件的相同字段合并。tr替换或删除字符。vi/vim命令行文本编辑器。文件压缩及解压缩命令(4 个)tar打包压缩。oldboyunzip解压文件。gzipgzip 压缩工具。zip压缩工具。信息显示命令(11 个)uname显示操作系统相关信息的命令。hostname显示或者设置当前系统的主机名。dmesg显示开机信息,用于诊断系统故障。uptime显示系统运行时间及负载。stat显示文件或文件系统的状态。du计算磁盘空间使用情况。df报告文件系统磁盘空间的使用情况。top实时显示系统资源使用情况。free查看系统内存。date显示与设置系统时间。cal查看日历等时间信息。搜索文件命令(4 个)which查找二进制命令,按环境变量 PATH 路径查找。find从磁盘遍历查找文件或目录。whereis查找二进制命令,按环境变量 PATH 路径查找。locate从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新库。用户管理命令(10 个)useradd添加用户。usermod修改系统已经存在的用户属性。userdel删除用户。groupadd添加用户组。passwd修改用户密码。chage修改用户密码有效期限。id查看用户的 uid,gid 及归属的用户组。su切换用户身份。visudo编辑 / etc/sudoers 文件的专属命令。sudo以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。基础网络操作命令(11 个)telnet使用 TELNET 协议远程登录。ssh使用 SSH 加密协议远程登录。scp全拼 secure copy,用于不同主机之间复制文件。wget命令行下载文件。ping测试主机之间网络的连通性。route显示和设置 linux 系统的路由表。ifconfig查看、配置、启用或禁用网络接口的命令。ifup启动网卡。ifdown关闭网卡。netstat查看网络状态。ss查看网络状态。深入网络操作命令(9 个)nmap网络扫描命令。lsof全名 list open files,也就是列举系统中已经被打开的文件。mail发送和接收邮件。mutt邮件管理命令。nslookup交互式查询互联网 DNS 服务器的命令。dig查找 DNS 解析过程。host查询 DNS 的命令。traceroute追踪数据传输路由状况。tcpdump命令行的抓包工具。有关磁盘与文件系统的命令(16 个)mount挂载文件系统。umount卸载文件系统。fsck检查并修复 Linux 文件系统。dd转换或复制文件。dumpe2fs导出 ext2/ext3/ext4 文件系统信息。dumpext2/3/4 文件系统备份工具。fdisk磁盘分区命令,适用于 2TB 以下磁盘分区。parted磁盘分区命令,没有磁盘大小限制,常用于 2TB 以下磁盘分区。mkfs格式化创建 Linux 文件系统。partprobe更新内核的硬盘分区表信息。e2fsck检查 ext2/ext3/ext4 类型文件系统。mkswap创建 Linux 交换分区。swapon启用交换分区。swapoff关闭交换分区。sync将内存缓冲区内的数据写入磁盘。resize2fs调整 ext2/ext3/ext4 文件系统大小。系统权限及用户授权相关命令(4 个)chmod改变文件或目录权限。chown改变文件或目录的属主和属组。chgrp更改文件用户组。umask显示或设置权限掩码。查看系统用户登陆信息的命令(7 个)whoami显示当前有效的用户名称,相当于执行 id -un 命令。who显示目前登录系统的用户信息。w显示已经登陆系统的用户列表,并显示用户正在执行的指令。last显示登入系统的用户。lastlog显示系统中所有用户最近一次登录信息。users显示当前登录系统的所有用户的用户列表。finger查找并显示用户信息。内置命令及其它(19 个)echo打印变量,或直接输出指定的字符串printf将结果格式化输出到标准输出。rpm管理 rpm 包的命令。yum自动化简单化地管理 rpm 包的命令。watch周期性的执行给定的命令,并将命令的输出以全屏方式显示。alias设置系统别名。unalias取消系统别名。date查看或设置系统时间。clear清除屏幕,简称清屏。history查看命令执行的历史纪录。eject弹出光驱。time计算命令执行时间。nc功能强大的网络工具。xargs将标准输入转换成命令行参数。exec调用并执行指令的命令。export设置或者显示环境变量。unset删除变量或函数。type用于判断另外一个命令是否是内置命令。bc命令行科学计算器系统管理与性能监视命令 (9 个)chkconfig管理 Linux 系统开机启动项。vmstat虚拟内存统计。mpstat显示各个可用 CPU 的状态统计。iostat统计系统 IO。sar全面地获取系统的 CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU 中断和网络等性能数据。ipcs用于报告 Linux 中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。ipcrm用来删除一个或更多的消息队列、信号量集或者共享内存标识。strace用于诊断、调试 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。ltrace命令会跟踪进程的库函数调用, 它会显现出哪个库函数被调用。关机 / 重启 / 注销和查看系统信息的命令(6 个)shutdown关机。halt关机。poweroff关闭电源。logout退出当前登录的 Shell。exit退出当前登录的 Shell。Ctrl+d退出当前登录的 Shell 的快捷键。进程管理相关命令(15 个)bg将一个在后台暂停的命令,变成继续执行 (在后台执行)。fg将后台中的命令调至前台继续运行。jobs查看当前有多少在后台运行的命令。kill终止进程。killall通过进程名终止进程。pkill通过进程名终止进程。crontab定时任务命令。ps显示进程的快照。pstree树形显示进程。nice/renice调整程序运行的优先级。nohup忽略挂起信号运行指定的命令。 也可以使用screenpgrep查找匹配条件的进程。runlevel查看系统当前运行级别。init切换运行级别。service启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
-
问题背景在产品研发过程中,由于多个用户操作服务器,产品在使用过程中,出现了异常;这个异常可能是产品自身的异常;也可能是用户在后台操作触发的异常; 为了更好的定位和排查问题;需要对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命令的最容易方式。
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签