Sam's Notes | Sam Blog

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

0%

主要内容

  • 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

主要内容

  • 文件基本权限
  • 文件高级权限

文件基本权限

查看文件权限

1
$ ll $filename

基本权限构成

1
2
$ ll text 
-rw-r--r-- 1 sam users 0 12月 1 15:20 text
- rw- r– r– sam users text(FILENAME)
类型 拥有者的权限 所属组的权限 其他人的权限 拥有者 属组 对象
阅读全文 »

写在一起之前: 命令行输入 vimtutor 你会有惊喜, 全部做完,恭喜你,入门了!!!!!!!!!

主要内容:
vim主要模式介绍
vim命令模式
vim插(输)入模式
vim命令(末)行模式
设置vim开发环境

主要模式

vim 主要有 命令模式 插(输)入模式 命令(末)行模式 三种模式, 意义和转换如下图:

阅读全文 »

目录

  • Linux系统目录结构
  • 相对/绝对路径
  • 创建/复制/删除文件
  • 查看文件内容
  • xfs文件系统的备份和恢复

目录结构

详细的可以参考 鸟哥

目录 应放置文件内容
/ 通常称为根分区。所有的文件和目录皆由此开始。只有root用户对此目录拥有写权限。
/boot 存放Linux系统启动时需要加载的文件。 (一般在单独的一个磁盘分区里面保存) Kernel、grub等文件都存放在此。
/etc RHEL6中主要存放服务的配置文件,RHEL7中,以/usr/lib/systemd/system进行代替
/var 是一个可增长的目录,包含很经常变的文件。例如,/var/log(系统日志)、/var/lib (包文件)
/root 管理员所有数据。 root用户的家目录
/tmp 临时文件存储位置
/usr unix software source, 放置是所有系统默认的软件(distribution发布者提供的软件),有点类似Windows 系统的『C:\Windows\ + C:\Program files\』这两个目录的综合体,鸟哥的链接有次级目录的说明
/opt 给第三方协力软件放置的目录,自行安装额外的软件(非原本的distribution提供的)
/bin 此目录包含二进制可执行文件,在单人维护模式下还能够被操作
/sbin 系统命令 ,此目录中的命令主要供系统管理员使用,为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令,常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/mnt 暂时挂载某些额外的装置
/media 放置的就是可移除的装置啦! 包括软盘、光盘、DVD等等装置都暂时挂载于此。
/dev 包含设备文件。在Linux中,一切都被看做文件。终端设备、USB、磁盘等等都被看做文件
/home 普通用户所有数据存放在这个目录下
/proc 本身是一个『虚拟文件系统(virtual filesystem)』放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边装置的状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间啊!比较重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。
/lib 系统最基本的动态链接共享库,尤其重要的是/lib/modules/这个目录, 因为该目录会放置核心相关的模块(驱动程序)
阅读全文 »

基础知识

每个linux发行版有不一致,本文以rhel7.1 为准。

  • 图形界面和字符界面相互切换
    linux终端tyy1 ~ tyy6, tyy1 就是图形界面;
    Ctrl + Alt + F1~6 (根据笔记本灵活试试)

  • 虚拟终端 Terminal pts
    Ctrl + shift + T (在Terminal焦点中才起作用,可看看terminal的菜单)

阅读全文 »

参考是否受到 ddos

  • sh
    1
    2
    3
    netstat -ntu | awk '{print $5}' | cut -d: -f1          | sort | uniq -C | sort -n
    netstat -ntu | awk '{print $5}' | cut -d: -f4 | sort | uniq -C | sort -n
    # 截取外网ip 端口号 | 截取外网ip 以:为分割符 | 排序 |排除相同记录|排序并统计
    阅读全文 »

管理系统依赖
统一依赖的来源和版本,保持开发环境一致,避免莫名错误

管理项目生命周期
构建,编译,测试,发布,更新版本。。。。

阅读全文 »