linux基礎

3.2 Linux常用命令

3.1.1 基本日常操作命令  

1、查看當前所在的工作目錄的全路徑 pwd

[test@hdp-node-01 ~]$ pwd

/home/test

 

2、查看當前系統的時間 date

[test@hdp-node-01 ~]$ date +%Y-%m-%d

2016-05-18

[test@hdp-node-01 ~]$ date +%Y-%m-%d  --date="-1 day"   #加減也可以 month | year

2016-05-17

設置時間

date -s "2016-05-23 01:01"      ## 修改時間

修改時間後,需要寫入硬件bios才能在重啓之後依然生效

hwclock -w

 

 

3、查看有誰在線(哪些人登陸到了服務器)

who  查看當前在線

[test@hdp-node-01 ~]$ who

root     tty1         2016-05-18 11:46

hadoop   tty3         2016-05-18 11:46

hadoop   pts/0        2016-05-18 10:57 (192.168.33.1)

 

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

[test@hdp-node-01 ~]$ last -3

hadoop   tty3                          Wed May 18 11:46   still logged in   

root     tty1                          Wed May 18 11:46   still logged in   

hadoop   pts/0        192.168.33.1     Wed May 18 10:57   still logged in

 

4、關機/重啓

## 關機(必須用root用戶)

shutdown -h now  ## 立刻關機

shutdown -h +10  ##  10分鐘以後關機

shutdown -h 12:00:00  ##12點整的時候關機

halt   #  等於立刻關機

 

## 重啓

shutdown -r now

reboot   # 等於立刻重啓

 

5、清屏

clear    ## 或者用快捷鍵  ctrl + l

 

6、退出當前進程

ctrl+c   有些程序也可以用q鍵退出

 

7、掛起當前進程

ctrl+z   ## 進程會掛起到後臺

bg jobid  ## 讓進程在後臺繼續執行

fg jobid   ## 讓進程回到前臺

 

8echo

相當於javaSystem.out.println(userName)

[root@localhost bbb]# a="婷婷是我的夢中情人"

[root@localhost bbb]#

[root@localhost bbb]# echo a

a

[root@localhost bbb]# echo $a

婷婷是我的夢中情人

 

3.2.2 目錄操作

1 查看目錄信息

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

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

ls -l  有一個別名: ll    可以直接使用ll  <是兩個L>

2 切換工作目錄

cd  /home/hadoop    ## 切換到用戶主目錄

cd ~     ## 切換到用戶主目錄

cd  什麼路徑都不帶,則回到用戶的主目錄

 

cd -     ##  回退到上次所在的目錄

3 創建文件夾

mkdir aaa     ## 這是相對路徑的寫法

mkdir  /data    ## 這是絕對路徑的寫法

mkdir -p  aaa/bbb/ccc   ## 級聯創建目錄

 

4 刪除文件夾

rmdir  aaa   ## 可以刪除空目錄

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

rm  -rf  aaa   ## 強制刪除aaa

 

5 修改文件夾名稱

mv  aaa  angelababy

mv本質上是移動

mv  install.log  aaa/  將當前目錄下的install.log 移動到aaa文件夾中去

 

rename 可以用來批量更改文件名

[root@localhost bbb]# ll

total 0

-rw-r--r--. 1 root root 0 May 22 15:58 1.txt

-rw-r--r--. 1 root root 0 May 22 15:58 2.txt

-rw-r--r--. 1 root root 0 May 22 15:58 3.txt

[root@localhost bbb]# rename .txt .txt.bak *

[root@localhost bbb]# ll

total 0

-rw-r--r--. 1 root root 0 May 22 15:58 1.txt.bak

-rw-r--r--. 1 root root 0 May 22 15:58 2.txt.bak

-rw-r--r--. 1 root root 0 May 22 15:58 3.txt.bak

 

 

3.2.3 文件操作

1 創建文件

touch  somefile.1       

## 創建一個空文件

 

 

echo "i miss you,my baby" > somefile.2     

## 利用重定向>”的功能,將一條指令的輸出結果寫入到一個文件中,會覆蓋原文件內容,如果指定的文件不存在,則會創建出來

 

echo "huangxiaoming ,gun dan" >> somefile.2    

 ## 將一條指令的輸出結果追加到一個文件中,不會覆蓋原文件內容

2 vi文本編輯器

1、最基本用法

vi  somefile.4

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

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

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

4/ 再按,進入底行命令模式”,輸入wq命令,回車即可保存退出

 

2、常用快捷鍵

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

a  在光標後一位開始插入

A   在該行的最後插入

I   在該行的最前面插入

gg   直接跳到文件的首行

G    直接跳到文件的末行

dd    刪除一行

3dd   刪除3

yy    複製一行

3yy   複製3

p     粘貼

u     undo

ctrl + r   redo

 

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

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

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

 

3、查找並替換

(在底行命令模式中輸入)

1顯示行號

:set nu

2 隱藏行號

:set  nonu

3 查找關鍵字

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

 

4 替換操作

:s/sad/bbb    查找光標所在行的第一個sad,替換爲bbb

:%s/sad/bbb      查找文件中所有sad,替換爲bbb

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

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

 

 

 

3 拷貝/刪除/移動

cp  somefile.1   /home/hadoop/

rm /home/hadoop/somefile.1

rm -rf /home/hadoop/somefile.1

mv /home/hadoop/somefile.1  ../

 

 

4 查看文件內容

cat    somefile    一次性將文件內容全部輸出(控制檯)

 

分頁查看文件的命令:

more   somefile     可以翻頁查看, 下翻一頁(空格)    上翻一頁(b)   退出(q

less   somefile      可以翻頁查看,下翻一頁(空格)    上翻一頁(b),上翻一行()  下翻一行(↓)  可以搜索關鍵字(/keyword

跳到文件末尾: G

跳到文件首行: gg

退出less :  q

 

tail -10  install.log  查看文件尾部的10

tail +10  install.log  查看文件 10-->末行

tail -f install.log    f跟蹤文件的唯一inode號,就算文件改名後,還是跟蹤原來這個inode表示的文件

tail -F install.log    F按照文件名來跟蹤

 

head  -10  install.log   查看文件頭部的10

 

5 打包壓縮

1gzip壓縮

gzip a.txt

 

2、解壓

gunzip a.txt.gz

gzip -d a.txt.gz

 

3bzip2壓縮

bzip2 a

 

4、解壓

bunzip2 a.bz2

bzip2 -d a.bz2

 

5打包:將指定文件或文件夾

tar -cvf bak.tar  ./aaa

/etc/password追加文件到bak.tar(r)

tar -rvf bak.tar /etc/password

 

6、解壓

tar -xvf bak.tar

 

7打包並壓縮

tar -zcvf a.tar.gz  aaa/

 

8、解包並解壓縮(重要的事情說三遍!!!)

tar  -zxvf  a.tar.gz

 

解壓到/usr/

tar  -zxvf  a.tar.gz  -C  /usr

 

9、查看壓縮包內容

tar -ztvf a.tar.gz

zip/unzip

 

10、打包並壓縮成bz2

tar -jcvf a.tar.bz2

 

11、解壓bz2

tar -jxvf a.tar.bz2

 

3.2.4 查找命令

1 常用查找命令的使用

1、查找可執行的命令所在的路徑:

which ls

2、查找可執行的命令和幫助的位置:

whereis ls

3、從某個文件夾開始查找文件

find / -name "hadooop*"

find / -name "hadooop*" -ls

5、查找並刪除

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

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

6、查找用戶爲hadoop的文件

find  /usr  -user  hadoop  -ls

7、查找用戶爲hadoop的文件夾

find /home -user hadoop -type d -ls

8、查找權限爲777的文件

find / -perm -777 -type d -ls

 

 

**、顯示歷史命令

history

 

2 grep命令

1/ 基本使用

查詢包含hadoop的行

grep hadoop /etc/password

grep aaa  ./*.txt

 

2/ cut截取以:分割保留第七段

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

 

3/ 查詢不包含hadoop的行

grep -v hadoop /etc/passwd

 

4/ 正則表達包含hadoop

grep 'hadoop' /etc/passwd

 

5/ 正則表達(點代表任意一個字符)

grep 'h.*p' /etc/passwd

 

6/ 正則表達以hadoop開頭

grep '^hadoop' /etc/passwd

 

7/ 正則表達以hadoop結尾

grep 'hadoop$' /etc/passwd

 

正則表達式的簡單規則:

.  : 任意一個字符

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

a? : 零個或一個a

a+ : 一個或多個a

.* : 任意多個任意字符

\. : 轉義.

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

 

查找不是以#開頭的行

grep -v '^#' a.txt | grep -v '^$'

 

hr開頭的

grep '^[hr]' /etc/passwd

 

不是以hr開頭的

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

 

不是以hr開頭的

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

3.2.5 文件權限的操作

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

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

 

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

r:可讀   w:可寫    x:可執行

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

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

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

 

 

2 修改文件權限

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 a-x haha.dat        ## 表示將haha.dat對所用戶取消x權限

 

 

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

chmod 664 haha.dat   

就會修改成   rw-rw-r--

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

chmod -R 770 aaa/

3 修改文件所有權

<只有root權限能執行>

chown angela  aaa ## 改變所屬用戶

chown :angela  aaa ## 改變所屬組

chown angela:angela aaa/ ## 同時修改所屬用戶和所屬組

 

 

 

補充:

r:  對文件來說,是可讀取內容;  對文件夾來說,是可以ls

w:  對文件來說,是可修改文件的內容;對文件夾來說,是可以在其中創建或者刪除子節點

x: 對文件來說,是能否運行這個文件;對文件夾來說,是能否cd進入這個目錄

 

 

3.2.6 基本的用戶管理

需要我們掌握的:

添加一個用戶:

1、   useradd spark

2、   passwd spark     根據提示設置密碼;

即可

 

刪除一個用戶:

userdel -r spark     加一個-r就表示把用戶及用戶的主目錄都刪除

 

 

1 添加用戶

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

分步完成:useradd tom

          usermod -g users tom

      usermod -c "hr tom" tom

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

 

設置tom用戶的密碼

passwd tom

 

2 修改用戶

修改tom用戶的登陸名爲tomcat

usermod -l tomcat tom

 

tomcat添加到sysroot組中

usermod -G sys,root tomcat

 

查看tomcat的組信息

groups tomcat

 

3 用戶組操作

添加一個叫america的組

groupadd america

 

jerry添加到america組中

usermod -g america jerry

 

tomcat用戶從root組和sys組刪除

gpasswd -d tomcat root

gpasswd -d tomcat sys

 

america組名修改爲am

groupmod -n am america

 

4 爲用戶配置sudo權限

root編輯 vi /etc/sudoers

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

root    ALL=(ALL)       ALL     

hadoop  ALL=(ALL)       ALL

 

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

[hadoop@shizhan ~]$ sudo useradd huangxiaoming

 

 

3.2.7 系統管理操作

1 掛載外部存儲設備

可以掛載光盤、硬盤、磁帶、光盤鏡像文件等

1/ 掛載光驅

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

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

 

2/ 掛載光盤鏡像文件(.iso文件)

mount -t iso9660 -o loop  /home/hadoop/Centos-6.7.DVD.iso /mnt/centos

注:掛載的資源在重啓後即失效,需要重新掛載。要想自動掛載,可以將掛載信息設置到/etc/fstab配置文件中,如下:

/dev/cdrom              /mnt/cdrom              iso9660 defaults        0 0

/root/CentOS-6.7-x86_64-bin-DVD1.iso    /mnt/centos     iso9660 defaults,ro,loop        0 0

 

3/ 卸載 umount

umount /mnt/cdrom

 

** 存儲空間查看

df -h

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

du -sh  /mnt/cdrom/packages   ## 統計指定路徑下的所有子目錄和文件的大小

df -h    查看磁盤的剩餘空間

 

3 系統服務管理

service --status-all   # 查看系統所有的後臺服務進程

service sshd status   # 查看指定的後臺服務進程的狀態

service sshd stop

service sshd start

service sshd restart

 

配置後臺服務進程的開機自啓

chkconfig httpd on  ## httpd服務開機自啓

chkconfig httpd off  ## httpd服務開機不要自啓

[root@localhost ~]# chkconfig httpd off

[root@localhost ~]# chkconfig --list | grep httpd

httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

[root@localhost ~]# chkconfig --level 35 httpd on

[root@localhost ~]# chkconfig --list | grep httpd

httpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off

 

 

 

 

 

4 系統啓動級別管理

vi  /etc/inittab

 

# Default runlevel. The runlevels used are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode     ##  沒有圖形界面的全功能的多用戶的啓動級別

#   4 - unused

#   5 - X11           ##  有圖形界面的啓動級別

#   6 - reboot (Do NOT set initdefault to this)

#

id:3:initdefault:         ##  配置默認啓動級別

## 通常將默認啓動級別設置爲:3

5 進程管理

top

free

ps -ef | grep ssh

kill -9 2358     ## 將指定進程號的進程殺死

 

注意:grep搜索關鍵詞的時候會把自己也搜索出來,對比以下兩種寫法

[root@localhost ~]# ps -ef | grep sixunhuan

root       2857   2465 30 02:41 pts/0    00:00:07 sh sixunhuan.sh

root       2874   2858  0 02:42 pts/1    00:00:00 grep sixunhuan

[root@localhost ~]# ps -ef | grep sixunhuan | grep -v grep

root       2857   2465 34 02:41 pts/0    00:00:25 sh sixunhuan.sh

[root@localhost ~]# kill -9 2857

 

 

3.2.8 SSH免密登陸配置

1 SSH工作機制

1、相關概念

SSH Secure Shell(安全外殼協議) 的縮寫。

很多ftppoptelnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而SSH就是專爲遠程登錄會話和其他網絡服務提供安全性的協議。

 

SSH的具體實現是由客戶端和服務端的軟件組成的

服務端是一個守護進程(sshd),他在後臺運行並響應來自客戶端的連接請求。

客戶端包含ssh程序以及像scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應用程序。

 

2、認證機制

從客戶端來看,SSH提供兩種級別的安全驗證。

v 第一種方式(基於口令的安全驗證

只要你知道自己帳號和口令,就可以登錄到遠程主機。

 

v 第二種方式(基於密鑰的安全驗證

需要依靠密匙,也就是你必須爲自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之後,先在該服務器上你的主目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟件。客戶端軟件收到“質詢”之後就可以用你的私人密匙解密再把它發送給服務器。

2 密鑰登陸方式配置

 

假如 A  要登陸  B

A上操作:

1/ 首先生成密鑰對

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

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

ssh-copy-id   B

 

 

3.2.9 網絡管理

1 主機名配置

1/ 查看主機名

hostname

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

hostname hadoop

 

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

vi /ect/sysconfig/network

 

2 IP地址配置

修改IP地址

1/ 方式一:setup

root輸入setup命令,進入交互式修改界面

 

2/ 方式二:修改配置文件

(重啓後永久生效)

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

 

3/ 方式三:ifconfig命令

(重啓後無效)

ifconfig eth0 192.168.12.22

 

3 域名映射

/etc/hosts文件 用於在通過主機名進行訪問時做ip地址解析之用

所以,你想訪問一個什麼樣的主機名,就需要把這個主機名和它對應的ip地址配置在/etc/hosts文件中

[root@angelababy01 ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.33.11   angelababy01

192.168.33.12   angelababy02

192.168.33.13   angelababy03

 

 

 

 

4 網絡服務管理

1/ 後臺服務管理

service network status    查看指定服務的狀態

service network stop     停止指定服務

service network start     啓動指定服務

service network restart   重啓指定服務

service --status-all       查看系統中所有的後臺服務

 

2/ 設置後臺服務的自啓配置

chkconfig   查看所有服務器自啓配置

chkconfig iptables off   關掉指定服務的自動啓動

chkconfig iptables on   開啓指定服務的自動啓動

 

5 系統中網絡進程的端口監聽情況

netstat -nltp

 

** 補充:Linux的網卡壞了怎麼辦

1、先刪掉舊網卡

vi /etc/udev/rules.d/70-persistent-net.rules

 

2halt linux系統

3、通過vmware卸載原來的網卡,再新增一塊網卡

470-persistent-net.rules 裏面會自動生成那塊新網卡的硬件信息

5、編輯網卡的配置文件/etc/sysconfig/network-script/ifcfg-eth0

刪掉其中的UUID    HWADDR

並且修改IP配置等,如下:

DEVICE="eth0"

BOOTPROTO=none

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.33.20

PREFIX=24

GATEWAY=192.168.33.1

DNS1=192.168.33.1

NAME="System eth0"

 

6service network restart    重啓網絡服務即可

 

 

 

04/ Linux上常用軟件安裝

4.1 Linux系統軟件安裝方式

Linux上的軟件安裝有以下幾種常見方式:

1、二進制發佈包

軟件已經針對具體平臺編譯打包發佈,只要解壓,修改配置即可

 

2、RPM發佈包

軟件已經按照redhat的包管理工具規範RPM進行打包發佈,需要獲取到相應的軟件RPM發佈包,然後用RPM命令進行安裝

 

3、Yum在線安裝

軟件已經以RPM規範打包,但發佈在了網絡上的一些服務器上,可用yum在線安裝服務器上存在的rpm軟件,並且會自動解決軟件安裝過程中的庫依賴問題

(注:類似於maven

 

4、源碼編譯安裝

軟件以源碼工程的形式發佈,需要獲取到源碼工程後用相應開發工具進行編譯打包部署

 

4.2 JAVA軟件安裝——JDK安裝

1、上傳jdk壓縮包

通過sftp工具上傳即可

2、解壓jdk壓縮包

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

3、修改環境變量PATH

vi /etc/profile

在文件最後加兩行:

export JAVA_HOME=/usr/local/jdk1.7.0_67

export PATH=$PATH:$JAVA_HOME/bin

4、讓環境變量生效

source /etc/profile

即可

 

4.3 JAVA軟件安裝——Tomcat安裝

tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /usr/local/

cd /usr/local/apache-tomcat-7.0.47/bin/

./startup.sh

 

4.4 RPM方式軟件安裝——MySql數據庫安裝

4.4.4 desktop版的centos中安裝mysql

沒有上述那麼麻煩,基本上都不缺依賴,過程如下:

 

1、先裝server

rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

發現了包衝突,執行刪除包的命令解決:

rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps

然後繼續重新安裝server

rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

一定要確保server安裝成功!!!

 

2、再裝client

rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

 

3、啓動server

service mysql start

檢查啓動是否成功:

service mysql status  或者  查看端口:netstat -nltp  看是否有進程在監聽3306

 

4、用客戶端連接到mysql-server上進行root密碼的修改

注:在server安裝時已經生成了一個隨機的root密碼 ,查看: cat /root/.mysql_secret

然後,運行一個腳本來交互式地修改root密碼即可:/usr/bin/mysql_secure_installation

 

 

 

 

 

 

4.4.1 mini版的centos安裝mysql服務

可以用yum方式來安裝,此處演示在本地使用rpm包安裝

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

 

1、報錯——缺少依賴包perl

error: Failed dependencies:

 perl is needed by MySQL-server-5.1.73-1.glibc23.i386

解決:yum install -y  perl-devel

 

2、報錯——缺少依賴包libc.so.6

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

libc.so.6 is needed by MySQL-server-5.1.73-1.glibc23.i386

解決:yum install -y libc.so.6

 

3、報錯——缺少依賴包 libgcc_s.so.1

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

        libgcc_s.so.1 is needed by MySQL-server-5.1.73-1.glibc23.i386

解決:yum install -y libc.so.1

 

 

4、報錯——依賴包衝突

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

conflicts with file from package mysql-libs-5.1.73-5.el6_6.x86_64

解決:

卸載依賴的衝突包: rpm -e mysql-libs-5.1.73-5.el6_6 --nodeps

 

5、安裝完成——注意提示信息

再次執行安裝

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

Preparing...                ########################################### [100%]

   1:MySQL-server         ########################################### [100%]

 

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

 

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h mini password 'new-password'

 

Alternatively you can run:

/usr/bin/mysql_secure_installation

 

 

** 補充:

如果發生rpm包衝突conflict,怎麼處理

首先,找到有哪些包衝突

rpm -qa | grep mysql

然後,卸載衝突的包

rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps

 

 

 

 

 

4.4.2 安裝mysql客戶端程序

 

1、用rpm命令安裝客戶端

[root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

        libncursesw.so.5 is needed by MySQL-client-5.1.73-1.glibc23.i386

報錯缺依賴,解決之:

yum install -y libncursesw.so.5    ## yum本地源需要更換光盤爲dvd2

 

再次執行安裝

[root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm

Preparing...                ########################################### [100%]

   1:MySQL-client           ########################################### [100%]

 

4.4.3 修改mysql用戶root密碼

安裝完成後,先確定mysql服務進程是否啓動

netstat -nltp

如果有mysql,會監聽3306端口

如果沒有,則手動啓動

service mysql start

1、按照前面的提示,修改密碼

[root@mini ~]# /usr/bin/mysql_secure_installation

進入交互式提示設置,按提示操作即可

 

 

補充:在資料中又給了一個5.6mysql版本,這個安裝完成後,mysqlroot密碼是自動生成的,注意看提示,密碼保存在哪個位置

/root/.mysql_secret

安裝完成後,直接用這個生成的隨機密碼即可登錄mysql

進入mysql後當然可以使用sql來修改root的密碼

mysql>set password=password("root");    

mysql>flush privileges;

 

4.5.4 開啓mysql的遠程登錄權限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

 

 

4.5 YUM方式軟件安裝

4.5.1 從網絡源使用yum安裝軟件

yum install mysql

4.5.2 使用本地Yum源安裝軟件

yum倉庫服務器本質上就是一臺http服務器,服務器的目錄中放置了rpm包,及rpm包的索引信息文件,即可爲yum客戶端提供rpm文件下載

 

 

既然如此,則完全可以在“本地”製作私有的yum庫來爲內網中的linux提供yum安裝源

 

 

4.5.3 製作私有yum源的兩種方式

1、製作基於本地磁盤路徑的yum

本地yum源,即yum源就在系統的本地目錄中,所以連web服務器都不用,只要準備好rpm庫存放路徑及相關索引配置信息即可

示例:將Centos-DVD.iso盤製作成一個本地yum

 

2、製作基於內網web服務器的yum

總結:

1、在一臺機器上部署一個httpd web服務器,確保httpd運行成功

2、將光盤鏡像文件插入虛擬機的光驅

3、將光驅掛載到httpdhtml/centos目錄中

4、修改yumrepo庫配置文件/etc/yum.repos.d/centos-local-web.repo,如下:

[c6-local-web]

name=CentOS-local-web

baseurl=http://angelababy01/centos6

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

5、接下來,就可以用yum安裝庫中擁有的任何軟件了

yum  install  -y  tomcat6.x86_64

 

 

詳解版:

1、先安裝一個http服務器: 首選httpd

先找一下我們要的包在倉庫中有沒有

yum list | grep httpd

yum install -y httpd

 

2、安裝完成後,檢查httpd的運行狀態

service httpd status

 

3、在httpd服務的web目錄中放入rpm

比如,將centos安裝光盤中的rpm庫放入:

mkdir /var/www/html/centos

cp  -r /mnt/cdrom/*   /var/www/html/centos/

注:上面這種方式比較浪費空間,可以不用拷貝,其實只要創建一個軟連接即可

ln -s /mnt/cdrom   /var/www/html/centos

 

4、用瀏覽器訪問一下httpd服務,看是否能看到rpm

http://mini1/centos

 

5、配置yum客戶端repo地址文件

將本地http服務器加入repo地址

首先,將內置的源全部disable

cd /etc/yum.repos.d/

rename .repo .repo.bak *

然後,新建一個repo源,

vi  innet.repo

[innet]

name=innet

baseurl=http://192.168.33.20/centos

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

~

 

接下來,檢查我們自定義的源是否生效

[root@shizhan01 yum.repos.d]# yum repolist

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

innet                                                                        | 4.0 kB     00:00     

innet/primary_db                                                             | 4.6 MB     00:00     

repo id                                         repo name                                     status

innet                                           innet                                         6,575

repolist: 6,575

 

再接下來,就可以使用yum像從公網安裝軟件一樣在內網服務器上下載軟件進行安裝了

yum install -y 你要的軟件

 

 

3、自定義rmprepo

1、在http服務器的web目錄/var/www/html下建一個文件夾用來存放rpm

mkdir /var/www/html/myrpms

cp  ~/MySQL-*  /var/www/html/myrpms

 

 

2、然後執行命令生成索引信息:

cd /var/www/html/myrpms

createrepo ./

 

3、如果提示命令找不到

[root@mini ~]# createrepo

-bash: createrepo: command not found

則安裝該命令

[root@mini ~]# yum install -y createrepo

 

4、命令安裝成功後,再次執行

[root@mini html]# createrepo ./

Spawning worker 0 with 2 pkgs

Workers Finished

Gathering worker results

 

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

 

5、可以看到生成的索引信息

 

 

6、通過yum客戶端查看

yum list | grep MySQL

 

 

 

 

4.6 C語言軟件源碼編譯安裝——redis服務器安裝

用源碼工程來編譯安裝

1/ 到官網下載最新stable

2/ 解壓源碼並進入目錄  tar -zxvf redis-2.8.19.tar.gz  -C  ./redis-src/

3/  make

如果報錯提示缺少gcc,則安裝gcc :  yum install -y gcc

如果報錯提示:Newer version of jemalloc required

則在make時加參數:make MALLOC=libc

 

4/ 安裝redis,指定安裝目錄,/usr/local/redis

make PREFIX=/usr/local/redis install

 

6/ 拷貝一份配置文件到安裝目錄下

切換到源碼目錄,裏面有一份配置文件 redis.conf,然後將其拷貝到安裝路徑下

cp redis.conf /usr/local/redis/

 

7/ 啓動redis

cd /usr/local/redis

bin/redis-server redis.conf

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