第一天:Linux的相關知識1

一、Linux目錄結構

wKioL1nl6ViBdLYkAAGdD2tHTE0433.jpg

二、Linux命令的分類

wKiom1nl7qCwdtZfAADME4CAhYI137.jpg

三、Linux常用命令

1、日常操作命令

**查看當前所在的工作目錄

pwd

wKiom1nl9MqzH_vmAAAZ2O537Lg394.jpg

**查看當前系統的時間

date

wKiom1nl9QmxulVNAAAfaYpT-_4882.jpg

date +%Y-%m-%d

730bdfc569fa6f0b0f0042b58f2d90f1.jpg

date +%T

c95e6db57909708194aaadb4324930fe.jpg

date +%T-%m-%d" "%T

a5e0ca2cc9e63a10e1de382f3a7c513e.jpg

**查看日曆

cal 2012

8e0063316cb97bd4e1efd145e68082ce.jpg

**查看有誰在線(哪些人登錄到了服務器)

who    查看當前在線

last   查看最近的登錄歷史記錄

lastlog 查信息系統中所有用戶最近一次登錄信息

wKioL1nl8ufAUm89AAFHcRmgssM561.jpg

758c6fa6eed4933a9331143e17b40c3c.jpg

**查找可執行的命令

which ls 

ca239d7568f5d39bd2d9397b8585d999.jpg

**查找可執行的命令和幫助的位置

732093b60fc4daab47553b4ac453cbc8.jpg

**快捷鍵

ctrl+c:停止進程

ctrl+l:清屏

ctrl+r:搜索歷史命令

ctrl+q:退出

2、文件系統命令

**

ls /      查看根目錄下的子節點(文件夾和文件)信息

ls -al    -a是顯示隱藏文件   -l是以更詳細的列表形式顯示

wKioL1nl84KDH_IIAALrTolj2I4212.jpg

**查看文件信息

file a.txt

e349be599ca5f1279bd91557bd495526.jpg

**切換目錄

cd     進入目錄; 

cd ~    進入用戶主目錄; 

cd -     返回進入此目錄之前所在的目錄; 

cd ..     返回上級目錄(若當前目錄爲“/“,則執行完後還在“/";".."爲上級目錄的意思); 

cd ../..     返回上兩級目錄; 

cd !$     把上個命令的參數作爲cd參數使用。

cd /home

wKioL1nl8-CibgY-AAAr284EmAM950.jpg


**創建文件夾

mkdir aaa      這是相對路徑的寫法

mkdir -p bbb/ccc    遞歸創建

mkdir /date    這是絕對路徑的寫法

wKiom1nmEqPyieJ9AACz9s0PuUs562.jpg

例子:

①在根目錄下創建一個itcast的文件夾

在/itcast目錄下創建src和WebRoot兩個文件夾

分別創建:mkdir /itcast/src

          mkdir /itcast/WebRoot

同時創建:mkdir /itcast/{src,WebRoot}

996e1491d07581b926d4621723d00c15.png


②進入到/itcast目錄,在該目錄下創建.classpath和README文件

分別創建:touch .classpath

          touch README

同時創建:touch {.classpath,README}

95c5fd743c3b35a62b3cf1a8f254a7a2.png

**刪除文件夾

rmdir    可以刪除空目錄

rm -r bbb    可以把bbb整個文件夾及其中的所有子節點全部刪除

rm -rf aaa    強制刪除aaa

71c959cdead6d8fea43d2fdbd432e77d.png

刪除當前目錄下擴展名是java的文件

rm -f *.java

c3ae6268a997dcbc6271dec932e57b7f.jpg

**修改文件夾名稱

mv aaa angelababy

8c7dd878e4f485d446ddd6da9c6f73ba.png

**移動文件

mv test.txt src/Student.java    將test.txt移動到src目錄下,並修改文件名爲Student.java

242e995a85b51857d3aa0076adfc36f2.png


**創建文件

touch somefile.1    創建一個空文件

echo "i miss you,my baby">somefile.2    利用重定向">"的功能,將一條指令的輸出結果寫入到一個                                         文件中,會覆蓋原文件的內容

echo "hugximing,gun dan">>somefile.2    將一條指令的輸出結果追加到一個文件中,不會覆蓋原文                                         件內容

bbc6ba1033a3c0a3f1ae19268cce7529.png

例子:

①在/itcast目錄下面創建一個test.txt文件,同時寫入內容"this is test"

echo "this is test">test.txt

查看一下test.txt的內容

cat test.txt

more test.txt

less test.txt

向README文件追加寫入"please read me first"

echo "please read me first">>README

a7b1987055f95d9838431c57ac63c8e3.png

②將test.txt的內容追加到README文件中

cat test.txt>>README

6ab01f8d6d357fbcd49d325560caa1d9.png

**複製文件

cp a.txt /etc/b.txt

de2cf2b4b77b1a11f6b8a440ce6d7309.jpg

cp -r /itcast /itcast-bak    拷貝/itcast目錄下的所有文件到/itcast-bak

1467efb77d9c700a6612ad73b51a3db2.png

**查看單詞

wc -w README    查看README文件中多少個單詞

wc -l README    查看README文件中有多少行

d66a48868cfc95b90d5cc75e7eb0a99c.png

**查看文件詳情

stat a.txt

0db97a9e668a54921a211f07dcd7415e.jpg

**命令設置別名(重啓後無效)

alias ll="ls -l"    設置別名

unalias ll    取消設置

906e2223a6a5cd37bc53c2be98843b82.jpg

如果想讓別名重啓後仍然有效,需要修改

vi ~/.bashrc

393091b4aec2adcd84951fc6e01cef41.jpg

**查找文件(需要更新庫:updatedb)

locate b.txt

f8af674065dee9b34ef8284d314776fd.jpg

**查找命令

查找當前目錄下及其子目錄下擴展名是java的文件

find -name *.java

855a87fe4d63e6bd600637cc7bcb3084.jpg

從根目錄開始找

find / -name "hadoop*"

find / -name "hadoop*" -ls

f513e18989b09acb538bdeb853f5071a.jpg

查找並刪除

find / -name "hadoop*" -ok rm {} \;

b6c563b8b4627610167cd3e2f7d7de36.jpg

find / -name "hadoop*" -exec rm {} \;

a0452e737bcd76108fa008ce6dfaefbe.jpg

查找用戶爲hadoop的文件

find /usr -user hadoop -ls

4e766c2b42423ba4730989087cbb954f.jpg

查找用戶爲hadoop並且(-a)擁有組爲root的文件

find /usr -user hadoop -a -group root -ls

c6a70d790bc9137670ed26c06eae92a4.jpg

查找用戶爲hadoop或者(-o)擁有組爲root並且是文件夾類型的文件

find /usr -user hadoop -o -group root -a -type d

2e945b4f4911af84224417191f165b72.jpg

386fafabf4595101eb3c2977b695d47e.jpg

查找權限爲777的文件

find / -perm -777 -type d -ls

424a82d169d1a5cfd2ec19dff916f8fb.jpg

在/etc下查找hadoop文件

grep hadoop /etc

2100728703264ba36d67a88b16b297cf.jpg


用vi文本編輯器來編輯生成的文件

******最基本用法
vi somefile.4

1、首先會進入“一般模式”,此模式只接受各種快捷鍵,不能編輯文件內容

2、按i鍵,就會從一般模式進入編輯模式,此模式下,敲入的都是文件內容

3、編輯完成之後,按Esc鍵退出編輯模式,回到一般模式

4、再按:,進入“底行命令模式”,輸入wq命令,回車即可

*****一些常用的快捷鍵(在一般模式下使用):

a    在光標後一位開始插入

A    在該行的最後插入

l    在該行的最前面插入

0(零)    光標跳到文件當前行的開頭

$    光標跳到文件當前的行的末尾

gg    直接跳到文件的首行

G    直接跳到文件的末行

dd    刪除行,如果5dd,則一次性刪除光標後的5行

yy    複製當前行,負責多行,3yy表示複製當前行附近的3行

p    粘貼

v    進入字符選擇模式,選擇完成後,按y複製,按p粘貼

crtl+v    進入塊選擇模式,選擇完成後,按y複製,按p粘貼

shift+v    進入行選擇模式,選擇完成後,按y複製,按p粘貼

查找並替換    (在底行命令模式中輸入)%s/sad/88888888%    效果:查找文件中所有sad,替換爲                                                                   888888

/you    效果:查找文件中出現的you,並定位到第一個找到的地方,按n可以定位到下一個匹配位置                (按N定位到上一個)

:1,$s/hadoop/root/g 將第一行到最後一行的hadoop替換爲root

:1,$s/hadoop/root/c 將第一行到最後一行的hadoop替換爲root(有提示)

:w b.txt 文件另存爲b.txt

:w >> b.txt 將內容追加到b.txt

:e! 恢復到最初的狀態

ctrl+u (undo) 撤銷修改

ctrl+r (redo) 恢復 



3、文件權限的操作

****linux文件權限的描述格式解讀

drwxr-xr-x    (也可以用二進制表示111 101 101 -->755)

d:標識節點類型(d:文件夾    -:文件    |:鏈接)

r:可讀

w:可寫

x:可執行

第一組rwx:表示這個文件的擁有者對它的權限:可讀可寫可執行

第二組r-x:表示這個文件的所屬組對它的權限:可讀,不可寫,可執行

第三組r-x:表示這個文件的其他用戶(相對於上面兩類用戶)對它的權限:可讀,不可寫,可執行


****修改文件權限

chmod g-rw haha.dat    表示將haha.dat對所屬組的rw權限取消

chmod o-rw haha.dat    表示將haha.dat對其他人的rw權限取消

chmod u+x haha.dat    表示將haha.dat對所屬用戶的權限增加x

也可以用數字的方式來修改權限

chmod 664 haha.dat    就會修改成rw-rw-r--

32b8b3d09955aa128a2aa42e0dc22b88.png

如果要將一個文件夾的所有內容權限統一修改,則可以用-R參數

chmod -R 770 aaa/

646f30115223d2a2d4a964c428242e91.jpg

將當前目錄下的所有文件與子目錄皆設爲任何人可讀取

chmod -R a+r *

d0f91d6b7262090f33f3624702ba36f3.jpg

目錄沒有執行權限的時候普通用戶不能進入

文件只有讀寫權限的時候普通用戶是可以刪除的(刪除文件不是修改它,是操作父級目錄),只要父級目錄有執行和修改的權限


**修改用戶組

將a.txt的用戶者設爲hadoop,組的擁有者設爲angela

chown hadoop:angela a.txt

14a25581dbf3be87bdaa84c52785940b.jpg

將當前目錄下的所有文件與子目錄的用戶的使用者都設爲hadoop,組擁有者皆設爲angela

e3c8feb5ddcddeb93346a0346df197c3.jpg


4、基本的用戶管理

****添加用戶

useradd angela

要修改密碼才能登錄

passwd angela    按提示輸入密碼即可

d36c2d5603b1a69413947f7efbf22a47.jpg

添加一個tom用戶,設置它屬於hadoop組,並添加註釋信息

分步完成:useradd tom

          usermod -g hadoop tom

          usermod -c "hr tom" tom

一步完成:useradd -g hadoop -c "hr tom" tom

32c940354914be0d8c77876853ba12eb.jpg

設置tom用戶的密碼

passwd tom

2708a844777148ea91fcae15be59bef3.jpg

修改tom用戶的登錄名爲tomcat

usermod -l tomcat tom

e7b375485931ea58f511e72c5c6bcd3f.jpg

b628dd31d75455fac2588e831fd36215.jpg

將tomcat添加到hadoop和root組中

usermod -G hadoop,root tomcat

查看tomcat的組信息

groups tomcat

dd2f1e809cd443f73c0dca3eb694ba0e.jpg


添加一個jerry用戶並設置密碼

useradd jerry

passwd jerry

9e5cba7f627d27f7df76efdc3fcc110c.jpg

添加一個america的組

groupadd america

將jerry添加到america組中

b4764d7379ee641ce56411a86e180d03.jpg

將tomcat用戶從root組和hadoop組刪除

gpasswd -d tomcat root

gpasswd -d tomcat hadoop

2f95ec0c0e7a6e836c9982b39e0740f2.jpg

將america組名修改爲am

groupmod -n am america

df1d40b206f930993571b50c87a95295.jpg

**爲用戶配置sudo權限

用root編輯vi /etc/sudoers

在文件的如下位置:爲hadoop添加一行即可

root    ALL=(ALL)    ALL

hadoop  ALL=(ALL)    ALL


然後,hadoop用戶就可以用sudo來執行系統級別的指令

df96e72b1a6148f857eab5682cd3571c.jpg

ef1a2dfd11113173af9f5b9c1547f760.jpg

c1e2c8d9df9266410219b2d6f7db1bc2.jpg

5、傳輸文件

***使用sftp工具傳輸文件

alt+p    調出後,用put命令上傳

上傳(如果不cd指定目錄,則上傳到當前用戶的主目錄):

sftp>cd /home/

sftp>put -r C;\User\Administrator\Desktop\day02\soft\jdk-7u45-linux-x64.tar.gz

c2d095676c35fb9541a18ad7fb4e5c16.jpg

60d56a3a54ae5f26659f70d1c17fb9c7.jpg

下載(lcd指定下載到本地的目標路徑)

sftp>lcd d:/

sftp>get /home/jdk-7u45-linux-x64.tar.gz

416def5e8e3828b4d5d9c4d52edf852b.jpg

0bf1fd3ca4a14db05297f6126c98fd2b.jpg


***文件傳輸rz,sz,是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具

優點是不用再開一個sftp工具登錄上去上傳下載文件

sz:將選定的文件發送(send)到本地機器

rz:運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到服務器

安裝命令:

yum install lrzsz

3e3e601002e9996bbf3ed87ccd1e77bc.jpg

SecureCRT設置默認路徑:

Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell設置默認路徑

右鍵會話 -> 屬性 -> ZMODEM -> 接收文件夾

從服務端發送文件到客戶端:

sz a.txt

bf3168ca46d3af6173f56d68303a7e67.jpg

445176f086f2b6c388d2a23faf667907.jpg

從客戶端上傳文件到服務端:

rz

17a5b2d122433f4b1632b2d8f35dc85e.jpg

a82326e7216ce57c0501159c7ba3ec91.jpg

c436ccb0c8fb4ca33165d6b21e83e800.jpg

c53388774097c5843c2219a413d5e965.jpg


6、安裝軟件

***RPM軟件包管理命令

常用參數:

i:安裝應用程序

e:卸載應用程序

vh:顯示安裝進度

u:升級軟件包

qa:顯示所有已經安裝軟件包


rpm -qa

5f2db9f0a8ca13392e467dfdfe63a893.jpg

rpm -ivh MySQL-server-5.5.51-1.linux2.6.x86_64.rpm

ddbcdee1ed4beea04a5aa8917e2ddce5.jpg

c2aa961383a65fb5b5b33f7f9dc35028.jpg

***yum軟件安裝命令

yum install gcc-c++

e89014328e6775f7a896929ed13bbb66.jpg

yum update gcc-c++

0b7279f48bebcd523fa69a66add5a741.jpg

yum remove gcc-c++

f901fea18fc6ca899e685b1d7dd2e934.jpg

***安裝JDK

<1>上傳jdk-7u45-linux-x64.tar.gz到Linux上

92f31402bb3bb3fe74fb73d81c02f033.jpg

<2>解壓jdk到/usr/local目錄

    tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local/

9b572051aa0cc4d53b81599a53357efb.jpg

06e1b08a864d05a7bda0594c5ecfc53f.jpg

<3>設置環境變量,在/etc/profile文件最後追加相關內容

    vi /etc/profile

15f77f21f331a052554e232ea5a1d95c.jpg

ef828b8b788fddc71ab1fffac0c488a4.jpg

2ee37b3706f6cb68d3843d78339d336f.jpg



<4>刷新環境變量

    source /etc/profile

6917aaad9c2495fdefb16d94a6222427.jpg

<5>測試java命令是否可用

    java -version

eb4c4d093ea8aa2cd83e82eb1f1c7378.jpg


***安裝Tomcat

<1>上傳apache-tomcat-7.0.68.tar.gz到Linux上

9d96ef98d18201a24b5aa082c9ace3a4.jpg

6f1d1b80eb8351c4508de3e7924618fa.jpg

<2>解壓tomcat

 tar -zxvf apache-tomcat-7.0.68.tar.gz -C /usr/local

90f9570eb85e6576eb5c9f3e8f585904.jpg

686a1190f1cf1c5d4c370f45d012cc1c.jpg

<3>啓動tomcat

    /usr/local/apache-tomcat-7.0.68/bin/startup.sh

cf43631d6a84fb047673ceb9f44a2da8.jpg

<4>查看tomcat進程是否啓動

    jps

5724bc5df0e9eb35d3441d7922735dd9.jpg

<5>查看tomcat進程端口

    netstat -anpt | grep 11939

903d1b68273b001d792ceebc324562b0.jpg

<6>通過瀏覽器訪問tomcat

    http://192.168.0.101:8080/

b87cd88da08209a865c1ce9cfec3c718.png



***安裝MySQL

<1>上傳MySQL-server-5.5.48-1.linuxx2.6.x86_64rpm、MySQL-client-5.5.48-1.linux2.6.x86_64.rpm

到Linux上

6cf4fdb0035e85c6f81164322348cd0a.jpg

156f80d88b585fc5a6e9dc4d3c96168e.jpg

<2>使用rpm命令安裝MySQL-server-5.5.48-1.linuxx2.6.x86_64rpm,缺少perl依賴

    rpm -ivh MySQL-server-5.5.48-1.linuxx2.6.x86_64.rpm

2b5a05c4d3dcf5241e01c6b95b49c0fa.png

ddbcdee1ed4beea04a5aa8917e2ddce5.jpg

c2aa961383a65fb5b5b33f7f9dc35028.jpg

<3>安裝perl依賴,上傳6個相關的rpm包

0a65c38db81010a5a1e155fa531e0285.png

<4>再安裝MySQL-server,rpm包衝突

    rpm -ivh MySQL-server-5.5.48-1.linuxx2.6.x86_64.rpm

<5>卸載衝突的rpm包

    rpm -e MySQL-server-5.5.48-1.linuxx2.6.x86_64.rpm

<6>再安裝MySQL-client和MySQL-server

    rpm -ivh MySQL-client-5.5.48-1.linuxx2.6.x86_64.rpm

    rpm -ivh MySQL-server-5.5.48-1.linuxx2.6.x86_64.rpm

<7>|啓動MySQL服務,然後初始化MySQL

    service mysql start

    /usr/bin/mysql_secure_installation


<8>測試MySQL

    mysql -u root -p


7、正則表達式

規則:

.:任意一個字符

a*:任意多個a(零個或多個a)

a?:零個或一個a

a+:一個或多個a

.*:任意多個任意字符

\.:轉義

\<h.*p>:以h開頭,p結尾的一個單詞

o\{2\}:o重複兩次


**查找以h或r開頭的

a0e40193ad9d225150356adf0e8eb88e.jpg

**查找不是以h和r開頭的

grep '^[^hr]' /etc/passwd

6bceafccec138f90a163783f4e3b17cc.jpg

**查找不是以h到r開頭的

grep '^[^h-r]' /etc/passwd

0a9728d03f25aefd849212d8897e45af.jpg


**cut截取以:分割,保留第七段

grep hadoop /etc/passwd | cut -d: -f7

e1bd80adf8f0581e82824fd5eba49292.jpg

**排序

du | sort -n

779a24b420bac3395cb6c0c316961b37.jpg

**查詢不包含hadoop的

grep -v hadoop /etc/passwd

cd3f221340d0b48cd1ef5160083a7758.jpg

**查詢包含hadoop

grep 'hadoop' /etc/passwd

59d5f917d864253905419b5fcd618586.jpg

.(點代表任意一個字符)

grep 'h.*p' /etc/passwd

e1bd3ef69758d7269da267251d1ee90b.jpg

**查找以hadoop開頭的

grep '^hadoop' /etc/passwd

d1e095929f3c5eff5f97d3934d9faa95.jpg

**查找以hadoop結尾的

d7893ed03c2041ed9d005ef3cfab2d37.jpg

8、系統管理操作

****查看主機名

hostname

****修改主機名(重啓後無效)

hostname hadoop

5184209785b9ca119ffc196d2872429e.jpg

****修改主機名(重啓後永久生效)

vi /etc/sysconfig/network

16307a3969d439697c2401b2daf874d1.jpg

4c63b767770cfaf804ca348d8ecd88b8.jpg

e687fab8579913b018aacf57ab502775.jpg


****修改IP(重啓後無效)

ifconfig etho 192.168.12.22

63d859f24cbed1a11a328bee054b4ef0.jpg

****修改IP(重啓後永久生效)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

9b5ecface8383e2a03cde1f0a07dcd8e.jpg

85b19adb74224be9d862592879831bd1.jpg

重啓服務

service network restart

49817e6c23219ec5fd4227dc61eaaf1c.jpg

****修改靜態地址後發現無法ping外網

需要設置網關

route add default gw 192.168.33.1

添加nameserver

vi /etc/resolv.conf

nameserver 192.168.33.1

****修改ip地址和主機的映射關係

vi /etc/hosts

176c45a02bd3ac2d801772f811e7845b.jpg

345ee6c31a97c215fcefc5756cf9d500.jpg

****關閉iptables並設置其開機啓動/不啓動

service iptables stop

chkconfig iptables on

chkconfig iptables off

33802dda9396aac1ee114885ffce92f5.jpg

****查看系統信息

uname -a

uname -r

73c5ef27059ddd3e80f4b07d057f90a4.jpg****顯示用戶的ID,以及所屬羣組的ID

id    顯示當前用戶的ID

38d2b0cd1af8be517ee7678a5c6c11f6.jpg

id -g    顯示用戶組的ID

dc29637bbec31a38977ac01c2c47c349.jpg

id hadoop    顯示指定用戶信息

5254224731bb52eb97deafee15c7202a.jpg


mount ****    掛載外部存儲設備到文件系統中

mkdir /mnt/cdrom    創建一個目錄,用來掛載

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/    將設備/dev/cdrom/掛載到掛載點:/mnt/cdrom                                                  中

umount    取消掛載

umount /mnt/cdrom


加載windows共享

mount -t cifs //192.168.3.4/tools /mnt


****統計文件或文件夾的大小

du -sh    /mnt

df -h    查看磁盤的空間

ac719bded14784df03ee74ea1acbe1ac.jpg

****查看內存使用情況

free

9f70416a08c4363d0c06afdc78dbb0f0.jpg

****查看日誌

ls /var/log/

1d4d2f53c0b62d0884298b1c9a4cfe4b.jpg

****查看系統報錯日誌

tail /var/log/messages

2d29e1931afe5e342863e77de2b14095.jpg

****查看進程

top

939a310215f0dd3d3e41a00558c48402.jpg

****結束進程

kill 1234

kill -9 4333 強制殺死該進程


****ssh遠程連接

ssh 登錄名@ip

96566a7960e32f820b6a1bbba7543f7d.jpgdd1beb084d709efd1b5e0c1610d450ae.jpg


****關機

halt

shutdown -h now

init 0

****重啓

reboot

shutdown -r now



****配置主機之間的免密ssh登錄

d158561e59a883c1751063f322f65eef.jpg

假如 A 要登錄 B

在A上操作:

%%首先生成密鑰對

ssh-keygen    (提示時,直接回車即可)

%%再將A自己的公鑰拷貝並追加到B的授權列表文件authorized_keys中

ssh-copy-id B


四、本地YUM源製作

1、yum相關概念

1.1 什麼是yum

yum全稱爲Yellow dog Update,Modified)是一個在Fedora和RedHat以及CentOS中的shell前端軟件包管理器。基於rpm包管理,能夠從指定的服務器自動下載rpm包並安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

1.2 yum的作用

在Linux上使用源碼的方式安裝軟件非常繁瑣,使用yum可以簡化安裝的過程

2、yum的常用命令

安裝httpd並確認安裝

yum install -y httpd

ef2a84ebe09d97d82b5328c12381efbb.jpg

6b9689ebd1a8a00f217bafac74635c1e.jpg

ddc6474a0f30e87777201e86524ce299.jpg

列出所有可用的package和package組

yum list

30e725a99a7bec27743b177238528684.jpg

a124e0fd6954e24838f0c1be11ca9c5b.jpg

清除所有緩衝數據

yum clean all

727e91aa77980f35774c1aa64c6a3149.jpg

列出一個包所有依賴的包

yum deplist httpd

92029f41442a4e930470fa8dcf185627.jpg

刪除httpd

48ecc511411e34ec730773217ef59153.jpg

3、製作本地yum源

3.1 爲什麼要製作本地yum源

yum源雖然可以簡化我們在Linux上安裝軟件的過程,但是生成環境通常無法上網,不能連接外網的yum源,說以就無法使用yum命令安裝軟件了。爲了在內網中也可以使用yum安裝相關的軟件,就要配置yum源

3.2 yum源的原理

yum源其實就是一個保存了多個rpm包的服務器,可以通過http的方式來檢索、下載並安裝相關的rpm包

bc3b89416cb72106926bcd29505c65e8.jpg

3.3 製作本地yum源

<1>準備一臺Linux服務器,用最簡單的版本CentOS-6.7-x86_64-minimal.iso

<2>配置好這臺服務器的IP地址

    ifconfig eth0 up    激活eth0網卡

183065254892de1c8fac2c2958a89406.jpg

dd30e190b2cfb339e81ea70c09cb4d74.jpg

    vi /etc/sysconfig/network-scripts/ifcfg-eth0    修改配置文件

2fd363c35306da297acbef9aa8f9d61d.jpg

dcca3b27462daa1e3262b7195f99eece.jpg

    service network restart 重啓服務,自動獲取IP地址

5ac922f0fbf3518ce08e25bba9021238.jpg

fc7a3aa6990993a2d1840d12030c7e19.jpg

<3>上傳CentOS-6.7-x86_64-bin-DVD1.iso到服務器

e1c732d6208d6afbc3e18d1ac7649f23.jpg

<4>將CentOS-6.7-x86_64-bin-DVD1.iso鏡像掛載到某個目錄

    mkdir /var/iso

    mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /var/iso

bc13ecc461e4c85d72bd06636c3561ee.jpg


<5>修改本機上的yum源配置文件,將源指向自己,備份原有的yum源配置文件

    cd /etc/yum.repos.d/

    rename .repo .repo.bak*

    vi CentOS-Local.repo

715886caaf431f14d9821797d9d4134b.jpg

71de8ecd46980887c6b35df88571743b.jpg

添加上面內容保存退出


<6>清除yum緩衝

    yum clean all

0ec6996908c4914e1af2e194fa87c158.jpg

<7>列出可用的yum源

    yum repolist

14e1a4445f7901d4ae3b15421e430d8a.jpg

<8>安裝相應的軟件

    yum install -y httpd

c41c227c2b83caecb31f074f5d3f6f3e.jpg

<9>開啓httpd使用瀏覽器訪問http://192.168.0.100:80(訪問不同,檢查防火牆是否開啓了80端口或關閉防火牆)

    service httpd start

c174688b2e94a67b64fd91350a8665d0.jpg

    打開80端口

    vi /etc/sysconfig/iptables

    在-A INPUT -j REJECT --reject-with icmp-host-prohibited上面加入如下語句

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

48632f5460d3ed4481d42efbc00d3d3a.jpg

    重啓服務

    /etc/init.d/iptables restart

3f1fcadbe05a511d861fc4d2b57c72d4.jpg

    查看端口是否生效

    /etc/init.d/iptables status324834dd1e5a6d46b1aa3c03a314bf04.jpg

<10>將yum源配置到httpd(Apache Server)中,其他的服務器即可通過網絡訪問這個內網中的yum源了

    cp -r /var/iso /var/www/html/CentOS-6.7

f2dfc2d9cf79f90f5b79d7ac0141c823.jpg

de4aaccdbd95feeccc01da435857b9e7.jpg

<11>取消先前掛載的鏡像

    umount /var/iso

b4cd80d2546d6d2c84d343cc92299162.jpg

<12>在瀏覽器中訪問http://192.168.0.100/CentOS-6.7/

7c8d6b2e4a8e1c2925fbe4ca5a00ff33.png

<13>讓其他需要安裝rpm包的服務器指向這個yum源,準備一臺新的服務器,備份或刪除原有的yum源配置文件

    cd /etc/yum.repos.d/

    rename .repo .repo.bak*

    vi CentOS-Local.repo

de08812b8d126b0e8dc02d596829a34e.jpg

添加上面的內容保存退出

<14>在這臺新的服務器上執行yum的命令

    yum clean all

    yum repolist

0901a768eb268f1343b0407fcbccbd03.jpg

fe35085f3bb02203c29bdb17e19c2b4d.jpg

<15>安裝相應的軟件

    yum install -y gcc

2c5eb7bada9fb216805ba5bd0fde0a54.jpg

6cad3e6c758690b723f23093f155653e.jpg

<16>加入依賴包到私有yum的repository

    進入到repo目錄

    執行命令:createrepo

五、VMware虛擬機三種聯網方法及原理

1、Bridge---橋接:默認使用VMnet0

<1>原理:

Bridge的橋就是一個主機,這個主機擁有兩塊網卡,分別處於兩個局域網中,同時在“橋”上,運行着程序,讓局域網A中的所有數據包原封不動的流入B,反之亦然。這樣,局域網A和B就無縫的在鏈路層連接起來了,在橋接時,WMware網卡和物理網卡應該處於同一IP網段,當然要保證兩個局域網沒有衝突的IP。

VMware的橋也是同樣的道理,只不過,本來作爲硬件的一塊網卡,現在由VMware軟件虛擬了,當採用橋接時,VMware會虛擬一塊網卡和真正的物理網卡進行橋接,這樣,發到物理網卡的所有數據包就到了VMware虛擬機,而由VMware發出的數據包也會通過橋從物理網卡的那端發出

<2>聯網方式

這一種聯網方式最簡單,在局域網內,你的主機是怎麼聯網的,你在虛擬機裏就怎麼連網,把虛擬機看成局域網內的另一臺電腦就行了

提示:主機網卡處在一個可以訪問Internet的局域網中,虛擬機才能通過Bridge訪問Internet

262a4b93d5a4c25d71e9d528c756629e.png

2、NAT--網絡地址轉換:默認使用VMnet8

<1>原理:

NAT是Network address translate的簡稱。NET技術應用在internet網關和路由器上,比如192.168.0.123這個地址要訪問internet,它的數據包就要通過一個網關或者路由器,而網關或者路由器擁有一個能訪問internet的ip地址,這樣的網關和路由器就要在收發數據包時,對數據包的IP協議層數據進行更改(即NAT)以使私有網段主機能夠順利訪問internet。此技術解決了IP地址稀缺的問題。同樣的私有IP可以網關NAT上網。

虛擬網卡和虛擬機處於一個地址段,虛擬機和主機不同一個地址段,主機相當於虛擬機的網關,所依虛擬機能ping到主機的IP,但是主機ping不到虛擬機的IP

<2>聯網方式

方法1:動態IP地址

主機是靜態IP或動態IP都無所謂,將虛擬機設置成使用DHCP方式上網,Windows下選擇“自動獲取IP”,Linux下開啓DHCP服務即可。(這種方法最簡單,不用過多的設置,但要在VMware中進行“編輯->虛擬網絡設置”,將NAT和DHCP都開啓了,一般NAT默認開啓,DHCP默認關閉)

方法2:靜態IP地址

如果不想使用DHCP,也可以手動設置

IP設置與VMnet1同網段,網關設置成VMnet8的網關(在“虛擬網絡設置”裏的Net選項卡里能找到Gateway)通常是xxx.xxx.xxx.2

DNS設置與主機相同

例如:主機IP是10.70.54.31,設置虛擬機IP爲10.70.54.22。Netmask,Gateway,DNS都與主機相同即可實現 虛擬機----主機 虛擬機<---->互聯網通信

提示:使用NAT技術,主機能上網,虛擬機就可以訪問Internet,但是主機不能訪問虛擬機

6c9c5f03af659321da3adbf759bf09c4.png

3、Host-Only---私有網絡共享主機:默認使用VMnet1

<1>原理:

提供的是主機和虛擬機之間的網絡互訪,只想讓虛擬機和主機之間有數據交換,而不是讓虛擬機訪問Internet,就要採用這個設置了

Host-only的條件下,VMware在真正的windows系統中,建立一塊軟網卡,這塊網卡可以在網絡連接中看到,一般是VMnet1,這塊網卡的作用就是使windows看到虛擬機的IP。

<2>聯網方法

方法1:動態IP地址

像上面那樣開啓DHCP後,虛擬機直接自動獲取IP地址和DNS。就可以和主機相連了。

方法2:靜態IP地址

也可以手動設置,將虛擬機IP設置與VMnet1同網段,網關設置成Vmnet1的網關相同,其餘設置與VMnet1相同,DNS設置與主機相同

例如:VMnet1    IP:172.16.249.1    Gateway:172.16.249.2

那麼虛擬機      IP:172.16.249.100  Gateway:172.16.249.2

這樣    虛擬機<--->主機    可以通信

但是    虛擬機<--->互聯網  無法通信

提示:Host-only技術只用於主機和虛擬機互訪,於訪問Internet無關

a0d29730dd6c0edebe13cec62bb70015.png



解決克隆後etho不見的問題

直接修改 /etc/sysconfig/network-script/ifcfg-eth0

刪掉UUID HWADDR

配置靜態地址

然後:

rm -rf /etc/udev/rules.d/70-persistent-net.rules

然後: 

reboot

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章