坚实的幻想

ON A CLEAR DISK YOU CAN SEEK FOREVER

DNS 与 BIND

DNS 简述 DNS 的全称是 Domain Name System,DNS 负责主机名字之间和互联网络地址之间的映射,在我们上网或者发送电子邮件的时候,一般都会使用主机名而不是 IP 地址,因为前者更容易记忆,但是对于计算机,使用数字(IP 地址)则更为方便。DNS 能够帮助我们将主机名转换成计算机更容易识别的 IP 地址。从而完成主机之前的通信。 DNS 发展史 20 世纪 60年代...

加密、解密以及 openssl

OpenSSL Intro

安全的目标 信息加密是为信息安全服务的,信息作为一种有价值的资产,需要保护,免受攻击。 为了保证信息的安全,通常需要实现三个安全目标:机密性、完整性和可用性。 机密性 机密性是指保护信息的机密性,阻止非法访问。 通常有两种攻击威胁到信息的机密性:嗅探和流量分析。因此信息需要以某种方式加密,这样即使信息泄漏,非授权的用户也无法获得信息的内容。 完整性 完整性的是指保护信息被他人非法...

Linux Kickstart 自动安装

Unattended installation with kickstart

从系统安装说起 在 RHEL,CentOS,Fedora 等系统中,安装系统使用的程序名叫 anaconda,它属于 FedoraProject,由 Python 开发,能够提供图形或者文本界面用于系统安装。 在安装系统之前,计算机的硬件上可能是没有操作系统的,因此为了能够运行安装程序,需要一个临时的操作系统,引导开机,启动安装程序,在使用光盘安装操作 linux 系统(这里特指 RHEL...

Linux 进程的管理与监控

Process Management

这篇文章主要讲 Linux 中进程的概念和进程的管理工具。 进程的概念 什么是进程 进程(Process)是计算机中程序执的实体。程序通常是由指令和相关数据组成的,在 Linux 系统中,程序的运行通常是由用户通过一个命令行解释器(例如 bash shell)发起执行,或者由其他进程派生而来。 进程标识符 每个进程都有一个非负整数表示的唯一标识符,进程运行时 PID 是由操作系统随机分配...

我的 2014 书单

Book list of 2014

2014 年是我工作的第一年,这一年的进步还是很明显的,阅读是最好的知识获取方式。临近年终,总结一下今年读过的书,其中大部分是在 kindle 上阅读的,一部分英文书是在电脑上阅读的 PDF 版本,还有几本纸质书。 有了 kindle 之后开始大量阅读电子书,人文类书籍适合看 epub/mobi 电子版本,多看,亚马逊这些书城已经可以覆盖大部分的常见书了。PDF 版本的书非常适合英文版的技...

Cacti 使用中无数据的问题的总结

Debug in Cacti

Cacti 是 PHP 开发的网页程序,它能够周期性的执行能够取得数据的命令,并将取回的数据保存至 RRD 文件中,并利用 RRDtool 绘图并展示至网页中。 Cacti 的着眼点就是,收集某一时间的具体数据,并根据数据绘图,展示一个具体的走势,因此它的重点是绘图展示,而不是监控报警。 RRDtool Cacti 底层使用 RRDtool 工具来进行数据的保存和图形的绘制,RRDto...

Linux 共享库指南

Shared Library in Linux

初学 Linux 时,常常被系统中各种库文件和链接弄得摸不着头脑,它们分别有什么作用?本文解释了 Linux 中使用共享库时的约定与行为。 动态库和静态库 库文件是编译好的程序,这类程序通常没有执行入口,需要其他程序的调用才会执行。 Linux 中的 so(shared object,共享对象) 也叫做动态链接库,在 Linux 中是一系列以 .so 为后缀名(后面可能还跟有版本号)的...

Linux 性能优化之 IO 子系统

Dive into IO subsystem

本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具。 本文的大部分内容来自 IBM Redbook - Linux Performance and Tuning Guidelines FileSystem VFS(Virtual FileSystem) 虚拟文件系统 文件系统是内核的功能,是一种工作在内核空间的软件,访问一个文件必须要需要...

JVM 基本指南

小白学JVM

本文概述了 Java 虚拟机 JVM 的基本概念,原文为 Java Virtual Machine: the Essential Guide ,由本人翻译,若有疏漏望海涵。 Java Virtual Machine: the Essential Guide Introduction Java 虚拟机是一个 Java 应用程序的执行环境。一般来说,JVM 是按照某些规范和参数定义的一个抽...

MySQL 运行环境优化(Linux)

小白的数据库调优指北

数据库系统通常是企业的核心应用,因此针对运行 MySQL 的 Linux 系统通常需要进行一些特殊的优化。 本人非 MySQL 大牛,本文不涉及 MySQL 参数优化,仅对 Linux 系统优化进行一些总结。 CPU 现代操作系统都是多任务多用户的操作系统,服务器能够支持的CPU数量也越来越多,对于多CPU的服务器有多种架构,常见的是 NUMA 和 SMP. SMP SMP 即 S...