linux_06_系統管理

時間管理

# 1 centos 7 新增方式 systemd的一部分 
timedatectl                                     # 查看日期與時間
timedatectl set-time 23:06:45                   # 更新系統時間與硬件時間
timedatectl set-time YYYY-MM-DD 23:06:45        # 更新日期
systemctl  restart systemd-timedated.service    # 重啓時間,使修改生效

timedatectl list-timezones|grep Asia            # 列出時區
timedatectl set-timezone Asia/Hong_Kong         # 更改時區
timedatectl set-ntp yes/no                      # 遠程自動同步開啓/關閉
timedatectl set-local-rtc yes/no    # yes使用本地時間 no使用UTC時間

# 2 軟件時間
date
date -R
date "+%Y-%m-%d %H:%M:%S"
date -s "2019-10-03 23:00:00" #修改時間

# 3 硬件時間(real-time clock)RTC 建議使用UTC
hwclock         
hwclock --set --date "21 Oct 2019 17:53" --utc  # 修改硬件時間,並設置爲utc
hwclock --systohc --utc         # 硬件時鐘與系統時間同步,並設置爲UTC時間
hwclock --systohc --localtime   # 硬件時鐘與系統時間同步,並設置爲本地時間
hwclock -w --localtime

# 操作
date        # 查看系統時間
hwclock     # 查看硬件時間
timedatectl set-timezone Asia/Shanghai      # 更新時區
timedatectl set-time 2017-06-13 18:18:00    # 更新日期時間
timedatectl set-local-rtc 1     # 更新硬件時間與系統時間一致
hwclock --systohc --localtime   # 更新硬件時間與系統時間一致
clock –w    # 日期寫入cmos

主機名稱

# 主機配置
hostname            # 查看主機名稱
hostneme 【名稱】   # 修改主機名稱(臨時修改,重啓後失效)
vim /etc/sysconfig/network  # 永久修改主機名稱(重啓後生效) centos 6
# NETWORKING=yes
# HOSTNAME=hadoop01

hostnamectl set-hostname 【名稱】   # 修改主機名稱,立刻永久生效 centos 7

# 主機映射:給別的機器起別名,也可以給自己起化名
# linux   vim /etc/hosts
# win     c:\\windows\system32\drivers\etc\hosts

# 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 192.198.2.101 centos01
# 192.168.2.102 centos02

系統啓動級別

# 系統啓動級別
# poweroff.target   0   關機(不要設置爲默認)
# rescue.target     1   單用戶(救援模式)
# multi-user.target 2   多用戶無網絡(2和3一致,只是沒有網絡)
# multi-user.target 3   全功能多用戶
#                   4   未使用
# graphical.target  5   圖形界面
# reboot.target     6   重啓(不要設置爲默認)

# centos 7 操作
systemctl get-default   # 查看默認的target
systemctl set-default multi-user.target # 修改啓動級別爲level3啓動

systemctl rescue    # 進入救援模式,會加載驅動
systemctl emergency # 進入救援模式,不會加載驅動系統服務

# centos 6 操作
runlevel    # 查看用戶啓動級別

vim /etc/inittab    # 系統啓動級別配置文件

系統開機自啓動服務

# 系統開機自啓服務
# centos 7 操作
systemctl list-unit-files --type service    # 查所有服務
systemctl list-dependencies --after         # 指定服務的依賴服務
systemctl list-dependencies --before        # 指定服務的服務對象

systemctl is-enabled name.service       # 查服務是否自啓
systemctl status name.service           # 查服務狀態
systemctl enable/disable name.service   # 啓用/停用

# centos 6 操作
chkconfig --list
chkconfig --list  name
chkconfig name on/off

用戶與用戶組

# 用戶是權限的集合,用戶組是權限容器
who              # 查看登陸用戶
w 【用戶名】     # 查看某一用戶
last             # 查看登陸歷史記錄

# 用戶分類
# 管理員用戶     root uid --> 0
# 系統用戶       保證系統正常運行,沒有密碼 uid -->  1-499   
# 普通用戶       權限受限用戶 uid --> 500-60000
cat /etc/passwd     # 查看用戶 cat /etc/shadow 密碼文件
user add 【用戶名】 # 添加用戶
passwd 【用戶名】   # 修改密碼 --> 後續根據提示操作
user mod 【選項】【用戶名】  # 修改用戶屬性
user del 【用戶名】 # 刪除用戶

# 配置sudoer 權限(普通用戶臨時擁有系統權限)
su 【用戶名】     #切換用戶
# root用戶下操作:
vim /etc/sudoers
# root    ALL=(ALL)       ALL
# 普通用戶名  ALL=(ALL)       ALL
# 配置後,普通用戶 做root權限操作,需要用sudo開頭 
sudo  useradd 【用戶名】
exit 退出用戶(切換多次用戶,換的時候可以退出當前用戶)

# 用戶組分類
# 系統組       
# 私有組       
# 普通用戶組   
cat /etc/group      # 查看組   cat /etc/gshadow
groupadd
groupmod
groupdel
gpasswd -a/-d 【用戶名】【組名】

系統進程管理

# 系統進程管理
# 狀態:
# 1 就緒狀態    除了cpu資源,其他的都已經就緒了
# 2 運行狀態    就緒進程獲得了cpu資源
# 3 阻塞狀態    

ps -aux | grep aaa   # 查看進程狀態
pstree  # 查看進程樹
top     # 查看動態進程狀態 # q退出
jps     # java中的命令,查看jvm中的進程

kill -9 pid     # 強制殺死進程(不可濫用,能正常關閉的不要用kill)

pidof 程序    # 查看某個程序的pid

ctrl+c  # 終止進程
crtl+z  # 掛起進程(暫停執行)

jobs    # 查看任務,後臺運行的進程
fg      # 轉換到前臺運行
bg      # 轉換到後臺運行

uptime  # 系統負載
lsof    # 查看進程打開的文件,打開文件的進程,進程打開的端口

screen  # 會話管理 # 用於遠程登陸,CRT長時間連接,超時斷開後腳本也會停止運行

計劃任務

# 服務啓動 centos  7
systemctl status crond  # 查看計劃任務狀態
yum install crontabs    # 安裝 crontabs

systemctl start crond   # 啓動crond服務
systemctl enable crond  # 設爲開機啓動

vi /etc/crontab         # 設置用戶自定義定時任務
# * * * * * user-name command to be executed
crontab /etc/crontab    # 使生效
crontab -l              # 查看計劃任務
crontab -u 用戶名 -l    # 列出用戶的定時任務列表

# centos 6
yum install -y crontabs
service crond start/status

# 2 編輯計劃任務
crontab -e  # 分 時 日 月 星期(0-6) command 
# 每分鐘執行 # * * * * *date>>/home/a.txt
# 0,30 * * 6
cd /var/spool/cron/ # 用戶級計劃任務
crontab -r  # 刪除計劃任務 

網絡管理

# 網絡管理
# 網絡通訊模式(三種)
#    橋接模式    宿主機的物理網卡和虛擬交換機之間通過虛擬網橋建立連接   
#                (主機數有限,不利於搭建大型集羣)
#    NAT模式     兩條路:
#                虛擬網卡(vmnet8)和虛擬交換機(vmnet8)之間建立連接; 
#                虛擬交換機(vmnet8)和物理網卡通過NAT設備建立連接。
#                通過虛擬NAT設備相連:用於網絡地址轉換
#    僅主機模式  沒有外部網絡連接,相當於NAT模式中去掉了虛擬NAT設備

# 實操
# NAT 虛擬網絡設置子網IP:192.168.2.0
# 查到此時的子網網關(192.168.2.2)

# linux 圖形設置
# method:manual
# address:192.168.2.101
# nwtmask:255.255.255.0
# gateway:192.168.2.2
# DNS server:192.168.2.2
serveice network restart

# 命令行設置
inconfig    # 查看網絡接口信息,找到網卡名稱(ens33)
ip addr     # centos 7 查 ip地址信息

ifconfig ens33 up/dowm  # 開啓/關閉網卡

vim /etc/sysconfig/network-scripts/ifcfg-網卡名稱
# device=ens33                  # 網卡名稱
# uuid=                         # 網卡標識
# onboot=yes/on                 # 是否開機自動連接
# bootproto=dhcp/static/none    # 動態協議/靜態/靜態
# hwaddr=                       # mac地址
# ipaddr=192.168.2.101          # ip地址
# gateway=192.168.2.2           # 網關
# dns1=192.168.2.2              # dns
# netmask=                      # 子網掩碼
service  network restart    # 設置完成後重啓服務

# 網絡管理命令
ping            # 測試網絡聯通狀態
host            # 根據域名查看IP
netstat         # 查看程序端口占用情況
netstat -nltp   # 查看正在監聽TCP協議的程序,(端口相關篇有介紹)

ssh免密登陸

# ssh免密登陸
# 安全外殼協議,實現計算機之間的加密傳輸。
scp -r /etc/hosts root@centos01 /etc/hosts # 發送文件給01主機的root用戶 

# 配置免密登陸
# 1 生成密鑰對
ssh-keygen
# 2 發送公鑰到對方授權池
ssh-copy-id centos01    # 發送給01機 # 發送前先要做主機映射

集中日誌管理

# yum install rsyslog logrotate  (默認已安裝)
# systemctl  start  rsyslog.service   //啓動

軟件 安裝

# 軟件安裝方式:
# 1 二進制發佈包      :已經根據平臺編譯並打包,只需要解壓和配置即可使用
# 2 rpm發佈包         :採用redhat的包管理規範進行打包。rpm包使用rpm命令安裝 
    # 缺點 :不能解決包依賴的問題
# 3 yum在線安裝     · :前端包管理的工具  會檢測包依賴並自動下載安裝
    # 同時提供搜索,以及處理依賴問題
# 4 源碼編譯安裝      :以源碼工程方式發佈,需要先編譯 再安裝部署


# rpm 查詢與卸載
rpm -q 程序               # 
rpm -qa | grep -i 程序    # 查詢已安裝包
rpm -ql 程序              # 安裝位置

rpm -e 程序包   # 卸載
    --nodeps    # 依賴
    --force     # 強制

rpm -ivh 程序     # 安裝
rpm -uvh 程序     # 升級


# yum 在線安裝
yum install 程序  # 安裝
yum remove 程序   # 卸載
yum update 程序   # 更新

yum -y install/remove/update    # 無需詢問,直接安裝/卸載/更新

# yum源 配置
cd /etc/yum.repos.d/    # repo文件配置了軟件的下載路徑

yum repolist    # yum源列表
yum list        # yum源的軟件列表
yum list | grep jdk

# 自建本地yum源
# 1 搭建服務器
service httpd start
# httpd 資源路徑:/var/www/html/
# httpd 配置文件目錄:/etc/httpd/conf.d/

# 2 存放rpm軟件到服務器
ln -s /mnt/cdrom/ /var/www/html/

# 3 在yum源配置文件中添加訪問路徑
cp  # 配置文件模板複製 然後修改模板
【local】
name=
baseurl=
gpgcheck=0
enabled=1

# 4 使用


# java安裝流程
# 1 獲取安裝包 
    # wget http://.......
    # CRT 帶有ftp插件  alt+p 調出 用 put -r 命令上傳  還有 rz sz 命令進行上傳下載
# 查看是否安裝軟件(java)
java -version
rpm -qa | grep -i jdk   # 查看系統是否安裝了java -i忽略大小寫
rpm -e --nodeps 軟件包     # 卸載軟件包
# 2 解壓
# 3 配置
    /etc/profile    # 全局配置
        vi /etc/profile     # 打開配置文件
        # G到最後一行
        # 添加:export JAVA_HOME=/opt/...                  export 是提升爲全局變量的意思
        # 添加: export PATH=${JAVA_HOME}\bin:${PATH}      PATH注意不能直接等於,要不然會把path原來的路徑覆蓋掉,要用追加
        source /etc/profile     # 重新加載文件
    /home/用戶名/.bash_profile or bashrc # 用戶的配置
# 4 測試


# mysql rpm包安裝流程
# 1 查看系統是否已經安裝mysql
rpm -qa | grep -i mysql  # 查詢
rpm -e --nodeps 包名稱   # 卸載

# 2 獲取安裝包並解壓

# 3 使用命令安裝 server 和 client
rpm -ivh 包名
    #  安裝信息中有東西需要注意:
    # 默認密碼 :/root/.mysql_secret
    # 修改密碼:SET password
    # 配置文件:/usr/my.cnf

# 4 啓動服務
service mysql start

# 5 連接mysql
cat /root/.mysql_secret # 查看默認密碼 
mysql -uroot -p
set password=password('root');

# 6 配置
# 授權所有數據庫的權限給到root用戶 
grant all privileges on *.* to 'root'@'%'  identified by 'root' with grant option
# *.*   數據庫名,這個代表所有數據庫 
# @'%'  是指所有遠程地址
# identified by 'root' 這個root是root原密碼,也可以直接寫密碼

flush privileges;   # 刷新權限 

# 其他配置
vim /usr/my.cnf

 

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