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 ## 讓進程回到前臺
8、echo
相當於java中System.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 打包壓縮
1、gzip壓縮
gzip a.txt
2、解壓
gunzip a.txt.gz
gzip -d a.txt.gz
3、bzip2壓縮
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 '^$'
以h或r開頭的
grep '^[hr]' /etc/passwd
不是以h和r開頭的
grep '^[^hr]' /etc/passwd
不是以h到r開頭的
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添加到sys和root組中
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(安全外殼協議) 的縮寫。
很多ftp、pop和telnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而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
2、halt linux系統
3、通過vmware卸載原來的網卡,再新增一塊網卡
4、70-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" |
6、service 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.6的mysql版本,這個安裝完成後,mysql的root密碼是自動生成的,注意看提示,密碼保存在哪個位置
/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、將光驅掛載到httpd的html/centos目錄中
4、修改yum的repo庫配置文件/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、自定義rmp包repo
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