陈日志 发布的文章

1、Linux启动过程概述

1.1、启动过程

启动过程.png

上图中,有 GRUB、GRUB2、init、systemd 等几个概念,下面做一下简单的说明。

GRUB2 相较于 GRUB 的提升:更健壮、可移植、更强大。支持 Legacy BIOS、EFI 和 OpenFirmware,支持 GPT 和 MBR 分区表。支持非 Linux 系统,如苹果 HFS 文件系统和 Windows 的 NTFS 文件系统。

systemd 被设计用来改进 sysvinit 的缺点,它和 Ubuntu 的 upstart 是竞争对手,然而从 Ubuntu 15.04 开始,Ubuntu 开始逐步使用 systemd 替代 Upstart 初始化系统。

systemd 的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。systemd 尽可能减少对 shell 脚本的依赖。传统 sysvinit 使用 inittab 来决定运行哪些 shell 脚本,大量使用 shell 脚本被认为是效率低下无法并行的原因。systemd 使用了 Linux 专属技术,不再顾及 POSIX 兼容。

- 阅读剩余部分 -

定时备份和实时备份

说到备份,无疑于定时备份和实时同步备份。定时备份可以通过脚本或者Crontab来实现,而实时同步备份可以通过某些接口监控文件的各种变化情况来实现的(比如内核接口inotify);通过对比可以发现对数据信息要求高的环境使用实时同步备份可以更好更有利的保护数据的安全性。

软件介绍之rsync

rsync说明

rsync 远程同步,同步是把数据从缓冲区同步到磁盘上去的、数据在内存缓存区完成之后还没有写入到磁盘中去、所以有时候要同步到磁盘中去的,而rsync说白了和复制差不多、能将一个文件从一个地方复制到另外一个地方的、但是他也可以实现跨主机复制,兼具了cp和scp的功能,但是在跨主机时不具备scp的加密功能。

rsync有一个特点,就是当你用rsync复制或跨主机复制时如果另一端也有一个同名的文件,他会先对比两个数据的md5码是不是一致,如果不一致就会复制,并覆盖,如果一致他将不会复制,所以这是一个快速复制工具,尤其是同步目录时,特别好用。

- 阅读剩余部分 -

内核简介

  • 内核的功能

    1. 进程管理:通过task_struct, scheduler 实现
    2. 内存管理
    3. I/O管理:中断以及中断处理
    4. 文件系统管理:ext3,ext4,xfs 等
    5. 驱动程序
    6. 安全相关:SELinux,各种加密库
    7. 通用软件,平台相关软件
  • 内核设计流派

    1. 单内核:单一体系结构

      1. linux 为单一内核
      2. 模块化设计:核心+外围功能性模块
      3. 外围模块:,ko结尾的 kernel object。通常在/lib/modules 下面的各目录中
      4. 内核支持动态装在模块
    2. 微内核:多内核子系统 (windows, solaris)
    3. fork() 用户空间内核的管理:

      1. init :负责用户空间进程的管理
      2. init :PID 为1,第一个用户空间的任务
      3. 所在目录: /sbin/init:

系统初始化流程

- 阅读剩余部分 -

原文出处: xmodulo 译文出处:linux.cn - geekpi

很多情况下,你可能需要在Linux下屏蔽IP地址。比如,作为一个终端用户,你可能想要免受间谍软件或者IP追踪的困扰。或者当你在运行P2P软件时。你可能想要过滤反P2P活动的网络链接。如果你是一名系统管理员,你可能想要禁止垃圾IP地址访问你们的公司邮件服务器。或者你因一些原因想要禁止某些国家访问你的web服务。在许多情况下,然而,你的IP地址屏蔽列表可能会很快地增长到几万的IP。该如何处理这个?

- 阅读剩余部分 -

通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。
tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。

一、带有最常用选项的tr命令格式为:

tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

- 阅读剩余部分 -