Linux--3

1、用戶管理

  現代操做系統通常屬於多用戶的操做系統,也就是說,同一臺機器能夠爲多個用戶創建帳戶,通常這些用戶都是爲普通用戶,這些普通用戶能同時登陸這臺計算機,計算機對這些用戶分配必定的資源。html

  普通用戶在所分配到的資源內進行各自的操做,相互之間不受影響。可是這些普通用戶的權限是有限制的,且用戶太多的話,管理就不便,從而引入root用戶。前端

  root用戶是惟一的,且擁有系統的全部權限。root用戶所在的組稱爲root組。「組」是具備類似權限的多個用戶的集合。python

一、root用戶相關

  Linux系統的特性就是能夠知足多給用戶,同時工做,所以Linux系統必須具有很好的安全性。mysql

  在安裝RHEL7時設置的root管理員密碼,這個root管理員就是全部UNIX系統中的超級用戶,它擁有最高的系統全部權,可以管理系統的各項功能,如添加和刪除用戶,啓動和關閉進程,開啓和禁用硬件設備等。所以「能力越大,責任就越大」,root權限必須很好的掌握,不然一個錯誤的命令可能會摧毀整個形態。linux

  (1)在Linux系統中,用戶有本身的UID身份帳號,且帳號惟一:nginx

  - 系統管理員(即root用戶)UID爲0;
  - 系統用戶UID爲1~999,Linux安裝的服務程序都會建立獨有的用戶負責運行;
  - 普通用戶UID從1000開始,由管理員建立的用戶;

  (2)GID(用戶組號碼):git

  爲了方便管理屬於同一組的用戶,Linux 系統中還引入了用戶組的概念。經過使用用戶組號碼(GID,Group IDentification),咱們能夠把多個用戶加入到同一個組中,從而方便爲組中的用戶統一規劃權限或指定任務。web

  假設有一個公司中有多個部門,每一個部門中又有不少員工。若是隻想讓員工訪問本部門內的資源,則能夠針對部門而非具體的員工來設置權限。redis

  例如,能夠經過對技術部門設置權限,使得只有技術部門的員工能夠訪問公司的數據庫信息等。sql

  查看uid和gid,以下:

                                       

 

 

二、建立普通用戶

1
2
useradd wll     添加新用戶wll, / home目錄下新增目錄wll,且 / etc / passwd新增該用戶信息
passwd wll      爲用戶wll設置密碼,若只寫passwd,則表示修改當前用戶的密碼

  /etc/passwd 存放用戶信息,/etc/group  存放用戶組信息,以下:

  注意:root用戶能夠修改其餘全部人的密碼,且不須要驗證,普通用戶只有本身基本的權限,以下:

三、切換用戶  

  su命令能夠切換用戶身份

1
su  -  用戶名

  注意:su命令中間的 - 很重要,意味着徹底切換到新的用戶,即環境變量信息也變動爲新用戶的信息。

四、修改linux的命令提示符(PS1變量)

  上述方法暫時生效,退出再登陸則失效,能夠經過在/etc/profile文件中加入全局變量PATH的值用於永久生效 。更多參數以下:

  參數

五、用戶組添加

1
groupadd 用戶組名

六、刪除用戶

1
userdel  - rf wll   

  參數解釋:

    -f   強制刪除用戶

    -r   同時刪除用戶以及家目錄

七、sudo命令

  sudo命令用來以其餘身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經受權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,以後有5分鐘的有效期限,超過時限則必須從新輸入密碼。

語法:sudo  [選項]  [參數]
參數:
  -b:在後臺執行指令;                         
  -h:顯示幫助;
  -H:將HOME環境變量設爲新身份的HOME環境變量;
  -k:結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼;
  -l:列出目前用戶可執行與沒法執行的指令;
  -p:改變詢問密碼的提示符號;                 
  -s<shell>:執行指定的shell;
  -u<用戶>:以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份;
  -v:延長密碼有效期限5分鐘;                 
  -V :顯示版本信息;

  這個sudo命令在何時使用呢?

  上圖中是因爲使用sudo命令前必須編輯/etc/sudoers文件,而且只有root才能修改,並咱們能夠經過visudo命令直接編輯sudoers文件,visudo命令還能夠檢查語法,比經過vim  /etc/sudoers直接編輯更安全。

1
[root@localhost ~] # visudo
  ## Allow root to run any commands anywhere
  root    ALL=(ALL)       ALL
  wll     ALL=(ALL)       ALL     # 容許用戶wll在任何地方,執行任何命令

  再使用sudo命令執行查看root家目錄,結果以下:

八、修改主機名

1
[root@localhost ~] # hostnamectl set-hostname myhost

  Xshell須要從新鏈接linux方可看見修改後的主機名。

九、其餘命令和快捷鍵

logout              退出用戶登陸   
exit                退出用戶登陸
ctrl + l            清屏
ctrl + d            xshell快捷鍵,退出用戶登陸
ctrl + shift + r    xshell快捷鍵,快速鏈接

2、文件與目錄權限

  Linux權限的目的是保護帳戶的資料。

Linux權限主要依據三種身份來決定:
  user/owner 文件使用者,文件屬於哪一個用戶,即屬主;
  group 文件屬於哪一個組,即屬組;
  others 既不是user,也再也不group,就是other,即其餘人;

一、什麼是權限

  在Linux中,每一個文件都有所屬的用戶和所屬組,而且規定了文件的所屬者,所屬組以及其餘人對文件的,可讀,可寫,可執行等權限。

  對於目錄的權限來講,可讀是讀取目錄文件列表,可寫是表示在目錄內新增,修改,刪除文件。可執行表示能夠進入目錄。

二、查看和解讀權限

  使用一條命令查看權限,以下圖:

解讀上圖:
  - 權限,第一個字母爲文件類型,後續9個字母,每3個一組,是三種身份的權限
  - 文件連接數
  - 文件擁有者-屬主
  - 文件擁有組-屬組
  - 文件大小
  - 最後一次被修改的時間日期
  - 文件名 
文件類型有以下幾種:
  -   普通文件
  d   文件夾
  l   軟連接,快捷方式
  b   塊設備,存儲媒體文件爲主
  c   表明鍵盤、鼠標等設備

  文件權限:

  r    read可讀,能夠用cat、vi、more、less、head、tail、tac等命令查看
  w    write可寫入,能夠編輯或者刪除這個文件
  x    executable,二進制程序,能夠運行的程序

  目錄權限:

  r    能夠對此目錄執行ls列出全部文件
  w    能夠在這個目錄建立文件,注意:w的前提是有x權限
  x    能夠cd進入這個目錄,或者查看詳細信息

  注意:權限測試不要用root,root太牛逼了,請用普通用戶執行,測試文件、文件夾權限操做。

三、權限與數字轉化

1
2
[root@localhost ~] # ls -l /etc/passwd
- rw - r - - r - -  1  root root  1365  Dec  28  18 : 57  / etc / passwd

  這個就表明passwd文件屬主是root,屬組是root,只有root用戶能夠讀取編寫這個文件,其餘人只能讀此文件。

四、修改權限(rwx)

  咱們已知三種身份權限(屬主,屬組,其餘人),每種身份都有rwx的三種權限,系統還提供了數字計算權限。

  咱們使用chmod命令修改文件權限,有以下兩種方式:

  當前權限:-rw-rw-r-- 1 root root 1365 Dec 28 18:57 /tmp/test.txt

  方式一:

1
2
3
[root@localhost ~] # chmod u-w /tmp/test.txt            屬主去掉w寫權限
[root@localhost ~] # chmod g-w /tmp/test.txt            屬組去掉w寫權限
[root@localhost ~] # chmod o+w /tmp/test.txt            其餘用戶添加r讀權限

  最後權限變爲:-r--r--rw- 1 root root 1365 Dec 28 18:57 /tmp/test.txt

  方式二(經常使用):

1
[root@localhost ~] # chmod 752 /tmp/test.txt

  最後權限變爲:-rwxr-x-w- 1 root root 1365 Dec 28 18:57 /tmp/test.txt

五、修改屬主

  使用chown(change owner)命令修改屬主,以下:

1
[root@localhost ~] # chown wll /tmp/test.txt     修改屬主爲wll用戶

六、修改屬組

  使用chgrp(change group)命令修改屬組,以下:

1
[root@localhost ~] # chgrp wll /tmp/test.txt     修改屬組爲wll組

3、經常使用命令

一、軟連接

  軟連接也叫作符號連接,相似於windows的快捷方式。經常使用於安裝軟件的快捷方式配置,如python,nginx等。

  使用ln命令配置軟連接。

語法:ln  -s  目標文件絕對路徑  快捷方式的絕對路徑

  示例:

1
[root@localhost ~] # ln -s /opt/my.txt  /tmp/mytest.txt

  用途:

  將python3.6的解釋器,添加快捷方式到 /usr/local/sbin/python,命令以下:

1
[root@localhost ~] # ln -s  /opt/python36/bin/python3.6  /usr/local/sbin/python

  由於路徑/usr/local/sbin在環境變量PATH中,這樣,當咱們輸入python的時候,就能夠找到。

二、tar命令

  人們發明了各類各樣的包,不管是雙肩包,或者是裝在口袋,都是爲了讓「文件」更方便攜帶。linux的文件打包工具最出名的是tar。

  tar 命令用來壓縮和解壓文件。tar自己不具備壓縮功能。他是調用壓縮功能實現的。

語法:tar 選項 參數
  參數:
    -c 壓縮
    -x 解壓
    -v 顯示過程
    -f 指定文件,注意這個參數要寫在最後
    -z 經過gzip指令處理備份文件?????
    -C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項

  示例:

1
[root@localhost ~] # tar -cvf allTmp.tar  /tmp/*     壓縮/tmp目錄下的全部文件到allTmp.tar包

  結果以下:

1
[root@localhost tmp] # tar -xvf  allTmp.tar          將allTmp.tar中內容解壓縮到當前目錄

三、netstat命令 

  netstat命令用來打印Linux中網絡系統的狀態信息,可以讓你得知整個Linux系統的網絡狀況。

複製代碼
  語法:netstat [選項]
  選項參數:
    -t或--tcp:顯示TCP傳輸協議的連線情況;
    -u或--udp:顯示UDP傳輸協議的連線情況;
    -n或--numeric:直接使用ip地址,而不經過域名服務器;
    -l或--listening:顯示監控中的服務器的Socket;
    -p或--programs:顯示正在使用Socket的程序識別碼和程序名稱;
    -a或--all:顯示全部連線中的Socket;
複製代碼

  示例以下:

四、關於來自於同一臺機器的三個ip

  0.0.0.0           127.0.0.1 加上 192.168.12.13 ,暴露應用又在對外的ip地址,又暴露在本身的迴環地址
  127.0.0.1         本機迴環地址,表明機器本身的ip,其餘人訪問不到,而且每一個人都有本身的127.0.0.1
  192.168.12.13     本地對外能夠提供訪問的 ip地址 ,每一個人都不同

五、ps命令

  ps 命令用於查看系統中的進程狀態,語法爲:ps  [參數]。
  參數:
    -a     顯示全部進程
    -u     用戶以及其餘詳細信息
    -x     顯示沒有控制終端的進程

  示例:

1
[root@localhost ~] # ps  -ef

六、kill命令

  kill命令用來刪除執行中的程序或工做。若是你kill一個進程,死活殺不死,就加上 -9,以下:

1
[root@localhost ~] # kill -9 36223          強制殺死pid爲36223的進程

七、selinux

  SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,這個功能管理員又愛又恨,大多數生產環境也是關閉的作法,安全手段使用其餘方法。

  大多數ssh鏈接不上虛擬機,都是由於防火牆和selinux阻擋了。

  1)永久關閉selinux的方式:

    - 修改配置文件以前 /etc/selinux/config 以前先備份,好習慣

1
[root@localhost ~] # cp /etc/selinux/config  /etc/selinux/config.bak

    - vim編輯/etc/selinux/config

1
2
3
4
5
6
7
[root@localhost ~] # vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.            開啓
#     permissive - SELinux prints warnings instead of enforcing. 臨時關閉
#     disabled - No SELinux policy is loaded.                      永久關閉
SELINUX = enforcing             此行改成SELINUX = disabled

    - 使用selinux提供的getenforce命令檢查是否修改爲功

1
2
[root@localhost ~] # getenforce
disabled          出現disabled表示已經將selinux改成永久關閉,重啓機器生效

  2)臨時關閉selinux的方式(命令行修改,重啓失效):

    使用setenforce命令修改selinux狀態,以下:

1
[root@localhost ~] # setenforce 0            防火牆設爲臨時關閉

  解釋:

    數字0      表示permissive

    數字1      表示enforcing

  注意:修改selinux配置文件後,想要生效須要重啓系統,因此技巧就是(修改配置文件+命令行修改,達到當即生效)。

  由於生產環境的服務器是禁止隨意重啓的!!!!

八、iptables防火牆

  在學習階段,關閉防火牆能夠更方便的學習,在企業環境中,通常只有配置外網ip的linux服務器纔會開啓防火牆,可是對於高併發流量的業務服務器仍然是不能開啓的,會有很大性能損失,所以須要更nb的硬件防火牆。

1
2
[root@localhost ~] # iptables -F        清空防火牆規則
[root@localhost ~] # iptables -L        查看防火牆規則,結果以下3條,表示沒有規則了

1
2
3
4
systemctl status firewalld           查看防火牆狀態
systemctl start firewalld            開啓防火牆
systemctl stop firewalld             關閉防火牆
systemctl disable firewalld          關閉防火牆開機啓動

九、Linux中文顯示設置(防止中文亂碼)

  Linux下經常使用字符集有:

    - GBK    實際企業應用較少

    - UTF-8  普遍支持,MYSQL也使用UTF-8,企業普遍使用

1
2
3
4
[root@localhost ~] # echo $LANG             查看系統當前字符集
修改配置文件 / etc / locale.conf 爲以下內容:
LANG = "zh_CN.UTF-8"
[root@localhost ~] # source  /etc/locale.conf      讀取命令,使得配置文件在系統中生效

十、df命令

  df命令用於顯示磁盤分區上的可以使用的磁盤空間。默認顯示單位爲KB。能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。

1
[root@localhost ~] # df -h              使用-h選項以KB以上的單位來顯示,可讀性高

十一、tree命令

1
[root@localhost ~] # tree               目錄結構以樹狀圖顯示文件

  注意:若沒有此命令可經過以下命令安裝

1
[root@localhost ~] # yum install tree -y

十二、DNS

  DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。

  經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。

  常見的互聯網dns服務器:
    8.8.8.8                 谷歌的dns服務器
    114.114.114.114         114dns服務器地址
    223.5.5.5 和 223.6.6.6   阿里巴巴的dns服務器地址
    119.29.29.29            騰訊的dns服務器地址

  Linux的dns配置文件是/etc/resolv.conf,查看以下圖:

  能夠編輯/etc/resolv.conf文件,增長一個dns服務器,以下:

  本地強制dns解析文件/etc/hosts,查看結果以下:

 

  注意:dns的解析順序是

    /etc/hosts

    /etc/resolv.conf

1三、nslookup命令

  nslookup命令是經常使用域名查詢工具,就是查DNS信息用的命令。

  nslookup有兩種工做模式,即「交互模式」和「非交互模式」。在「交互模式」下,用戶能夠向域名服務器查詢各種主機、域名的信息,或者輸出域名中的主機列表。而在「非交互模式」下,用戶能夠針對一個主機或域名僅僅獲取特定的名稱或所需信息。

  進入交互模式,直接輸入nslookup命令,不加任何參數,則直接進入交互模式,此時nslookup會鏈接到默認的域名服務器(即/etc/resolv.conf的第一個dns地址)。或者輸入nslookup -nameserver/ip。 進入非交互模式,輸入nslookup 域名就能夠了,以下:

1
[root@localhost ~] # nslookup www.baidu.com

1四、crond服務

  crond服務相關的軟件包:

1
2
3
4
[root@MiWiFi - R3 - srv ~] # rpm -qa |grep cron
cronie - anacron - 1.4 . 11 - 14.el7 .x86_64
crontabs - 1.11 - 6.20121102git .el7.noarch
cronie - 1.4 . 11 - 14.el7 .x86_64

  這些包在最小化安裝系統時就已經安裝了,而且會開機自啓動crond服務,併爲咱們提供好編寫計劃任務的crontab命令。

  crontab命令被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似。

  什麼是計劃任務?

  後臺運行,到了預約的時間就會自動執行的任務,前提是:事先手動將計劃任務設定好。這就用到了crond服務。

語法:crontab  (選項)  (參數)
  參數:
    -e:編輯該用戶的計時器設置;
    -l:列出該用戶的計時器設置;
    -r:刪除該用戶的計時器設置;
    -u<用戶名稱>:指定要設定計時器的用戶名稱;

  示例:

1
2
[root@localhost ~] # crontab -l              查看任務
[root@localhost ~] # crontab -e              編輯任務
crontab配置文件/etc/crontab,是系統任務調度的配置文件,內容以下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

  crontab任務配置基本格式:

*           *          *         *         *                  command
  分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天)    命令

  第1列表示分鐘1~59 每分鐘用*或者 */1表示
  第2列表示小時1~23(0表示0點)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列標識號星期0~6(0表示星期天)
  第6列要運行的命令

  星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做,例如,30 08 * * *  天天8.30去上班  
  逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如「1,2,5,7,8,9」
  中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
  正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次
  注意:全部命令必定要用絕對路徑來寫!

  

  示例:

每分鐘執行一次命令
* * * * * 命令
每小時的3,15分組執行命令
3,15 * * * * 命令
在上午8-11點的第3和第15分鐘執行
3,15 8-11 * * * 命令
每晚21:30執行命令
21 * * * 命令
每週6、日的1:30執行命令
1 * * 6,0 命令
每週一到週五的凌晨1點,清空/tmp目錄的全部文件
1 * * 1-5 /usr/bin/rm -rf /tmp/*
每晚的21:30重啓nginx
21 * * * /opt/nginx/sbin/nginx -s reload
每個月的1,10,22日的4:45重啓nginx
4 1,1,10,22 * * /opt/nginx/sbin/nginx -s reload
每一個星期一的上午8點到11點的第3和15分鐘執行命令
3,15 8-11 * * 1 command
每隔三分鐘執行下時間同步
*/3  *  *  *  *  /usr/sbin/ntpdate  ntp1.aliyun.com

4、Linux軟件包管理

一、linux軟件包介紹

  咱們都知道windows系統的軟件包有以下幾種:

    .exe可安裝格式

    .msi 可執行安裝文件

    .zip  壓縮格式

    .rar 壓縮包格式

    ......

  軟件包顧名思義就是將應用程序、配置文件和數據打包的產物,全部的linux發行版都採用了某種形式的軟件包系統,這使得linux軟件管理和在windows下同樣方便,suse、red hat、fedora等發行版都是用rpm包,Debian和Ubuntu則使用.deb格式的軟件包。

 

  程序(或軟件)組成部分:
    二進制程序   可執行命令
    庫           .so文件
    配置文件     .conf
    幫助文件     readme    /usr/share/man

  Linux軟件格式和安裝有以下三種方式:

  1)源碼包格式

    - 下載源碼包,如安裝python3就要下載python3的源碼包

    - 解壓縮源碼包,切換目錄

    - 編譯且安裝

    - 配置環境變量

    - 使用python3

  2)rpm二進制包格式(這種安裝方式,須要手動解決依賴關係,有可能裝一個mysql,裝個倆小時)

    - 下載軟件的rpm格式包

    - rpm -ivh lrzsz.rpm

    - 使用lrzsz工具

    補充:

    lrzsz這是軟件包的名字

    提供了命令是

    rz 接收文件

    sz  發送文件

    注意:若是直接安裝mysql5.6.rpm,依賴了不少其餘的軟件包,我就得一個一個解決依賴,因此rpm安裝方式,須要手動解決依賴關係,很麻煩,不建議使用。

  3)yum安裝方式

    yum工具,自動的搜索下載rpm包,且安裝,且解決依賴關係,自動處理下載其餘的依賴rpm包

二、yum命令

  yum命令是在Fedora和RedHat以及SUSE中基於rpm的軟件包管理器,它可使系統管理人員交互和自動化地更細與管理RPM軟件包,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。

  儘管 RPM 可以幫助用戶查詢軟件相關的依賴關係,但問題仍是要運維人員本身來解決, 而有些大型軟件可能與數十個程序都有依賴關係,在這種狀況下安裝軟件會是很是痛苦的。Yum 軟件倉庫即是爲了進一步下降軟件安裝難度和複雜度而設計的技術。Yum 軟件倉庫能夠根據用戶的要求分析出所需軟件包及其相關的依賴關係,而後自動從服務器下載軟件包並安裝到系統。

  Yum 軟件倉庫中的RPM 軟件包能夠是由紅帽官方發佈的,也能夠是第三方發佈的,固然也能夠是本身編寫的。

  yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。 

語法:yum (選項) (參數)
  參數:
    -h:顯示幫助信息;
    -y:對全部的提問都回答「yes」;
    -c:指定配置文件;
    -q:安靜模式;
    -v:詳細模式;
    -d:設置調試等級(0-10);
    -e:設置錯誤等級(0-10);
    -R:設置yum處理一個命令的最大等待時間;
    -C:徹底從緩存中運行,而不去下載或者更新任何頭文件;

三、yum源

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

  說到yum源就必須說到linux系統中特有的依賴關係問題,yum就是爲了解決依賴關係而存在的。yum源就至關是一個目錄項,當咱們使用yum機制安裝軟件時,若須要安裝依賴軟件,則yum機制就會根據在yum源中定義好的路徑查找依賴軟件,並將依賴軟件安裝好。

  YUM是「Yellow dog Updater, Modified」的縮寫,是一個軟件包管理器,YUM從指定的地方(相關網站的rpm包地址或本地的rpm路徑)自動下載RPM包而且安裝,可以很好的解決依賴關係問題。

  yum源的倉庫路徑是/etc/yum.repos.d/,在這個目錄底下,只有以 .repo結尾的文件,纔會被識別爲yum倉庫。

1
2
[root@localhost ~] # cd /etc/yum.repos.d/                進入yum源目錄
[root@localhost yum.repos.d] # ls -l                      查看yum源文件

  

1
[root@localhost yum.repos.d] # cat CentOS-Base.repo     查看CentOS-Base.repo中的鏡像

  

四、配置國內的yum源

  咱們本身沒有yum倉庫,咱們就去拿阿里巴巴的yum倉庫,阿里巴巴的鏡像站網址以下:

  https://opsx.alibaba.com/mirror

  接下來咱們在/etc/yum.repos.d/目錄底下,定製咱們本身的repo倉庫文件。

  1)備份原來的倉庫文件

  2)下載阿里巴巴的yum倉庫文件

1
wget  - / etc / yum.repos.d / CentOS - Base.repo http: / / mirrors.aliyun.com / repo / Centos - 7.repo

    上面命令表示wget下載阿里的倉庫文件,放到/etc/yum.repos.d/目錄,且更名爲CentOS-Base.repo

  3)清除yum緩存

1
[root@localhost yum.repos.d] # yum clean all

  4)生成新的阿里雲的yum軟件緩存

1
[root@localhost yum.repos.d] # yum makecache

    注意:此時你使用yum install xxx就能夠安裝xxx軟件了,可是,你發現有些軟件是不能安裝的,好比yum install nginx,以下:

    這是由於阿里並無把全部軟件都安裝在一個倉庫中,上述過程安裝的倉庫只有寫基礎軟件,因此咱們須要再配置epel額外的倉庫源,這個倉庫裏就存放了不少第三方軟件,例如redis、mysql、nginx。

  5)配置epel倉庫

1
wget  - / etc / yum.repos.d / epel.repo http: / / mirrors.aliyun.com / repo / epel - 7.repo

  6)最好再生成yum緩存

1
[root@localhost yum.repos.d] # yum makecache

  此時,即可以爲所欲爲的使用yum工具了。

五、yum使用示例

1
2
3
yum install nginx   - y                        yum安裝nginx web服務器軟件
nginx                                       啓動nginx服務器          
vim  / usr / share / nginx / html / index.html        根據須要修改index首頁文件

  打開瀏覽器,輸入服務器的ip地址便可看到首頁內容。

六、系統服務管理命令

  只有經過yum安裝的軟件,默認才能使用這個命令管理。

語法:systemctl  start/stop/restart  服務名

  示例:

1
2
3
systemctl  start / stop / restart    mariadb
systemctl  start / stop / restart    redis
systemctl  start / stop / restart    nginx

  注意:可是在centos7系統使用systemctl命令來管理系統服務,而centos6中使用service命令。

  設置開機啓動相關:

 

相關文章
相關標籤/搜索