中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

中國站
幫助中心 > 計算 > 云服務器 > 最佳實踐 > 常用系統參數設置 > Linux常用系統參數設置命令

Linux常用系統參數設置命令

syslog命令

syslog是Linux系統默認的日志守護進程。syslog 接受來自系統的各種功能的信息,每個信息都包括重要級。/etc/syslog.conf 文件通知 syslogd 如何根據設備和信息重要級別來報告信息。可以使用logger命令通過syslogd記錄日志。
要向syslog文件 /var/log/messages 中記錄日志信息:

  1. logger this is a test log line

輸出:

  1. tail -n 1 messagesJan 5 10:07:03 localhost root: this is a test log line

記錄特定的標記(tag)可以使用:

  1. logger -t TAG this is a test log line

輸出:

  1. tail -n 1 messagesJan 5 10:37:14 localhost TAG: this is a test log line

systemctl命令

systemctl命令是系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到一起。

任務 舊指令 新指令
使某服務自動啟動 chkconfig —level 3 httpd on systemctl enable httpd.service
使某服務不自動啟動 chkconfig —level 3 httpd off systemctl disable httpd.service
檢查服務狀態 service httpd status systemctl status httpd.service (服務詳細信息) systemctl is-active httpd.service (僅顯示是否 Active)
顯示所有已啟動的服務 chkconfig —list systemctl list-units —type=service
啟動某服務 service httpd start systemctl start httpd.service
停止某服務 service httpd stop systemctl stop httpd.service
重啟某服務 service httpd restart systemctl restart httpd.service

示例

  1. 啟動nfs服務

    1. systemctl start nfs-server.service
  2. 設置開機自啟動

    1. systemctl enable nfs-server.service
  3. 停止開機自啟動

    1. systemctl disable nfs-server.service
  4. 查看服務當前狀態

    1. systemctl status nfs-server.service
  5. 重新啟動某服務

    1. systemctl restart nfs-server.service
  6. 查看所有已啟動的服務

    1. systemctl list -units --type=service
  7. 開啟防火墻22端口

    1. iptables -I INPUT -p tcp --dport 22 -j accept
  8. 關閉SElinux:
    運行命令getenforce,驗證SELinux狀態。返回結果若是enforcing,表明SELinux已開啟。

    • 臨時關閉:
      執行命令setenforce 0
    • 永久關閉:
      1. 運行以下命令,編輯SELinux的config文件:
        1. vi /etc/selinux/config
      2. 找到SELINUX=enforcing,按i鍵進入編輯模式,將參數修改為SELINUX=disabled
      3. 修改完成后,按下Esc鍵,執行命令:wq,保存并退出文件。
      4. 重啟實例。
        1. shutdown -r now
      5. 重啟后,運行命令getenforce,驗證SELinux狀態為disabled,表明SELinux已關閉。
  9. 徹底關閉防火墻:

    1. sudo systemctl status firewalld.servicesudo systemctl stop firewalld.servicesudo systemctl disable firewalld.service

crontab命令

crontab命令被用來提交和管理用戶的需要周期性執行的任務,當安裝完成操作系統后,默認會安裝此服務工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行。

語法

crontab (選項) (參數)

選項

-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。

參數

crontab文件:指定包含待執行任務的crontab文件。

mount命令

mount命令用于加載文件系統到指定的加載點。此命令的最常用于掛載cdrom,使我們可訪問cdrom中的數據,因為將光盤插入cdrom中,Linux并不會自動掛載,必須使用Linux mount命令來手動完成掛載。

語法

mount (選項) (參數)

選項

-V:顯示程序版本;
-l:顯示已加載的文件系統列表;
-h:顯示幫助信息并退出;
-v:冗長模式,輸出指令執行的詳細信息;
-n:加載沒有寫入文件“/etc/mtab”中的文件系統;
-r:將文件系統加載為只讀模式;
-a:加載文件“/etc/fstab”中描述的所有文件系統。

參數

設備文件名:指定要加載的文件系統對應的設備名
加載點:指定加載點目錄。

示例

  1. mount -t auto /dev/cdrom /mnt/cdrom
  2. mount: mount point /mnt/cdrom does not exist /mnt/cdrom目錄不存在,需要先創建。
  3. cd /mnt
  4. -bash: cd: /mnt: No such file or directory
  5. mkdir -p /mnt/cdrom 創建/mnt/cdrom目錄
  6. ls
  7. bin dev home lib media mnt proc sbin srv tmp
  8. var
  9. boot etc initrd lost+found misc opt root selinux sys usr
  10. mount -t auto /dev/cdrom /mnt/cdrom 掛載cdrom
  11. mount: block device /dev/cdrom is write-protected, mounting read-only 掛載成功
  12. ll /mnt/cdrom 查看cdrom里面內容
  13. total 859
  14. dr-xr-xr-x 4 root root 2048 Sep 4 2005 CentOS
  15. -r--r--r-- 2 root root 8859 Mar 19 2005 centosdocs-man.css
  16. -r--r--r-- 9 root root 18009 Mar 1 2005 GPL
  17. dr-xr-xr-x 2 root root 241664 May 7 02:32 headers
  18. dr-xr-xr-x 4 root root 2048 May 7 02:23 images
  19. dr-xr-xr-x 2 root root 4096 May 7 02:23 isolinux
  20. dr-xr-xr-x 2 root root 18432 May 2 18:50 NOTES
  21. -r--r--r-- 2 root root 5443 May 7 01:49 RELEASE-NOTES-en.html
  22. dr-xr-xr-x 2 root root 2048 May 7 02:34 repodata
  23. -r--r--r-- 9 root root 1795 Mar 1 2005 rpm-GPG-KEY
  24. -r--r--r-- 2 root root 1795 Mar 1 2005 RPM-GPG-KEY-centos4
  25. -r--r--r-- 1 root root 571730 May 7 01:39 yumgroups.xml

fsck命令

fsck命令被用于檢查并且試圖修復文件系統中的錯誤。當文件系統發生錯誤時,可用fsck指令嘗試加以修復。

語法

fsck (選項) (參數)

選項

-a:自動修復文件系統,不詢問任何問題;
-A:依照/etc/fstab配置文件的內容,檢查文件內所列的全部文件系統;
-N:不執行指令,僅列出實際執行會進行的動作;
-P:當搭配”-A”參數使用時,則會同時檢查所有的文件系統;
-r:采用互動模式,在執行修復時詢問問題,讓用戶得以確認并決定處理方式;
-R:當搭配”-A”參數使用時,則會略過/目錄的文件系統不予檢查;
-s:依序執行檢查作業,而非同時執行;
-t<文件系統類型>:指定要檢查的文件系統類型;
-T:執行fsck指令時,不顯示標題信息;
-V:顯示指令執行過程。

參數

文件系統:指定要查看信息的文件系統。

示例

Linux的文件系統損壞會導致不正常關機,出錯時若系統告知某塊硬盤的分區有問題,比如/dev/hda2,可用如下命令處理:

  1. fsck -y /dev/hda2

結束后使用reboot命令重啟系統。
若不知何處出問題,可以直接輸入命令:

  1. fsck

在隨后的多個確認對話框中輸入:y
結束后同樣使用reboot命令重啟系統。

ulimit命令

ulimit命令用來限制系統用戶對shell資源的訪問,它是一種簡單并且有效的實現資源限制的方式。
作為臨時限制,ulimit 可作用于使用命令登錄的 shell 會話,在會話終止時便結束限制。對于長期的固定限制,ulimit 命令語句可被添加到由登錄 shell 讀取的文件中,作用于特定的 shell 用戶。

語法

ulimit (選項)

選項

-a:顯示目前資源限制的設定;
-c :設定core文件的最大值,單位為區塊;
-d <數據節區大小>:程序數據節區的最大值,單位為KB;
-f <文件大小>:shell所能建立的最大文件,單位為區塊;
-H:設定資源的硬性限制,也就是管理員所設下的限制;
-m <內存大小>:指定可使用內存的上限,單位為KB;
-n <文件數目>:指定同一時間最多可開啟的文件數;
-p <緩沖區大小>:指定管道緩沖區的大小,單位512字節;
-s <堆疊大小>:指定堆疊的上限,單位為KB;
-S:設定資源的彈性限制;
-t :指定CPU使用時間的上限,單位為秒;
-u <程序數目>:用戶最多可開啟的程序數目;
-v <虛擬內存大小>:指定可使用的虛擬內存上限,單位為KB。

示例

  1. [root@localhost ~]# ulimit -a
  2. core file size (blocks, -c) 0 #core文件的最大值為100 blocks。
  3. data seg size (kbytes, -d) unlimited #進程的數據段可以任意大。
  4. scheduling priority (-e) 0
  5. file size (blocks, -f) unlimited #文件可以任意大。
  6. pending signals (-i) 98304 #最多有98304個待處理的信號。
  7. max locked memory (kbytes, -l) 32 #一個任務鎖住的物理內存的最大值為32KB。
  8. max memory size (kbytes, -m) unlimited #一個任務的常駐物理內存的最大值。
  9. open files (-n) 1024 #一個任務最多可以同時打開1024的文件。
  10. pipe size (512 bytes, -p) 8 #管道的最大空間為4096字節。
  11. POSIX message queues (bytes, -q) 819200 #POSIX的消息隊列的最大值為819200字節。
  12. real-time priority (-r) 0
  13. stack size (kbytes, -s) 10240 #進程的棧的最大值為10240字節。
  14. cpu time (seconds, -t) unlimited #進程使用的CPU時間。
  15. max user processes (-u) 98304 #當前用戶同時打開的進程(包括線程)的最大個數為98304。
  16. virtual memory (kbytes, -v) unlimited #沒有限制進程的最大地址空間。
  17. file locks (-x) unlimited #所能鎖住的文件的最大個數沒有限制。

sysctl命令

sysctl命令用于在內核運行時動態修改內核的運行參數,可用的內核參數在目錄/proc/sys中。它包含一些TCP/IP堆棧和虛擬內存系統的高級選項,用sysctl可以讀取設置超過五百個系統變量。

語法

sysctl (選項) (參數)

選項

-n:打印值時不打印關鍵字;
-e:忽略未知關鍵字錯誤;
-N:僅打印名稱;
-w:當改變sysctl設置時使用此項;
-p:從配置文件“/etc/sysctl.conf”加載內核參數設置;
-a:打印當前所有可用的內核參數變量和值;
-A:以表格方式打印當前所有可用的內核參數變量和值。

參數

變量=值:設置內核參數對應的變量值

示例

sysctl -a 讀一個指定的變量,例如kern.maxproc:

  1. sysctl kern.maxproc kern.maxproc: 1044

要設置一個指定的變量,直接用variable=value這樣的語法:

  1. sysctl kern.maxfiles=5000kern.maxfiles: 2088 -> 5000

可用sysctl修改系統變量,也可通過編輯sysctl.conf文件來修改系統變量。它用variable=value的形式來設定值。sysctl變量的設置通常是字符串、數字或者布爾型(用 1 來表示’yes’,用 0 來表示’no’)。

  1. sysctl -w kernel.sysrq=0
  2. sysctl -w kernel.core_uses_pid=1
  3. sysctl -w net.ipv4.conf.default.accept_redirects=0
  4. sysctl -w net.ipv4.conf.default.accept_source_route=0
  5. sysctl -w net.ipv4.conf.default.rp_filter=1
  6. sysctl -w net.ipv4.tcp_syncookies=1
  7. sysctl -w net.ipv4.tcp_max_syn_backlog=2048
  8. sysctl -w net.ipv4.tcp_fin_timeout=30
  9. sysctl -w net.ipv4.tcp_synack_retries=2
  10. sysctl -w net.ipv4.tcp_keepalive_time=3600
  11. sysctl -w net.ipv4.tcp_window_scaling=1
  12. sysctl -w net.ipv4.tcp_sack=1

配置sysctl

編輯此文件:/etc/sysctl.conf 如果該文件為空,則輸入以下內容,請根據情況自己做調整:

  1. # Controls source route verification
  2. # Default should work for all interfaces
  3. net.ipv4.conf.default.rp_filter = 1
  4. # net.ipv4.conf.all.rp_filter = 1
  5. # net.ipv4.conf.lo.rp_filter = 1
  6. # net.ipv4.conf.eth0.rp_filter = 1
  7. # Disables IP source routing
  8. # Default should work for all interfaces
  9. net.ipv4.conf.default.accept_source_route = 0
  10. # net.ipv4.conf.all.accept_source_route = 0
  11. # net.ipv4.conf.lo.accept_source_route = 0
  12. # net.ipv4.conf.eth0.accept_source_route = 0
  13. # Controls the System Request debugging functionality of the kernel
  14. kernel.sysrq = 0
  15. # Controls whether core dumps will append the PID to the core filename.
  16. # Useful for debugging multi-threaded applications.
  17. kernel.core_uses_pid = 1
  18. # Increase maximum amount of memory allocated to shm
  19. # Only uncomment if needed!
  20. # kernel.shmmax = 67108864
  21. # Disable ICMP Redirect Acceptance
  22. # Default should work for all interfaces
  23. net.ipv4.conf.default.accept_redirects = 0
  24. # net.ipv4.conf.all.accept_redirects = 0
  25. # net.ipv4.conf.lo.accept_redirects = 0
  26. # net.ipv4.conf.eth0.accept_redirects = 0
  27. # enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
  28. # Default should work for all interfaces
  29. net.ipv4.conf.default.log_martians = 1
  30. # net.ipv4.conf.all.log_martians = 1
  31. # net.ipv4.conf.lo.log_martians = 1
  32. # net.ipv4.conf.eth0.log_martians = 1
  33. # Decrease the time default value for tcp_fin_timeout connection
  34. net.ipv4.tcp_fin_timeout = 25
  35. # Decrease the time default value for tcp_keepalive_time connection
  36. net.ipv4.tcp_keepalive_time = 1200
  37. # Turn on the tcp_window_scaling
  38. net.ipv4.tcp_window_scaling = 1
  39. # Turn on the tcp_sack
  40. net.ipv4.tcp_sack = 1
  41. # tcp_fack should be on because of sack
  42. net.ipv4.tcp_fack = 1
  43. # Turn on the tcp_timestamps
  44. net.ipv4.tcp_timestamps = 1
  45. # Enable TCP SYN Cookie Protection
  46. net.ipv4.tcp_syncookies = 1
  47. # Enable ignoring broadcasts request
  48. net.ipv4.icmp_echo_ignore_broadcasts = 1
  49. # Enable bad error message Protection
  50. net.ipv4.icmp_ignore_bogus_error_responses = 1
  51. # make more local ports available
  52. # net.ipv4.ip_local_port_range = 1024 65000
  53. # set TCP Re-Ordering value in kernel to ‘5′
  54. net.ipv4.tcp_reordering = 5
  55. # Lower syn retry rates
  56. net.ipv4.tcp_synack_retries = 2
  57. net.ipv4.tcp_syn_retries = 3
  58. # Set Max SYN Backlog to ‘2048′
  59. net.ipv4.tcp_max_syn_backlog = 2048
  60. # Various Settings
  61. net.core.netdev_max_backlog = 1024
  62. # Increase the maximum number of skb-heads to be cached
  63. net.core.hot_list_length = 256
  64. # Increase the tcp-time-wait buckets pool size
  65. net.ipv4.tcp_max_tw_buckets = 360000
  66. # This will increase the amount of memory available for socket input/output queues
  67. net.core.rmem_default = 65535
  68. net.core.rmem_max = 8388608
  69. net.ipv4.tcp_rmem = 4096 87380 8388608
  70. net.core.wmem_default = 65535
  71. net.core.wmem_max = 8388608
  72. net.ipv4.tcp_wmem = 4096 65535 8388608
  73. net.ipv4.tcp_mem = 8388608 8388608 8388608
  74. net.core.optmem_max = 40960

fstab

這個文件描述系統中各種文件系統的信息。文件 /etc/fstab 包含了靜態文件系統信息,定義了存儲設備和分區整合到整個系統的方式。mount 命令會讀取這個文件,確定設備和分區的掛載選項。

文件格式

  1. <file system> <dir> <type> <options> <dump> <pass>

通過空格或 Tab 分隔。
<file systems> - 要掛載的分區或存儲設備.
<dir> - <file systems>的掛載位置。
<type> - 要掛載設備或是分區的文件系統類型,支持許多種文件系統
<options> - 某些特定文件系統掛載時使用的參數。一些比較常用的有:
auto - 在啟動時或鍵入了 mount -a 命令時自動掛載。
noauto - 只在您的命令下被掛載。
exec - 允許執行此分區的二進制文件。
noexec - 不允許執行此文件系統上的二進制文件。
ro - 以只讀模式掛載文件系統。
rw - 以讀寫模式掛載文件系統。
user - 允許任意用戶掛載此文件系統,若無顯示定義,隱含啟用 noexec, nosuid, nodev 參數。
users - 允許所有 users 組中的用戶掛載文件系統.
nouser - 只能被 root 掛載。
owner - 允許設備所有者掛載.
sync - I/O 同步進行。
async - I/O 異步進行。
dev - 解析文件系統上的塊特殊設備。
nodev - 不解析文件系統上的塊特殊設備。
suid - 允許 suid 操作和設定 sgid 位。
nosuid - 禁止 suid 操作和設定 sgid 位。
noatime - 不更新文件系統上 inode 訪問記錄,可以提升性能(參見 atime 參數)。
nodiratime - 不更新文件系統上的目錄 inode 訪問記錄,可以提升性能(參見 atime 參數)。
relatime - 實時更新 inode access 記錄。只有在記錄中的訪問時間早于當前訪問才會被更新。
flush - vfat 的選項,更頻繁的刷新數據,復制對話框或進度條在全部數據都寫入后才消失。
defaults - 使用文件系統的默認掛載參數,例如 ext4 的默認參數為:rw, suid, dev, exec, auto, nouser, async.

<dump> - dump 工具通過它決定何時作備份. dump 會檢查其內容,并用數字來決定是否對該文件系統進行備份。 允許的數字是 0 和 1 。0 表示忽略, 1 則進行備份。

<pass> - fsck 讀取 <pass> 的數值來決定需要檢查的文件系統的檢查順序。允許的數字是0,1,和2。 根目錄應當獲得最高的優先權 1, 其它所有需要被檢查的設備設置為 2,0 表示設備不會被 fsck 檢查。

示例

使用內核名稱標識磁盤:

  1. /etc/fstab
  2. # <file system> <dir> <type> <options> <dump> <pass>
  3. tmpfs /tmp tmpfs nodev,nosuid 0 0
  4. /dev/sda1 / ext4 defaults,noatime 0 1
  5. /dev/sda2 none swap defaults 0 0
  6. /dev/sda3 /home ext4 defaults,noatime 0 2

禁止內核在空閑時頻繁打印日志

  1. echo 1>/sys/module/rcupdate/parameters/rcu_cpu_stall_suppress

這個參數在 rc.local 文件中,解決云主機空閑時頻繁刷日志導致業務卡頓的問題。
若未加該參數,隔幾秒便會打印內核日志。

關閉networkmanager服務

CentOS 6.6 系統安裝 x-window 后 networkmanager 服務自動啟動,會導致云主機重啟后無法獲取 IP 地址和 DNS 地址,可通過關閉該服務解決此問題。

通過控制臺VNC連接主機:

臨時關閉:

  1. service NetworkManager stop

永久關閉:

  1. chkconfig NetworkManager off

小技巧

自動掛載

若 /home 分區較大,可讓不依賴 /home 分區的服務先啟動,把下面的參數添加到 /etc/fstab 文件中 /home 項目的參數部分。

  1. noauto,x-systemd.automount

這樣 /home 分區只有需要訪問時才會被掛載。內核會緩存所有的文件操作,直到 /home 分區準備完成。這樣會使 /home 的文件系統類型被識別為 autofs, mlocate 查詢時忽略該目錄。
掛載遠程文件系統同理。另外,可以設置 x-systemd.device-timeout=#參數,設置超時時間,以防止網絡資源不能訪問的時候浪費時間。 如果您的加密文件系統需要密鑰,則需要添加 noauto 參數到 /etc/crypttab 文件中的對應位置。

  1. /etc/crypttabdata /dev/md0 /root/key noauto

交換分區UUID

如果交換分區沒有 UUID,可手動加入。
如果使用 lsblk -f 命令沒有列出交換分區的 UUID 就說明發生了這種情況。為交換分區指定 UUID 的步驟:

  1. # swapon -s 確定交換分區
  2. # swapoff /dev/sda7 禁用交換分區
  3. # mkswap -U random /dev/sda7 用新 UUID 重新創建交換分區
  4. # swapon /dev/sda7 激活交換分區`

路徑名有空格

如果掛載的路徑中有空格,可以使用 “\040” 轉義字符來表示空格(以三位八進制數來進行表示)。

  1. /etc/fstab
  2. UUID=47FA-4071 /home/username/Camera\040Pictures vfat defaults,noatime 0 2
  3. /dev/sda7 /media/100\040GB\040(Storage) ext4 defaults,noatime,user 0 0

外部設備

外部設備在插入時掛載,在未插入時忽略。這需要 nofail ,啟動時設備不存在直接忽略它、不報錯.

  1. /etc/fstab /dev/sdg1 /media/backup jfs defaults,nofail 0 2

普通用戶讀寫

FAT32必須修改 /etc/fstab 文件才能取得對 FAT32 分區的寫權限。

  1. /etc/fstab/dev/sdxY /mnt/some_folder vfat user,rw,umask=000 0 0

比如您的 FAT32 分區在 /dev/sda9,想將其掛載到 /mnt/fat32,可輸入并運行如下命令:

  1. /etc/fstab/dev/sda9 /mnt/fat32 vfat user,rw,umask=111,dmask=000 0 0
龙山县| 潍坊市| 西盟| 合肥市| 洱源县| 南昌市| 临夏县| 临海市| 巢湖市| 凌源市| 东至县| 巧家县| 大竹县| 建瓯市| 松桃| 台南市| 大渡口区| 扬州市| 政和县| 长白| 屏南县| 博湖县| 安远县| 兴海县| 额尔古纳市| 体育| 南汇区| 湘潭县| 皋兰县| 枝江市| 乌鲁木齐县| 张家港市| 信丰县| 九寨沟县| 元谋县| 曲松县| 玛曲县| 长顺县| 曲麻莱县| 左贡县| 郸城县|