yum #cd /etc/yum.repos.d
#yum repolist(在 #cd下)其他命令在 #cd /etc/yum.repos.d运行
#yum-config-manager –add-repo=http://172.17.0.1/pub/rhe17/dvd
添加一个仓库但是不可用 并生成一个repo文件 172.17.0.1_pub_rhe17_dvd.repo
#rm 172.17.0.1_pub_rhe17_dvd.repo
#vim magedu.repo
[base]
name=Centos $releasever repo
baseurl=http://172.17.0.1/centos/$releasever/
gpgcheck=0
[epel]
name=Centos $releasever epel repo
baseurl=http://172.17.0.1/fedora-epel/$releasever/$basearch
gpgcheck=0
enabled=1 开启 0为禁用
#yum-config-manager –disable “仓库名”
#yum-config-manager –disable “Centos 7 repo”
#yum-config-manager –enable “仓库名”
#yum-config-manager –enable “Centos 7 repo”
/etc/yum.conf
/etc/yum.repos.d/*.repo
[repoid]
name=
baseurl=ftp://
http://
file://
yum命令用法:
repolist 列出repo信息 在/etc/yum.repos.d下#yum repolist disable列出关闭
#yum repolist enabled列出开启的 #yum repolist all列所有出
install 包名 #yum install aide 安装包
–nogpgcheck 当次安装时不检测gpgkey
-y 自动回答”yes”
reinstall 包名 # yum reinstall aide升级 # vim /etc/aide.conf # rm /etc/logrotate.d/aide
重新安装包
update
list all|available未安装过的包|installed|updates升级更新 #yum list #yum list |less
yum check-updates 检查可更新包
remove|erase 包名 删除包 #yum erase aide
whatprovides “文件名” 支持通配符 查看指定性特可能是某个文件
有那个程序包提供 #yum whatprovides “/etc/aide.conf”
makecache创建缓存
search 关键字 以指定的关键字搜索程序包及summary 信息 # yum search bin
deplist 包名 查看指定包所依赖的包# yum deplist aide
info 查看包的相关信息
cd/var/cache/yum/$basedarch/$releasever 清除缓存
clean all # yum clean all 清除缓存 #du -sh 查看大小
history # yum history 查询历史记录
info [number]# yum history info 显示最近记录 # yum history info 4 最近4个历史记录
undo [number] 做的事情取消掉,所有东西还原可删除有依赖性的包
localinstall [install] rpm包,指定rpm包,其所依赖的包用yum的repo来装 安装本地程序包
group
grouplist #yum grouplist 列出包组
groupinfo “包组名” # yum groupinfo ” Development tools”
groupinstall “包组名” # yum groupinstall ” PHP Support” 安装组
groupremove “包组名” 只删除包组中的包,不删除依赖包,可以用yum history undo 操作数字来删除包含依赖包。
groupupdate 更新包组中的包
–nogpgcheck:禁止进行gpg check
-q 静默显示
-y 自动回答为“yes”
# yum -q -y install bind -q -y 不等于-qy
–disablerepo=repoidglob
–enablerepo=repoidglob #yum –enablerepo=”base” -y install samba
createrepo /app/magedudvd 在/app/magedudvd/下创建 repodata 从而将指定目录创建为repo仓库。
编译源码
include <stdio.h>
main()
{printf(“Hello World!\n”);
}
gcc -o hello hello.c 编译
安装gcc过程
yum groupinstall Development tools
gcc -o yu yu.c
cd httpd-2.4.27/
cd server/
程序的安装编译:源代码–>预处理–>编码make gcc–>链接–>执行
安装源码包 http://httpd.apache.org
httpd-2.4.27.tar.bz2
httpd-2.4.34.tar.bz2
#tar xvf httpd-2.4.27.tar.bz2 解压
#cd httpd-2.4.27/
#ls 存放原码
#cd server/
#ls 存放 .c文件
#vim config.c
一、下载httpd最新版本的源码包
httpd-2.4.27.tar.bz2
httpd-2.4.34.tar.bz2
二、安装包组Development tools
#yum groupinstall Development tools
三、查看INSTALL文件、README
vim INSTALL
vim README 帮助文档
四、
cd httpd-2.4.27/
./configure –prefix=/app/apache24 –sysconfdir=/etc/apache24 –enable-rewrite
yum search apr-devel
yum install -y apr-devel
yum install apr-util-devel
yum groupinstall ” Development Tools” -y
yum search pcre
yum -y install pcre-devel
cd ..
ls
mkdir httpd-2.4.27.source
tar xvf httpd-2.4.27.tar.bz2 -C httpd-2.4.27.source/
cd httpd-2.4.27.source
五、
make编译
cp -a httpd-2.4.27 httpd-2.4.27123
六、
启动服务
/app/apache24/bin/apachectl start开启 /app/apache24/bin/apachectl stop 关闭
http://172.17.251.132/
关闭防火墙
CentOS7
systemctl is-active firewalld.service 查看当前是否开启
systemctl stop firewalld.service 当前关闭
systemctl is-enabled firewalld.service 查看系统启动时是否开启
#systemctl disable firewalld.service 关闭系统启动时开启
#systemctl status firewalld.service 开启
CentOS6
service iptables stop
chkconfig hhttpd off 一个服务彻底关闭
service hhttpd off
chkconfig hhttpd off
查看防火墙
iptables -vnL #cd /var/ftp/pub
查看网络监听情况
netstat -ntl
七、设置PATH及man路径
export PATH=$PATH:/app/apache24/bin/
vim /etc/man_db.conf
添加:MANDATORY_MANPATH /app/apache24/man
cd man
作业:
1、查询命令java来自于哪个rpm包
#yum whatprovides java
CentOS7: 开启dos及柱面显示模式:fdisk -c=dos -u=cylinders -l /dev/sda
Centos6: 开户非dos及扇区显示模式:fdisk -cul /dev/sda
hexdump -C -n 512 -v /dev/sda查看/dev/sda 的分区
在挂载一个硬盘,重启后进行操作
echo ‘- – -‘ > /sys/class/scsi_host/host2/scan 操作后不用重启就能显示新挂载的硬盘
dd if=/dev/sda of=/dev/sdb bs=1 count=66 skip=446 seek=446 只挂载64位 建分区的
dd if=/dev/zero of=/dev/sdb bs=1 count=66 skip=446 seek=446 清空分区的
fdisk /dev/sdb 也是建分区的
mkfs.ext4 /dev/sdd5 用uuid的方法挂载分区 指定分区号挂载不靠谱但用uuid靠谱
blkid
mount UUID=”9fc524e2-f425-4964-9cdd-55cd6e5cb769″ /mnt/
df
umount /mnt/
vim /etc/rc.local 为了重启之后挂载的sdd5 还在
mount /dev/sdd5/mnt/
source /etc/rc.local
cd /mnt
ls
echo ‘oracle databasevdatafile’ > oracle.txt
#fdisk -l /dev/sdx
centos6 显示是以柱面
centos7 显示是以扇区
逻辑分区不在MBR中
fdisk -l /dev/sdX 查看硬盘分区信息 # fdisk -l
-c (centos6) 打开或禁用dos模式
-u (centos6) 切换显示的单位(扇区/柱面)
-c (centos7) -c=dos -c=nondos
-u (centos7) -u=cylinders 柱面 -u=sectors 扇区
fdisk /dev/sdX 进行分区
m 帮助
n 建立分区
d 删除分区
p 显示分区信息
t 转换分区类型
a 将指定分区设置/取消 活动分区
L 查看有所分区类型
o 重建分区表
v 验证分区表,显示剩余没有被分区划分的扇区数量
g 创建GPT格式的分区(centos7)
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效
g 显示类型为 gpt
lsblk (centos6\centos7)
cat /proc/partitions 查看
parted /dev/sdX 不需要保存直接生效 高级分区操作
help help mklabel
mklabel gpt 设置分区类型 gpt
mklabel msdos 设置分区类型 msdos
mkpart 建立分区
parted /dev/sdX mkpart primary 1 1000
parted /dev/sdX rm # 删除
gpt没有主分区和扩展分区之分
gdisk 功能类似于fdisk 创建gpt
cat /proc/partations 查看内核是否已经识别新的分区
partprobe 当对系统所在的硬盘进行分区修改操作后,内存不会重读分区表,需要使用partprobe强制重读,centos6中有bug。
partx -a /dev/sdX 向内存中增加分区更新
partx -d –nr X /dev/sdX 从内存中删除分区更新
文件系统:
查看当前系统支持哪些文件系统
/lib/modules/uname –r
/kernel/fs
mkfs.ext4 /dev/sdb1 对sdb 下的分区下的sdb1格式化,创建系统
mkfs -t extX/xfs/btrfs/vfat # mkfs -t ext3 /dev/sdb1
-b {1024|2048|4096}指定扇区的大小 可以设置block size 的大小 # mkfs.ext4 -b 4096 /dev/sda7
mke2fs -t ext2/ext3/ext4 /dev/sdXX
-b {1024|2048|4096}指定扇区的大小 可以设置block size 的大小
-O # mke2fs -t ext2 -O journal_dev /dev/sdb2 设置一个扩展的日志区
-j 相当于 -t ext3 mkfs.ext3 =mkfs -t ext3=mke2fs -j = mke2fs -t ext3
centos7 :# mkfs.ext4 -b size=4096 -f /dev/sda7
centos5 在系统安装时创建的文件系统,自动将卷标名命名与挂载点路径
blkid 查看所有的块设备 显示已创建的文件信息
-L LABEL # blkid -L test7
-U UUID # blkid -U d3aebb04-276d-488d-9401-51c7be866d7c
mkfs -L 卷标 相当于给文件增加一个名字 # tune2fs -l /dev/sda1 |grep -i name 查看/dev/sda1 有没有卷标
# mkfs.ext4 -L test7 /dev/sdb1
# mount LABEL=test7 /mnt用卷标挂载
-b # :可以设置block size 的大小 # mkfs.ext4 -b 4096 /dev/sda7
e2label:管理ext系列文件系统的LABEL
e2label DEVICE [LABEL]
findfs : 查找
-U # findfs UUID=d3aebb04-276d-488d-9401-51c7be866d7c
-L #findfs LABEL=test7
练习:要求输入挂载点,将显示其UUID
dir=/app; egrep “[[:blank:]]+$dir[[:blank:]]+” /etc/fstab |cut -d” ” -f1
练习:要求输入挂载点,将显示其UUID(不用 /etc/fstab)
输入设备名:# blkid /dev/sda1 |cut -d ” ” -f2
cat/etc/fstab
dir=/; egrep “[[:blank:]]+$dir[[:blank:]]+” /etc/fstab | cut -d ” ” -f1
read -p “please input Mounted on name:” Name1
if df $Name1 &>/dev/null ; then
Name2=df "$Name1" |tail -1 |grep -o "^/[^ ]*"
blkid $Name2 |grep -o ‘\<UUID=”[[:alnum:]|-]*”‘
unset Name1 Name2
else
echo “error,Mounted on name unknown”;exit 1
fi
findfs
指定LABEL或UUID显示分区名
tune2fs /dev/sda10 修改文件系统信息
-l 显示文件系统信息(与dumpe2fs -h 信息基本一致) # tune2fs -l /dev/sdb1
-U 修改UUID #tune2fs -U uuid号 /dev/sdx
-O #tune2fs.ext4 -O acl /dev/sdb2 设置acl
dumpe2fs /dev/sda10 查看文件系统信息:superblock信息及block group信息
-h 不显示block group而只显示superblock 与tune2fs -l一致
fsck/e2fsck 先卸载再修复 #fsck -y /dev/sda7 破坏 dd if=/dev/sda hexdump -C -n 1024 -v /dev/sda7
-t filetype
-f 强制修复
-y 非交互式
-r 交互式
-p 自动修复
mount 设备名 挂载点
-t 指定文件系统类型
-r 只读挂载 #mount -r /dev/sda4 /app/sda4
–remount,ro|rw 也会新/etc/fstab中的选项,如果与指定的冲突,则remount后指定的优先。
-n 隐藏挂载信息不显示,但在/proc/mounts可以查到
-a 读取/etc/fstab,挂载其中没有挂载的设备
-L ‘LABEL’: 以卷标指定挂载设备
-U ‘UUID’: 以UUID指定要挂载的设备
-B –bind 目录挂目录 # mount -B /app/mage /app/mage1
-o 选项
sync,async 同步,异步(defaults)
atime(defaults),noatime 是否在读访问时更新atime
diratime(defaults),nodiratime
auto(defaults)/noauto 写在/etc/fstab当中的分区有用,是否在mount -a时被挂载
exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。
dev(defaults)/nodev:是否支持在此文件系统上使用设备文件
suid(defaults)/nosuid:不否支持suid和sgid权限
remount:重新挂载 #mount -o remount,rw /app
ro:只读
rw:读写(defaults)
user/nouser(defaults):是否允许普通用户挂载此设备,默认管理员才能挂载
acl:启用此文件系统上的acl功能
defaults 默认,见以上中的(defaults)
举例:root下进行操作
先格式化分区: mkfs.ext4 /dev/sda1
创建目录:mkdir /mage
再将/dev/sda1挂载到 mage下: mount /dev/sda1 /mage
查看: df /dev/sda1 已经挂载 到 mage 下
设置卷标: mkfs.ext4 -L mage1 /dev/sdb1 # mount LABEL=mage1 /app/mage
# mount UUID= 89bc6d91-a1b8-4507-86cd-62d505ef41d4 /app/mage
umount /app/mage
再查看: # tune2fs -l /dev/sdb1 | grep name # tune2fs -l /dev/sdb1 | grep -iE “name|uuid”
ls /etc/fstab cat /etc/fstab 里边是存放UUID的设置,可以编辑/etc/fstab 更安全 vim /etc/fstab
uuid =………. / ext3 defaults 1 1
同理:
vim /boot/grub/grub.conf
kernel /vm…… ro root=UUID=………….
reboot
这样会比从卷标加载更安全
lsof 设备名或挂载点
fuser -v 挂载点
-km 挂载点 强制结束所有执行在挂载点上的进程
自己进行网络访问:#cd /app
#ls
#yum -y install vsftpd
#cd /etc/yum.repos.d
#ls
#vim magedu.repo
#yum clean all
# yum -y install vsftpd
#cd
#rpm -qa vsftpd
#cd /var/ftp/pub
#touch hello
#iptables -L
#iptables -F
#systemctl start vsftpd
#systemctl status vsftpd
#netstat -tln
#ifconfig
ftp://172.17.251.132/
添加pub目录的东西
#setenforce 0
#mount /dev/cdrom /media/
#cd /media/
#cp -a * /var/ftp/pub
再开一个终端
#cd /var/ftp/pub
#ls
#du -sh
再刷新一下网页就行
还可以通过 http访问:#cd apache24/
#cd htdocs/
#ls
index.html
#cd ..
#cd bin
#ls
#./apachectl start
点击第一个终端
#netstat -tnl
http://172.17.251.132/
cd /app
cd apache24/
cd htdocs/
rm index.html
touch 1
ls
ftp://
8×672.17.251.132/访问就变成 1了
rm 1
cd ..
apache24] # mount -B /var/ftp/pub/ /app/apache24/
就与原来的 pub 几乎一致
原创文章,作者:MOMO,如若转载,请注明出处:http://www.178linux.com/85031