Linux系统总结05

一、Python开发平台: Ubuntu

  • Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,基于GNU/Linux,支持x86,amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。专业的Python开发者一般会选择Ubuntu系统作为生产平台。

  • Ubuntu和CentOS都是基于GNU/Linux内核的,因此基本使用和CentOS几乎一样,它们的各种指令基本上可以通用。

  • Ubuntu的root用户:

    1. 安装Ubuntu成功后都是普通用户权限,并没有最高root权限,如果需要使用root权限的时候通常都会在命令前加上:sudo 指令。
    2. 一般使用:su 指令来切换到root用户,但是如果没有给root设置初始密码,就会抛出:su:Authentication failure这样的问题。所以需要给root用户设置一个初始密码。
    3. 给root用户设置密码并使用:
      ① 输入:sudo passwd 命令,设定root用户密码;
      ② 设定root用户密码成功后,输入:su 指令,并输入刚才设定的root密码,就可以切换成root用户了;【提示符:“$” 代表一般用户;“#” 代表root用户】
      ③ 输入exit命令,就可以退出root用户,返回到一般用户。
  • Ubuntu下开发Python:

    1. Ubuntu自带python的开发环境,通过 python3 指令可以查看当前系统安装的python版本。
    2. 可以通过 python3 指令执行.py文件,运行python代码。
  • apt软件管理和远程登录:

    1. apt是Advanced Packaging Tool的简称,是一款安装包管理工具。在Ubuntu下,可以使用apt指令进行软件包的安装、删除、清理等操作,类似于Windows的软件管理工具。
      在这里插入图片描述

    2. Ubuntu软件操作的相关指令:

      指令说明
      sudo apt-get update更新源
      sudo apt-get install package安装包
      sudo apt-get remove package删除包
      sudo apt-cache search package搜索软件包
      sudo apt-cache show package获取包的相关信息
      sudo apt-get install package --reinstall重装包
      sudo apt-get -f install修复安装
      sudo apt-get remove package --purge删除包,包括配置文件等
      sudo apt-get build-dep package安装相关编译环境
      sudo apt-get upgrade更新已安装的包
      sudo apt-get dist-upgrade升级系统
      sudo apt-cache depends package了解使用该包依赖哪些包
      sudo apt-cache rdepends package查看该包被哪些包依赖
      sudo apt-get source package下载该包的源代码
    3. 远程登录Ubuntu:使用SSH服务。
      ① SSH为Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所指定;SSH为建立在应用层和传输层基础上的安全协议。SSH是目前比较可靠的,专为远程登录会话和其他网络服务提供安全性的协议,常用于远程登录,几乎所有的Linux/Unix平台都可以运行SSH。
      ② 使用SSH服务需要安装相应的服务器和客户端。客户端和服务器的关系:如果A机器想被B机器远程控制,那么A机器需要安装SSH服务器,B机器需要安装SSH客户端。
      ③ 和CentOS不一样,Ubuntu默认没有安装SSHD服务(可以使用netstat -anp指令查看;使用apt install net-tools可以安装netstat指令),因此不能进行远程登录。
      在这里插入图片描述
      ④ 通过 sudo apt-get install openssh-server 来安装SSH服务。执行指令后,在当前Linux上就安装了SSH服务端和客户端。
      ⑤ service sshd restart :启动SSH服务,并监听22端口。
      ⑥ 在Windows系统下可以通过Xshell工具远程登录到Ubuntu系统。

    4. 从一台Linux系统远程登录到另一台Linux系统:(在创建服务器集群时会使用到该技术)
      ① 基本语法: ssh 用户名@ip。例如:ssh hspedu@192.168.200.222。
      ② 使用ssh访问,如果出现访问错误,可以查看是否有该文件:~/.ssh/known_ssh ,尝试删除该文件解决。一般不会有问题。
      ③ 登出命令:exit 或者 logout。

  • Linux日志管理:

    1. 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。日志对于安全来说非常重要,记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。(日志是记录重大事件的工具

    2. /var/log/ 目录就是系统的日志文件的保存位置。
      在这里插入图片描述

    3. 系统常用的日志:

      日志文件文件说明
      /var/log/boot.log系统启动日志
      /var/log/cron记录与系统定时任务相关的日志
      /var/log/cups/记录打印信息的日志
      /var/log/dmesg记录系统在开机时内核自检的信息。使用dmesg指令直接查看内核自检信息
      /var/log/btmp记录错误登录的日志。二进制文件,需使用 lastb 指令查看
      /var/log/lasllog记录系统所有用户最后一次的登录时间日志。二进制文件
      /var/log/mailog记录邮件信息的日志
      /var/log/message记录系统重要信息的日志。会记录Linux系统的绝大多数重要信息,如果系统出现问题,首先应该检查该日志文件
      /var/log/secure记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录。比如系统的登录、ssh的登录、su切换用户、sudo授权等等
      /var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。二进制文件
      /var/tun/ulmp记录当前已经登录的用户信息。这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。该文件需要使用w、who、users等指令查看
    4. 日志管理服务:rsyslogd (CentOS7.6的日志服务)【CentOS6.x的日志服务是 syslogd】
      ① rsyslogd 功能强大,且能和syslogd兼容。
      ② 查询Linux的rsyslogd服务是否启动:ps aux | grep “rsyslogd” | grep -v “grep”。
      ③ 查询rsyslogd服务的自启动状态:systemctl list-unit-files | grep rsyslog。

    5. 配置文件:/etc/rsyslog.conf。
      ① 编辑日志时的格式为:*.*,其中第一个*代表日志类型,第二个*代表日志级别。
      ② 日志的类型分为:

      日志类型类型说明
      authpam产生的日志
      authprivssh、ftp等登录信息的验证信息
      corn时间任务相关
      kern内核
      lpr打印
      mail邮件
      mark(syslog)-rsyslog服务内部的信息,时间标识
      news新闻组
      user用户程序产生的相关信息
      uucpunix to nuix copy主机之间相关的通信
      local 1-7自定义的日志设备

      ③ 日志级别分为:从上到下,级别从高到底,记录的信息越来越少。

      日志级别级别说明
      debug有调试信息的,日志通信多的
      info一般信息日志,最常用
      notice最具有重要性的普通条件的信息
      warning警告级别
      err错误级别,阻止某个功能或者模块不能正常工作的信息
      crit严重级别,阻止整个系统或者整个软件不能正常工作的信息
      alert需要立刻修改的信息
      emerg内核崩溃等重要信息
      none什么都不记录
    6. 由日志服务rsyslogd记录的日志文件包含的格式:
      ① 事件产生的时间;
      ② 产生事件的服务器的主机名;
      ③ 产生事件的服务名或程序名;
      ④ 事件的具体信息。
      以secure文件为例:
      在这里插入图片描述

  • 日志轮替:就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧的日志文件超出保存的范围之后,就会进行删除。

    1. 日志轮替文件命名:CentOS7使用logrotate进行日志轮替管理,要想改变日志轮替文件名字,通过 /etc/logrotate.conf 配置文件中 “dateext” 参数;

    2. 如果配置文件中有 “dateext” 参数,那么日志会用日期来作为日志文件的后缀,例如:“secure-20201010”。这样日志文件名不会重叠,也就不需要日志文件的改名,只需要指定保存日志个数,删除多余的日志文件即可;

    3. 如果配置文件中没有 “dateext” 参数,日志文件就需要进行改名了。当第一次进行日志轮替时,当前的 “secure” 日志会自动改名为 “secure.1” ,然后新建 “secure” 日志,用来保存新的日志。当第二次进行日志轮替时,“secure.1” 会自动改名为 “secure.2” ,当前的 “secure” 日志会自动改名为 “secure.1” ,然后也会新建 “secure” 日志,用来保存新的日志,依次类推。

      在这里插入图片描述

    4. logrotata.conf 日志文件的参数说明:

      日志参数参数说明
      daily日志的轮替周期是每天
      weekly日志的轮替周期是每周
      monthly日志的轮替周期是每月
      rotate 数字保留的日志文件的个数,0指没有备份
      compress日志轮替时对旧的日志进行压缩
      create mode owner group建立新的日志,同时指定新日志的权限与所有者和所属组
      mail address当日志轮替时,输出内容通过邮件发送到指定的邮件地址
      missingok如果就日志不存在,则忽略该日志的警告信息
      notifempty如果日志文件为空文件,则不进行日志的轮替
      minsize 大小日志轮替的最小值,日志一定要达到这个最小值才会轮替
      size 大小日志只有大于指定大小才进行日志轮替,而不是按照时间轮替
      dateext使用日期作为日志轮替文件的后缀
      sharedscripts在此关键字之后的脚本只执行一次
      prerotate/endscript在日志轮替之前执行脚本命令
      postrotate/endscript在日志轮替之后执行脚本命令
    5. 把自己的日志加入到日志轮替:
      ① 第一种方式:直接在 /etc/logrotate.conf 配置文件中写入该日志的轮替策略。
      ② 第二种方式:在 /etc/logrotate.d/ 目录中新建该日志的轮替文件,在该轮替文件中写入正确的轮替策略,因为该目录中的文件会被 “include” 到主配置文件中,所以也可以把日志加入轮替。(推荐使用第二种,因为系统中需要轮替的日志非常多,如果全部直接写到logrotate.conf文件中,那么这个文件的可管理性就会非常差,不利于此文件的维护。)

    6. 日志轮替机制的原理:日志轮替之所以能在指定时间备份日志,是依赖系统的定时任务。在 /etc/cron.daily/ 目录,就会发现这个目录下有 logrotate 文件(可执行),logrotate 通过这个文件依赖定时任务执行的。
      在这里插入图片描述
      在这里插入图片描述

    7. 查看内存日志:journalctl [选项]。常用选项:

      选项说明
      -n 3查看最新3条
      –since 19:00 --until 19:10:10查看起始时间到结束时间的日志 可加日期
      -p err报错日志
      -o verbose日志详细内容
      _PID=1245 _COMM=sshd查看包含这些参数的日志

      【注意:journalctl 查看的是内存日志,重启清空】

  • Linux系统的启动流程:

    1. 首先Linux要通过自检,检查硬件设备有没有故障;
    2. 如果有多块启动盘的话,需要在BIOS中选择启动磁盘;
    3. 启动MBR中的 bootloader 引导程序;
    4. 加载内核文件;
    5. 执行所有进程的父进程,老祖宗systemd;
    6. 欢迎界面。

二、使用步骤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值