centos修改filesystem(centos7关闭防火墙命令)
这篇文章给大家聊聊关于centos修改filesystem,以及centos7关闭防火墙命令对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
怎样解决CentOS无法读取NTFS格式硬盘问题
1、首先将下载的文件上传到Centos系统里,如下图所示。
2、接着将ntfs-3g进行解压,tar xvf ntfs-3g.tgz。
3、然后进入ntfs-3g的源码目录, cdntfs-3g。
4、进行NTFS基本配置./configure,编译源码文件,make,如下图所示。
5、fdisk-l查看所要挂载的U盘盘符,eg./dev/sdb1。
6、然后将U盘(/dev/sdb1)挂载到/mnt下,即可进行文件复制。
7、最后设置开机自动挂载U盘,vim/etc/fstab,如下图所示就完成了读取NTFS格式硬盘。
CentOS下ext4、vfat文件系统创建、修改
(接上文: CentOS磁盘和分区简介)
1,磁盘分区之后并不能直接使用,需要在分区上创建文件系统并挂载;
2,查看系统能够支持的文件系统类型: cat/etc/filesystems
3,挂载
设备或文件系统,挂载的目标位置,称为挂载点(mount point)
挂载使用mount命令,设备、挂载点两者都需要指明
卸载使用umount命令,设备、挂载点两者只需要指明其一
Note:挂载完成后,挂载点下原有的文件就会被隐藏,无法访问,直到卸载。因此,通常使用空目录作为挂载点。
CentOS的文件系统创建工具 mkfs. fstype
其中,mkfs是Linux下各种文件系统创建工具( mkfs. fstype)的前端入口,这些工具都以 mkfs.开头,后面是该工具管理的文件系统类型(fstype)。
实际上,ext系列文件系统真正常用的工具是 mke2fs,其语法及常用选项如下:
用法举例: mke2fs-t ext4-L'test'-b 4096-i 4096-m 8/dev/sdb1
因进程意外中止或系统崩溃等原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统,检测和修复建议离线(卸载磁盘或分区)进行;
举例: e2fsck-y/dev/sdb1
举例: fsck-t ext4-a/dev/sdb1#自动修复/dev/sdb1
3.1显示ext系列文件系统的属性信息: dumpe2fs
dumpe2fs [-options] device
-h:只显示设备上的超级块信息,否则还会显示块组信息
3.2显示或修改ext系列文件系统的Label信息: e2label
查看Label:e2label device
设定Label:e2label device LABEL
举例:
3.3查看(也能修改)ext系列文件系统数据信息: tune2fs
举例: tune2fs-l/dev/sdb1
注意:块大小创建后不可修改;
tune2fs命令及其常用选项:
如果我们希望一个存储设备(比如优盘)不需要重新创建文件系统,就能同时在Windows或Linux系统下使用,那么这时在优盘上创建vfat类型的文件系统就能满足需求。
fat和vfat:
fat和vfat基本一致,区别在于vfat支持长文件名,而fat不支持。
此外,Linux将fat/vfat/fat32文件系统都统一用vfat表示,
vfat文件系统是CentOS原生支持的,但是fat文件系统的管理工具mkfs.vfat,mkfs.fat却未必开始就安装,比如我最小安装的CentOS 7就没有。
因此,首先要解决两个问题,
1.1,安装哪个包可以提供需要的管理工具?
通过yum可知,当前版本提供mkfs.vfat工具的是dosfstools-3.0.20-10.el7.x86_64这个包。
1.2,安装dosfstools-3.0.20-10.el7.x86_64包
yum install dosfstools-y
mkfs.vfat命令的用法
mkfs.vfat [-options] device
其中一个比较重要的选项是-F FAT-size,在命令的man手册中是这样介绍的:
Specifies the type of file allocation tables used(12, 16 or 32 bit). If nothing is specified, mkfs.fat will automatically select between 12, 16 and 32 bit, whatever fits better for the filesystem size.
简单渣翻:该选项用于指定文件分配表的类型(12,16或32 bit,即fat12,fat16或fat32)。如果没有指定,mkfs.fat将根据文件系统的大小,在12、16或32 bit中自动选择更合适的。
也就是说,如果这里指定-F选项如-F 32,创建的文件系统就是fat32,如果不指定, mkfs.vfat工具将自动选择文件类型,创建的不一定是fat32的文件系统。所以为了保险起见还是指定该选项比较好。
centos6.5安装到U盘出问题
usblinux把linux系统安装到u盘里
加电
BIOS找启动方式,找设备
MBR
grub
vmlinux initrd
产生init
/etc/inittab-->找到应该启动的级别
按照不同的级别启动不同类型的服务/etc/rcX.d/
/etc/rc.sysinit
/etc/rc.local
产生终端可以登录
ls/root/install.log
livecd不用安装,直接可以使用系统的CD,DVD
回顾开机启动的过程:
开机-->bios(配置主板的程序,basic input and output system,加电自检,找到启动设备的编号)-->找到mbr(master bootloader record,它是属于硬盘的0磁盘0扇区)-->grub-->通过grub找到vmlinuz和initrd(驱动硬件)-->内核启动,产生init进程-->/etc/inittab(确定系统的启动级别)-->/etc/rc.sysinit(获取主机的网络环境和主机类型,测试与载入设备,是否启动selinux,模块的加载,设置系统时间.................)-->/etc/rc.local
与USB有关的模块
[root@li~]# lsmod|grep ci
uhci_hcd 25421 0
ohci_hcd 24553 0
ehci_hcd 33869 0
--因为U盘分区在windows下不认,所以我这里两G的U盘,直接都用来做usblinux
1,首先删除U盘里原有分区
第一种:用fdisk/dev/sdb,然后用d命令去删除
第二种:dd if=/dev/zero of=/dev/sdb bs=1024 count=1--删除磁盘分区信息
重新按照规划的去分区:
Disk/dev/sdb: 2000 MB, 2000570368 bytes
62 heads, 62 sectors/track, 1016 cylinders
Units= cylinders of 3844* 512= 1968128 bytes
Device Boot Start End Blocks Id System
/dev/sdb1* 1 763 1466455 83 Linux
/dev/sdb2 764 1016 486266 82 Linux swap/ Solaris
Command(m for help): w
--或者分为1G做usblinux,500m做swap,500m留给fat32
Disk/dev/sdb: 2000 MB, 2000570368 bytes
62 heads, 62 sectors/track, 1016 cylinders
Units= cylinders of 3844* 512= 1968128 bytes
Device Boot Start End Blocks Id System
/dev/sdb1* 1 509 978267 83 Linux
/dev/sdb2 510 764 490110 82 Linux swap/ Solaris
/dev/sdb3 765 1016 484344 b W95 FAT32
Command(m for help): w
[root@li~]# partprobe
--有些U盘报kerenl相关的两到三段信息,就不要使用多分区,就分一个分区。
2,格式化分区,并挂载
[root@li www]# partprobe--fdisk分区后,都要用此命令刷新
--这一步,有很多U盘会报错,如果报错的话最好去windows虚拟机下全格一下,再重新在linux下来做
[root@li www]# mkfs-t ext3/dev/sdb1
[root@li www]# mkswap/dev/sdb2
[root@li www]# mkdir/usb
[root@li www]# mount/dev/sdb1/usb/--建立一个目录,挂载/dev/sdb1
3,安装基本的目录结构
准备光盘iso文件,挂载到一个目录去
[root@li www]# mount/share/iso/rhel-5.4-server-i386-dvd.iso/yum/-o loop
[root@li www]# cd/yum/Server/
[root@li Server]# rpm-qip filesystem-2.4.0-2.i386.rpm
Description:
filesystem软件包是安装在红帽 Linux系统上的一个基本
软件包。filesystem含有一个 Linux操作系统的基本目录布局,
包括各目录的正确许可权限。
要使用--nodeps脱离依赖性才可以安装
[root@li Server]# rpm-ivh--root=/usb/--nodeps filesystem-2.4.0-2.i386.rpm
或者先装setup包,再装filesystem包
[root@li~]# rpm-ivh--root=/usb/share/yum/Server/setup-2.5.58-7.el5.noarch.rpm
[root@li~]# rpm-ivh--root=/usb/share/yum/Server/filesystem-2.4.0-2.i386.rpm
[root@li~]# ls/usb--一个基本的目录布局就已经装好了
bin etc lost+found opt sbin sys var
boot home media proc selinux tmp
dev lib mnt root srv usr
4,安装相应的软件包,也就是定制功能
下面最主要的一步就是安装系统的软件包,首先要思考安装的这个USB系统需要什么功能,比如最基本的命令ls,cd等
这里可以选择使用busybox(是一个基本命令工具集),但如果对其不是特别熟悉,还是按基本命令一个一个的来选
首先要装bash包,包含50多个内部命令
[root@dns Server]# chroot/usb--不装bash无法 chroot进去
chroot: cannot run command `/bin/bash': No such file or directory
[root@dns Server]# rpm-qf/bin/ls
coreutils-5.97-23.el5
[root@dns Server]# rpm-qf `which vi`
vim-minimal-7.0.109-6.el5
[root@dns Server]# rpm-qf `which vim`
vim-enhanced-7.0.109-6.el5
[root@dns Server]# rpm-qf `which ping`
iputils-20020927-46.el5
[root@dns Server]# rpm-qf `which mount`
util-linux-2.13-0.52.el5
[root@dns Server]# rpm-qf `which tar`
tar-1.15.1-23.0.1.el5
[root@dns Server]# rpm-qf `which rpm`
rpm-4.4.2.3-18.el5
[root@dns Server]# rpm-qf `which man`
man-1.6d-1.1
[root@dns Server]# rpm-qf `which ssh`
openssh-clients-4.3p2-36.el5
[root@dns Server]# rpm-qf `which awk`
gawk-3.1.5-14.el5
[root@dns Server]# rpm-qf `which sed`
sed-4.1.5-5.fc6
[root@dns Server]# rpm-qf `which grep`
grep-2.5.1-55.el5
[root@dns Server]# rpm-qf `which find`
findutils-4.2.27-6.el5
[root@dns Server]# rpm-qf `which locate`
mlocate-0.15-1.el5.2
[root@dns Server]# rpm-qf `which useradd`
shadow-utils-4.0.17-14.el5
[root@dns Server]# rpm-qf `which passwd`
passwd-0.73-1
[root@dns Server]# rpm-qf `which init`
SysVinit-2.86-15.el5
[root@dns Server]# rpm-qf `which clear`
ncurses-5.5-24.20060715
[root@dns Server]# rpm-qf `which ps`
procps-3.2.7-11.1.el5
[root@dns Server]# rpm-qf/usr/bin/which
which-2.16-7
[root@dns Server]# rpm-qf `which ifconfig`
net-tools-1.60-78.el5
[root@dns Server]# rpm-qf `which fdisk`
util-linux-2.13-0.52.el5
[root@dns Server]# rpm-qf `which partprobe`
parted-1.8.1-23.el5
[root@li~]# rpm-qf `which showmount`
nfs-utils-1.0.9-42.el5
[root@li~]# rpm-qf `which service`
initscripts-8.45.30-2.el5
[root@li Server]# rpm-qf `which bzip2`
bzip2-1.0.3-4.el5_2
[root@li Server]# rpm-qf `which gzip`
gzip-1.3.5-10.el5
--经过上面对基本命令的包查找,最终安装下列这些基本包
[root@dns Server]# yum install--installroot=/usb bash coreutils vim-minimal vim-enhanced iputils util-linux tar rpm man openssh-clients gawk sed grep findutils mlocate shadow-utils passwd SysVinit ncurses procps which net-tools util-linux parted nfs-utils initscripts bzip2 gzip
--如果上面步骤安装完后,有忘记安装的包,再使用yum装不上去
[root@li~]# yum install--installroot=/usb iptables
Loaded plugins: downloadonly, rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
No package iptables available.
Nothing to do
--所以再安装的话使用rpm去安装
[root@li~]# rpm-ivh--root=/usb/share/yum/Server/iptables-1.3.5-5.3.el5.i386.rpm
5,安装启动引导文件和模块
[root@li Server]# chroot/usb--使用此命令,就是以/usb目录为根目录了
bash-3.2# ls/boot/--可以看到现在usblinux里的/boot目录没有任何文件
bash-3.2# exit--用exit退出chroot模式
exit
[root@li~]# cp/etc/skel/.bash*/usb/root/-rf
--拷环境变量模版过去
定制支持usb存储启动的ramdisk(initrd文件)
[root@li Server]# mkinitrd--with usb_storage/usb/boot/initrd.img `uname-r`
从真机上拷贝vmlinuz到usblinux对应目录
[root@li Server]# cp/boot/vmlinuz-2.6.18-164.el5/usb/boot/vmlinuz
从真机上拷贝内核模块到usblinux对应目录
[root@li Server]# cp/lib/modules/2.6.18-164.el5//usb/lib/modules/-rf
拷内核源码,可选步骤
[root@li Server]# mkdir/usb/usr/src/kernels/
[root@dns Server]# cp/usr/src/kernels/2.6.18-164.el5-i686//usb/usr/src/kernels/-rf
6,安装并手动写grub
--如果是用真实机分区来代替U盘做usblinux的话,这一步不用做,只需要把这个分区的引导信息加入到真实机的配置文件里就可以了
安装grub包,用--nodeps脱离依赖性
[root@li Server]# rpm-ivh--nodeps--root=/usb grub-0.97-13.5.i386.rpm
--脱离依赖安装,会没有splash.xpm.gz图片,可以从真机拷一个
也可以按下面安装
[root@li~]# rpm-ivh--root=/usb/share/yum/Server/*logos*
warning:/share/yum/Server/redhat-logos-4.9.16-1.noarch.rpm
[root@li~]# rpm-ivh--root=/usb/share/yum/Server/grub-0.97-13.5.i386.rpm
--但这样安装完后,grub目录下只有一个背景图片
[root@dns Server]# ls/usb/boot/grub/
splash.xpm.gz
grub-install安装到/dev/sdb
[root@li Server]# grub-install--root-directory=/usb--recheck/dev/sdb
--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda
--grub-install之后,grub目录的基本文件就有了(除了配置文件grub.conf)
[root@dns Server]# ls/usb/boot/grub/
device.map iso9660_stage1_5 splash.xpm.gz vstafs_stage1_5
e2fs_stage1_5 jfs_stage1_5 stage1 xfs_stage1_5
fat_stage1_5 minix_stage1_5 stage2
ffs_stage1_5 reiserfs_stage1_5 ufs2_stage1_5
修改device.map
[root@li Server]# vim/usb/boot/grub/device.map
(hd0)/dev/sdb
--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda
手动写grub.conf文件
--下面是以u盘来做的写法
[root@li Server]# vim/usb/boot/grub/grub.conf
default=0
timeout=-1
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title usblinux
root(hd0,0)
kernel/boot/vmlinuz ro root=/dev/sdb1
initrd/boot/initrd.img
=============================================
--因为我这次是使用真实机的/dev/sda14来做根./dev/sda15做swap
上面的第6步不用做,只做这一小段就好了
所以把下面这段加到真实机的/boot/grub/grub.conf里
title usblinux
root(hd0,13)--因为我模拟的这个usblinux的根为sda14,所以这里写13
kernel/boot/vmlinuz ro root=/dev/sda14
initrd/boot/initrd.img
# grub-install/dev/sda--加完后,就grub-install安装一下
--------------------------------------------------
7,拷贝密码文件,拷贝环境变量
--这一步可以不拷,因为现在usblinux上默认有passwd和group文件,没有shadow和gshadow
--里面默认有root用户和系统用户
[root@li Server]# cp/etc/passwd/usb/etc/passwd
[root@li Server]# chroot/usb/--再次chroot到/usb目录,提示符就变了
[root@li/]# pwconv--同步/etc/passwd和/etc/shadow
[root@li/]# grpconv--同步/etc/group和/etc/gshadow
[root@li/]# passwd root--修改root的密码,到时候登录需要
8,手动编写fstab文件
[root@li/]# vim/etc/fstab--注意这里是usblinux系统里的fstab,因为已经chroot进来了
/dev/sdb1/ ext3 defaults 0 0
/dev/sdb2 swap swap defaults 0 0
devpts/dev/pts devpts gid=5,mode=620 0 0
sysfs/sys sysfs defaults 0 0
proc/proc proc defaults 0 0
tmpfs/dev/shm tmpfs defaults 0 0
--用真实机的/dev/sda14来做根./dev/sda15做swap的话,就把上面的sdb1换成sda14,sdb2换成sda15,其它的不变
9,让usblinux支持网络
从真机拷贝eth0的配置文件到usblinux对应目录中:
[root@li Server]# cp/etc/sysconfig/network-scripts/ifcfg-eth0/usb/etc/sysconfig/network-scripts/
修改网络配置文件,可以改成静态IP
[root@li Server]# vim/usb/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
从真机拷贝全局网络配置文件到usblinux对应目录中
[root@li Server]# cp/etc/sysconfig/network/usb/etc/sysconfig/
从真机拷贝modprobe.conf到usblinux对应目录中
[root@li Server]# cp/etc/modprobe.conf/usb/etc/
alias eth0 8139too--注意这一句在不同的系统里可能要修改,现在这里的网卡模块是8139too,所以这里是8139too就可以;这个在虚拟机里为pcnet32
然后重启系统,在bios选择使用usb引导进入系统,去验证功能
--如果是真实机分区做的,就不用改bios,直接在grub选择菜单选择usblinux引导进入就可以了
-------------------------------------------------------------
上面的步骤里还没有去加的功能有动态获取IP(需要安装dhclient包)
没有yum命令,没有图形界面(有需要的话,自己使用rpm安装yum命令后,使用yum安装图形包的两个组)
启动时有大量无用信息,可以在grub.conf里加rhgb quiet来解决
但重启后还会有一个错误信息:
(会有一个usb_storage的报错信息,但此信息没有影响,是mkinitrd--with usb_storage时造成的)
如果一定要除掉这句报错,可以手工修改initrd文件
# cd/tmp
# cp/usb/boot/initrd.img/tmp/initrd.img.gz
# gunzip initrd.img.gz
# cpio-i--make-directories< initrd.img
# rm initrd.img
# vim init--打开,删除以下的几行
echo"loading usb-storage.ko module"
insmod/lib/usb-storage.ko
echo waiting for dirver initialization
stabilized/proc/bus/usb/devices
echo waiting for driver initializtin
# find.| cpio-c-o>../initrd.img
# gzip-9../initrd.img
# cp../initrd.mg.gz/usb/boot/initrd.img
=============================================================