Linux的markdown笔记软件,linux第十天笔记(markdown格式)

# Linux第十天

“`bash

rpm -qf ….

“`

“`bash

yum provides ….

“`

批量编译

C,C++:make项目管理器

configure脚本–》makefile.in–》makefile

makefile.in是模板文件

makefile中记录了将来的程序路径

java:maven

我们需要告诉configure脚本哪些功能启用,哪些功能不启用

## C语言源代码编译安装三步骤:

##### 1.、configure

+ 1,通过选项传递参数,指定启用特性,安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile

+ 2.检查依赖到的外部环境, 如依赖的软件包

##### 2.make 根据makefile文件,构建应用程序

##### 3.make install复制文件到相应路径

#### 开发工具:

autoconf:生成configure脚本

automake:生成makefile.in

注意:安装前查看install,readme

建议建立一个src文件夹放源

./configure下:–prefix=PREFIX(放在哪个文件夹里面)

“`bash

make -j 4 开启四个cpu同时编译

“`

“`bash

/etc/profile.d/env.sh添加:

PATH=/app/bin:$PATH

“`

很多大软件使用源码编译

centos6安装2.2httpd

centos7安装2.4httpd

centos6.2在185天的时候会自动重启

### centos6编译过程复习:

“`bash

preparation:

c6:

service iptables off

chkconfig iptables off

setenforce 0

c7:

systemctl stop firewalld;systemctl disable firewalld

关闭selinux

setenforce 0

vim /etc/selinux/config

SELINUX=diabled

yum groupinstall “development tools”

yum install -y openssl-devel

download src

tar xfv

cd httpd-….

cat README,INSTALL….

./configure –help

./configure –prefix…. –sysconfdir…–enable…

make -j 4 && make install (&& echo -e “\a”)

vim /etc/profile.d/env.sh

(add PATH)

touch /etc/profile.d/env.sh

echo ‘PATH=/app/bin:$PATH’ >> /etc/profile.d/env.sh

apachectl start

“`

作业:一键安装2.4.25httpd脚本(c7

一键安装脚本c6编译安装httpd2.2.34(容易)

升级:根据版本选择安装的内容

代码如下:

“`shell

#!/bin/bash

#

#********************************************************************

#Author: JacobAustin Chen(7)

#QQ: 356303202

#Date: 2018-04-21

#FileName: autoinstallhttpd.sh

#URL: http://jacobchenblog.wordpress.com

#Description: I love sh more than yesterday!

#Copyright (C): 2018 All rights reserved

#********************************************************************

#作业:一键安装2.4httpd脚本(c7

#一键安装脚本c6编译安装httpd2.34(容易)

#升级:根据版本选择安装的内容

echo “For shutting down selinux when start up, you should modify the config file!”

iptables -F

setenforce 0

lsb_release -a >> /dev/null

[ $? -ne 0 ] && echo “pls install lsb firstly!” && exit 1

wget -V

[ $? -ne 0 ] && echo “pls install wget firstly!” && exit 1

ver0=`lsb_release -a | head -4 | tail -1 | tr -s ” ” | sed -r “s/Release:[[:space:]]*//” `

ver=${ver0:0:1}

#To judge if the system version is 6 or 7

if [ $ver -eq 6 ] ; then

#shutdown firewalls

chkconfig iptables off

yum groupinstall “development tools”

yum install -y openssl-devel

wget http://archive.apache.org/dist/httpd/httpd-2.2.34.tar.bz2

tar xvjf httpd-2.2.34.tar.bz2

cd ./httpd-2.2.34/

./configure –prefix=/app –sysconfdir=/etc/httpd2 –enable-ssl

make -j 2 && make install && echo -e “\a” && sleep 1 && echo -e “\a”

touch /etc/profile.d/env.sh

echo ‘PATH=/app/bin:$PATH’ >> /etc/profile.d/env.sh

source /etc/profile.d/env.sh

apachectl start

elif [ $ver -eq 7 ] ; then

#shutdown firewalls

systemctl disable firewalld

yum groupinstall “development tools”

yum install -y openssl-devel

#download tar.bz2

wget http://archive.apache.org/dist/httpd/httpd-2.4.25.tar.bz2

tar xvf httpd-2.4.25.tar.bz2

cd httpd-2.4.25/

./configure –prefix=/app –sysconfdir=/etc/httpd2 –enable-ssl

make -j 2 && make install && echo -e “\a” && sleep 1 && echo -e “\a”

touch /etc/profile.d/env.sh

echo ‘PATH=/app/bin:$PATH’ >> /etc/profile.d/env.sh

source /etc/profile.d/env.sh

apachectl start

else

echo “Error!”

fi

“`

搭一个服务器,在脚本中带上源码地址命令

“`bash

curl http://testsrv/install.sh | bash

“`

导入man帮助文件:

在man conf中写入路径地址

## 重点:rpm,yum,源码编译

## 磁盘存储和文件

默认设备文件都在/dev下

c打头的:字符文件

块设备:block,存取单位“块”,磁盘

字符设备:Char,存取单位“字符”,键盘

设备(b或c文件类型)号码:

主设备号:major number,标识设备类型

次设备号:minor number,标识

如果cp sda,则是复制硬盘中的文件,如果要复制设备,需要加上-a

“`bash

mknod /data/sdA b 8 1

创建设备文件,并写下设备号

“`

在linux中,插入硬盘,硬盘有很多接口类别:IDE,SCSI,SATA,SAS.USB

速度各不相同

6Gbps=~750MB/s

rhel5中把ide硬盘命名为hd*

centos6开始所有硬盘都叫sd*

硬盘磁盘:外圈是0磁道,内圈越来越大

每个扇区的数据容量是512字节

ZBR:内圈放的扇区数和外圈放的扇区数不一样,但不便于计算,用软件计算的时候还是和非ZBR类似

磁头数=盘面数=盘片数*2

**磁头head**

磁道track,正面反面都有,一个盘片有两个同磁道数的磁道,次要关注

**扇区 sector**

**柱面 cylinder**

**磁盘三围:CHS(8G以内可以依靠这个标准)**

一个磁道里面有多少个扇区?

一个磁道里面消耗6bit来存放扇区个数(64个)

8bit –>head (256)

10bit–》track–》cylinder

24位寻址技术(6+10+8)

“`

512*63*1024*255=8GB

“`

### LBA=logical block addressing(超过8G必须使用这个标准),最大128PB

目前最大的硬盘容量还是TB单位

##### 使用磁盘

1.分区

2.创建文件系统:格式化

3.挂载:分配目录名

如果不执行以上步骤,只能放二进制

##### 具体如何实现三大步?

##### 磁盘分区

为什么分区

1.优化IO性能

2.实现磁盘空间配额限制

3.提高修复速度

4.隔离系统和程序

5.安装多个OS

6.采用不同文件系统

分区:8M的整数倍

GPT分区可以超越主分区+逻辑分区<=4的限制

BIOS+MBR

UEFI+GPT

#### 管理分区

“`bash

lsblk 列出块设备

gdisk 创建gpt分区

fdisk 创建mbr分区

parted 高级(实时生效

partprobe

“`

RHCE的坑:记得跳过硬盘分区的扇区缝

注意用fdisk分区的名字不稳定,尽可能在配置文件中不要写分区名,

**centos5,7可以用partedprobe同步硬件软件的分区表**

**centos6使用partedprobe可能出现bug**

centos6可以使用

使用partx -a ….在增加分区的时候使用

使用partx -d –nr (6-8) …. 在减少分区的时候使用

centos6中,fdisk记得增加和减少分区的时候分开操作/同步!

工作中不要随意重启!

****

fdisk看的是硬盘分区表,lsblk和cat /proc/partitions 查看的是内存中的分区表

id的修改可以看做是注释,但最好修改以示严谨

区别文件的最终基准看i node

windows本用户加密过的文件只有本机本用户才能打开(ntfs系统

windows还有压缩

支持的文件系统列表

“`bash

/lib/module/`uanme -r`/kernel/fs

“`

RAW文件系统:没有文件系统,只有二进制,性能卓越,但难以迁移和管理

cache:针对读操作

buffer:针对写操作

mkfs -t ext4 /dev/sdb1 ( centos6)

或mkfs.ext4 ….

uuidgen:生成uuid

blkid不关心块挂载与否

df 只显示已经挂载上的设备

vfat不支持权限和所属用户/组

tune2fs -l … 列出文件系统属性

tune2fs -o …

tune2fs 不适用于xfs

centos7手工创建的分区会默认加上ACL

win:簇;linux:块

文件所占据的最小单位

为了性能好,大块,如果都是小文件,小块(看具体情况

# 今天:编译,分区管理

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96869

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值