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.www58058.com/85031