Sam's Notes | Sam Blog

梦想还是要有的,万一实现了呢

0%

目录

  • 磁盘简介
  • 文件系统架构
  • 硬链接和软链接
  • xfs和ext 文件系统
  • 磁盘加密

磁盘简介

磁盘管理的一般步骤:
添加设备 –> 分区 –> 格式化(创建文件系统) –> 创建挂载点 –> 挂载 –> 修改配置文件

目录

  • 分区
  • 挂载
  • 卸载
  • 扩展swap

磁盘分区

按磁盘的大小,采用不同的方式。磁盘容量小于4T, 建议使用MBR分区;大于等于4T,采用GPT分区。

阅读全文 »

目录

  • 重定向
  • 管道|
  • 文件查找

重定向

文件描述符

文件描述符:内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

linux下一切皆文件。
STDIN 标准输入 文件描述符为:0 如:键盘文件
STDOUT 标准输出 文件描述符为:1 如:屏幕终端
STDERR 错误输出 文件描述符为:2 如:屏幕终端

阅读全文 »

目录

进程管理

程序与进程:
程序是静态的(文件),进程是动态的(运行的程序)。

进程和线程:
一个程序至少有一个进程,一个进程至少有一个线程.
进程之间内存是独立
线程之前内存共享 ,高并发好一些 。 安全性差一些。

阅读全文 »

文件归档和解压缩

file

  • 作用:file 确定 filetype
  • 用法:file /etc/passwd
    注:linux系统不根据后缀名识别文件类型,用file命令查看文件的类型。
1
2
3
4
5
[sam1@localhost xuegod]$ file a
a: directory
[sam1@localhost xuegod]$ file p.txt
p.txt: ASCII text
[sam1@localhost xuegod]$

tar命令

  • 作用:打包、压缩文件
  • 用法:tar [z/j][c/x][vf] archive文件名 源文件(目录)
    压缩方式: z=gz压缩; j=bz2压缩
    类型: c=归档(压缩); x:解压
    v:详细
    f:filename
    1
    2
    [root@localhost ~]# tar -zcvf grub1.tar.gz /boot/grub2/
    [root@localhost ~]# tar -jcvf grub2.tar.bz2 /boot/grub2/

zip

  • 作用:zip是压缩程序,unzip是解压程序。
  • 用法:zip [-r] 文件源(/目录)
    unzip archive文件名
    1
    2
    [root@localhost ~]# zippasswd.zip /etc/passwd #压缩文件:
    [root@localhost ~]# zip-r grub2.zip /boot/grub2/ # -r 压缩目录

主要内容

  • rpm管理软件
  • yun管理软件
  • 源码管理软件

rpm管理软件

rpm (Redhat package manager)

  • 作用:管理rpm包
  • 语法:rpm 【选项】 包名
    参数
    -i, –install install package(s)
    -v, –verbose 详细 provide more detailed output
    -h, –hash print hash marks as packageinstalls (good with -v) #安装时打印散列标记#号
    -q, –query 查询选项
    -U, –upgrade=+ 升级软件包
    -e, –erase=+ 清除 (卸载) 软件包

rpm包

  • 来源
    独立下载或光盘镜像
1
2
3
#挂载光盘:
[root@localhost ~]# umount /dev/sr0
[root@localhost ~]# mount /dev/sr0 /mnt/
  • 包名意义
    zsh-5.0.2-7.el7.x86_64.rpm
zsh -5 .0 .2 -7 x86 64
软件名 主版本号 此版本号 修订号 release(第几次发布版本) CPU架构系统平台 支持的系统位数

rpm安装

[root@localhost ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

安装时,如果需要解决依赖关系。上rpm包相关的网站上找
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html

rpm查询

  • 查询zsh软件是否安装
    [root@localhost ~]# rpm -q zsh
    zsh-5.0.2-7.el7.x86_64

  • 查询系统所有安装过的rpm软件
    [root@localhost ~]# rpm -qa

    [root@localhost ~]# rpm -qa | grep zsh
    zsh-5.0.2-7.el7.x86_64

  • 查询zsh这个软件安装后,产生了那些文件和目录
    [root@localhost ~]# rpm -ql zsh | more

  • zsh这个文件是那个软件安装的
    [root@localhost ~]# rpm -qf which zsh
    zsh-5.0.2-7.el7.x86_64

  • 在软件没有安装之前进行查看

    1
    2
    3
    4
    [root@localhost ~]# rpm -qpl /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
    warning:/mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature,key ID fd431d51: NOKEY
    /usr/bin/rb
    /usr/bin/rx

查看一个包的作用,凡是加上p则表示查询的包未安装。若查询已安装的包则去掉p

rpm升级

[root@localhost ~]# rpm-Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

rpm卸载

[root@localhost ~]# rpm -e zsh                      只写软件包的名字,不用写版本号

rpm签名验证

导入RPM-GPG-KEY安装rpm包时,对rpm的签名进行验证。验证的原理是:非对称加密。 导入公钥。验证rpm中的签名是否是对的。

[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 

YUM管理软件

YUM,自动装软件包(软件包管理),解决依赖关系问题、自动下载软件包。基于C/S架构。

YUM源

YUM 基于C/S架构, 软件需要来源,即 YUM源。 可以分为 ftp http file(本地yum源) 三类。

例如 : 配置本地yum源
/etc/yum.repos.d/ 目录下新建 xxxx.repo 文件

1
2
3
4
5
6
[root@localhost ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7-yum] #yum源名称,唯一的,用来区分不同的yum源
name=rhel7-source #对yum源描述信息
baseurl=file:///mnt #yum源的路径(repodata目录所在的目录)
enabled=1 #为1,表示启用yum源
gpgcheck=0 #为1,使用公钥检验rpm的正确性

YUM使用

  • yum安装

    [root@localhost ~]# yum install zsh
    

    选项 :-y #回答yes 取消交互

    [root@localhost ~]# yum -y install mariadb-server
    
  • yum安装一组软件包

    [root@localhost ~]# yum group list
    [root@localhost ~]# yum group install "Security Tools"
    
  • yum查询

    [root@localhost ~]# yum list z*
    [root@localhost ~]# yum search zsh
    
  • yum删除

    [root@localhost ~]# yum remove  zsh
    
  • 清空yum缓存

    [root@localhost ~]# yum clean all
    
  • yum生成列表

    [root@localhost ~]# yum list
    

源码管理软件

make

前提:系统必须安装:开发工具、开发库

步骤:

  1. 获得源码包

  2. 解压
    tar

  3. 配置,检测安装环境
    ./configure –prefix=path #检查安装环境是否符合需求,如果没有问题,生成:Makefile文件, –prefix 参数 指定安装路径。这样删除或备份时,直接对删除这个目录操作就可以了。

  4. 编译
    make -j n (编译时会读取Makefile文件) n 为电脑cpu核数 -2 , 并发编译

  5. 安装
    make install

  6. 删除
    make uninstall

  7. 再次编译
    make clean

例:安装软件包extundelete-0.2.4.tar.bz2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@localhost ~]# tar jxvf extundelete-0.2.4.tar.bz2

[root@localhost ~]# cd extundelete-0.2.4/

#指定安装路径
[root@localhostextundelete-0.2.4]# ./configure --prefix=/usr/local/extundelet
Configuring extundelete0.2.4
configure: error: Can'tfind ext2fs library

[root@localhostextundelete-0.2.4]# yum -y install e2fsprogs-devel

[root@localhostextundelete-0.2.4]# ./configure --prefix=/usr/local/extundelet
Configuring extundelete0.2.4
Writing generated filesto disk

#编译安装
[root@localhostextundelete-0.2.4]# make && make install

[root@localhostextundelete-0.2.4]# make uninstall
Making uninstall in src
( cd '/usr/local/bin' && rm -fextundelete )

#删除时只需删除路径即可:
[root@localhost local]#rm -rf extundelet-rm/

安装.src.rpm源码包的方法

  • 编译
    将src.rpm中源码文件编译成可执行的二进制文件。

    rpmbuild --rebuild  lrzsz-0.12.20-27.1.el6.src.rpm
    

若顺利执行成功则会在root用户根目录下生成一个: rpmbuild目录。在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el6.x86_64.rpm这个rpm文件。

  • 安装

接下来就是rpm的安装过程。

  [root@localhostx86_64]# rpm  -e lrzsz
  [root@localhostx86_64]# rpm -vih lrzsz-0.12.20-27.1.el7.x86_64.rpm

软件安装方法比较

rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。 LAMP,LNMP