duzhuo's-blog

学无止境

Linux 软件管理

关键词:rpm, yum, apt-get

1. rpm

rpm 命令是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

参考:http://man.linuxde.net/rpm

示例:

(1)安装 rpm 包

rpm -ivh xxx.rpm

(2)安装.src.rpm 软件包

这类软件包是包含了源代码的 rpm 包,在安装时需要进行编译

rpm -i xxx.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp xxx.specs             #一个和你的软件包同名的specs文件
cd /usr/src/redhat/BUILD/xxx/      #一个和你的软件包同名的目录
./configure                        #这一步和编译普通的源码软件一样,可以加上参数
make
make install
阅读全文 »

Linux 系统管理

关键词:lsb_release, reboot, exit, shutdown, date, mount, umount, ps, kill, systemctl, service, crontab

1. Linux 系统管理要点

  • 查看 Linux 系统发行版本
    • 使用 lsb_release(此命令适用于所有的 Linux 发行版本)
    • 使用 cat /etc/redhat-release(此方法只适合 Redhat 系的 Linux)
  • 查看 CPU 信息 - 使用 cat /proc/cpuinfo
  • 重新启动 Linux 操作系统 - 使用 reboot
  • 退出 shell,并返回给定值 - 使用 exit
  • 关闭系统 - 使用 shutdown
  • 查看或设置系统时间与日期 - 使用 date
  • 挂载文件系统 - 使用 mount
  • 取消挂载文件系统 - 使用 umount
  • 查看系统当前进程状态 - 使用 ps
  • 删除当前正在运行的进程 - 使用 kill
  • 启动、停止、重启、关闭、显示系统服务(Centos7),使用 systemctl
  • 启动、停止、重启、关闭、显示系统服务(Centos7 以前),使用 service
  • 管理需要周期性执行的任务,使用 crontab

2. 命令常见用法

2.1. lsb_release

lsb_release 不是 bash 默认命令,如果要使用,需要先安装。

安装方法:

  1. 执行 yum provides lsb_release,查看支持 lsb_release 命令的包。
  2. 选择合适版本,执行类似这样的安装命令:yum install -y redhat-lsb-core-4.1-27.el7.centos.1.x86_64

2.2. reboot

阅读全文 »

Linux 用户管理

关键词:groupadd, groupdel, groupmod, useradd, userdel, usermod, passwd, su, sudo

1. Linux 用户管理要点

  • 创建用户组 - 使用 groupadd
  • 删除用户组 - 使用 groupdel
  • 修改用户组信息 - 使用 groupmod
  • 创建用户 - 使用 useradd
  • 删除用户 - 使用 userdel
  • 修改用户信息 - 使用 usermod
  • 设置用户认证信息 - 使用 passwd
  • 切换用户 - 使用 su
  • 当前用户想执行没有权限执行的命令时,使用其他用户身份去执行 - 使用 sudo

2. 命令常见用法

2.1. groupadd

groupadd 命令用于创建一个新的用户组,新用户组的信息将被添加到系统文件中。

参考:http://man.linuxde.net/groupadd

示例:

# 建立一个新组,并设置组 ID 加入系统
$ groupadd -g 344 jsdigname

2.2. groupdel

阅读全文 »

Linux 典型运维应用

💡 如果没有特殊说明,本文的案例都是针对 Centos 发行版本。

网络操作

无法访问外网域名

(1)在 hosts 中添加本机实际 IP 和本机实际域名的映射

echo "192.168.0.1 hostname" >> /etc/hosts

如果不知道本机域名,使用 hostname 命令查一下;如果不知道本机实际 IP,使用 ifconfig 查一下。

(2)配置信赖的 DNS 服务器

执行 vi /etc/resolv.conf ,添加以下内容:

nameserver 114.114.114.114
nameserver 8.8.8.8
阅读全文 »

时间服务器 - NTP

一、NTP 简介

网络时间协议(英语:Network Time Protocol,缩写:NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于 OSI 模型的应用层。自 1985 年以来,NTP 是目前仍在使用的最古老的互联网协议之一。NTP 由特拉华大学的 David L. Mills(英语:David L. Mills)设计。

NTP 意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒的误差内

NTP 要点:

  • 地球共有 24 个时区,而以格林威治时间 (GMT) 为标准时间;
  • 中国本地时间为 GMT +8 小时;
  • 最准确的时间为使用原子钟 (Atomic clock) 所计算的,例如 UTC (Coordinated Universal Time) 就是一例;
  • Linux 系统本来就有两种时间,一种是 Linux 以 1970/01/01 开始计数的系统时间,一种则是 BIOS 记载的硬件时间;
  • Linux 可以透过网络校时,最常见的网络校时为使用 NTP 服务器,这个服务启动在 udp port 123
  • 时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考 /etc/localtime
  • NTP 服务器为一种阶层式的服务,所以 NTP 服务器本来就会与上层时间服务器作时间的同步化, 因此 nptdntpdate 两个指令不可同时使用;
  • NTP 服务器的联机状态可以使用 ntpstatntpq -p 来查询;
  • NTP 提供的客户端软件为 ntpdate 这个指令;
  • 在 Linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w 来写入 BIOS 所记录的时间。
  • NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。

更多 NTP 详情可以参考:鸟哥的 Linux 私房菜– NTP 时间服务器

二、ntpd 服务

环境:CentOS

yum 安装

阅读全文 »

Samba 应用

samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件。

samba 提供了在不同计算机(即使操作系统不同)上共享服务的能力。

关键词:samba, selinux

1. 安装配置 samba

本文将以一个完整的示例来展示如何配置 samba 来实现 Linux 和 Windows 的文件共享。

目标:假设希望共享 Linux 服务器上的 /share/fs 目录。

1.1. 查看是否已经安装 samba

  • CentOS:rpm -qa | grep samba
  • Ubuntu:dpkg -l | grep samba

1.2. 安装 samba 工具

  • CentOS:yum install -y samba samba-client samba-common
  • Ubuntu:sudo apt-get install -y samba samba-client

1.3. 配置 samba

阅读全文 »

Systemd 应用

搬运自:Systemd 入门教程:命令篇Systemd 入门教程:实战篇

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。

本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。

1. 由来

历史上,Linux 的启动一直采用init进程。

下面的命令用来启动服务。

$ sudo /etc/init.d/apache2 start
# 或者
$ service apache2 start

这种方法有两个缺点。

一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。

阅读全文 »

Vim 应用

1. 概念

1.1. 什么是 vim

Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。

1.2. Vim 的模式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)插入模式(Insert mode)底线命令模式(Last line mode)

1.2.1. 命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。

1.2.2. 插入模式

阅读全文 »

oh-my-zsh 应用

1. Zsh 简介

1.1. Zsh 是什么

使用 Linux 的人都知道:*Shell_ 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言

Shell 的类型有很多种,linux 下默认的是 bash,虽然 bash 的功能已经很强大,但对于以懒惰为美德的程序员来说,bash 的提示功能不够强大,界面也不够炫,并非理想工具。

Zsh 也是一种 Shell(据传说 99% 的 Bash 操作 和 Zsh 是相同的),它的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,出现了一个名叫 oh-my-zsh 的开源项目,使用 zsh 就变得十分简易了。

2. Zsh 安装

2.1. 环境要求

  • CentOS 6.7 64 bit
  • root 用户

2.2. 安装 zsh

阅读全文 »
0%