fedora23沒有/var/log/messages &如何禁用後臺自動更新軟件?

警告!!

Linux是一個很是敏感的操做系統,若刪除文件錯誤,很容易形成系統崩潰。html

fedora23沒有/var/log/messages

不是沒有messages這個文件,而是 從 fc core 23開始系統已經作了調整和改變:
再也不使用/var/log/messages這個文件, 而是專門用一個 命令: journalctl 來控制/顯示 日誌信息:linux

這裏要注意區別兩個英文單詞:git

  • journal: 是 "雜誌/ 日誌, 日記 log/notation等的意思
  • journey: 纔是 旅途旅行 的意思
    兩個單詞 的前面都是 journ- , 因此容易混淆, journal, journey...

因此, journalctl: journal -control, 就是 日誌控制的意思!算法

關於 journalctl 日誌控制的 過濾選項?? 能夠經過查看journal -h 命令來仔細查看!!

-u : 要只是查看指定的服務 日誌 journalctl -u mariadb.service
-f: fresh, 查看最新更新的日誌信息;
-n : 指定最後的n行日誌: 默認的是最後的10行, -n 20 最後的20行
--since HHHH-MM-DD hh:mm:ss
--until : 指定 日誌的起止 時間
-r: 反序, 最新的在前面
-k: 只顯示 內核的日誌信息sql

top命令中 能夠 接受 從 a 到 z的 單字符命令: top和ps的區別是: ps是靜態的, 當前這一瞬間的進程狀態, 而top是 動態的, 動態地查看進程的狀況, 包括用戶user, cpu和mem, 是哪一個命令的使用狀況等.

  • f: 表示 fields 字段, 用來 描述能夠 top 顯示 的字段, 能夠自定義 要顯示的字段和順序
  • k: 能夠直接在top下查看到pid, 從而能夠直接kill掉, 發送的信號有 -9, -15
  • u或U: 查看 哪一個用戶的
  • 在啓動top命令的時候, 使用 -d 表示 延遲多長時間, 默認的是每打印一次 延時 1秒; -n是 top打印使用狀況 多少次, 默認的是1000次.
  • 這個top命令, 相似於win下的"性能監視器"
  • 1: 數字1, 能夠顯示多核cpu的每一個cpu的使用狀況
  • 啓動時使用 top -p pids 使用-p選項將顯示指定pid的進程的動態使用狀況.
    top命令將獨佔前臺, 其餘命令將不能使用前臺, 除非用戶退出top命令

top命令的負載?shell

load average: 1.15, 1.42, 1.44 — load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載狀況。
load average數據是每隔5秒鐘檢查一次活躍的進程數,而後按特定算法計算出的數值。數據庫

重要的是要搞懂 top命令顯示的名行的意思:

%Cpu(s) 表示的是 cpu佔用的百分比狀況: 其中: us表示 user space用戶空間, 即用戶所使用的cpu百分比; sy 表示 內核佔用的cpu,
ni : nice表示 改變了優先級的進程 所佔用的cpu百分比, 主要看id: idle表示 空閒剩餘cpu百分比;
hi和si: 表示 hardware interrupts 硬件中斷, si表示 software 軟件中斷 (軟中斷)
wa 表示 I/O 等待的cpu百分比ubuntu

參考: https://blog.csdn.net/gxiaop/article/details/55096686

第四行中使用中的內存總量(used)指的是如今系統內核控制的內存數,空閒內存總量(free)是內核還未歸入其管控範圍的數量。歸入內核管理的內存不見得都在使用中,還包括過去使用過的如今能夠被重複利用的內存,內核並不把這些可被從新使用的內存交還到free中去,所以在linux上free內存會愈來愈少,但不用爲此擔憂,
對於內存監控,在top裏咱們要時刻監控第五行 swap交換分區的used,若是這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。
安全

關於nice值的理解?

  • 是和 優先級PR: priority 有關的一個值: pr表示 進程被執行的優先級, 可能有多個進程都要執行 那麼誰先誰後呢? 根據PR 吧: PR越小, 優先級越高, 也就是 進程越先被執行, 就像咱們買票 排隊派次序同樣, 排在第一位的確定優先級最高, 最早買.
    可是, pr也不是一直不變的, 是能夠被調整的, 這個調整值就由 nice來調整. 系統內核 是能夠 根據實際狀況來做調整的吧!
  • Nice值的大小從 -20 到19, 而調整後的優先級: PR(new) = PR(old) + Nice值, 所以, nice值越小, 越爲負, 那麼 新的PR值就越小, 那麼優先級就越高! 越先!

Nice值表示一我的的 品格的高低, 若是這個值越高, 就說明這個進程的 "品格" 越高, 那麼它的優先級就越低, 就是把寶貴的cpu都無私地讓給其餘進程了
在LINUX系統中,Nice值的範圍從-20到+19(不一樣系統的值範圍是不同的),正值表示低優先級,負值表示高優先級,值爲零則表示不會調整該進程的優先級。具備最高優先級的程序,其nice值最低,因此在LINUX系統中,值-20使得一項任務變得很是重要;與之相反,若是任務的nice爲+19,則表示它是一個高尚的、無私的任務,容許全部其餘任務比本身享有寶貴的CPU時間的更大使用份額,這也就是nice的名稱的來意。
參考: https://blog.csdn.net/longdel/article/details/7317511bash

在一般狀況下,子進程會繼承父進程的nice值,好比在系統啓動的過程當中,init進程會被賦予0,其餘全部進程繼承了這個nice值(由於其餘進程都是init的子進程)。 對nice值一個形象比喻,假設在一個CPU輪轉中,有2個runnable的進程A和B,若是他們的nice值都爲0,假設內核會給他們每人分配1k個cpu時間片。可是假設進程A的爲0,可是B的值爲-10,那麼此時CPU可能分別給A和B分配1k和1.5k的時間片。故能夠形象的理解爲,nice的值影響了內核分配給進程的cpu時間片的多少,時間片越多的進程,其優先級越高,其優先級值(PRI)越低。%nice,就是 改變過優先級的進程( 被改變的時間片部分) 的佔用CPU的(時間片) 百分比,如上例中就是0.5k/2.5k=1/5=20%。

  • 修改nice的命令就是 nice 和 renice(正在運行的進程)

調整firefox佔用cpu和mem達100%? 優化ff?

參考: https://support.mozilla.org/zh-CN/kb/%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F 火狐擴展和主題的故障解決方法

  • 不少時候 是因爲 擴展或 主題 形成的cpu和內存使用過大 (有些插件 可能會 嚴重佔用 cup? )? 判斷是主題或擴展引發的, 是 先 關閉/disabled extension and themes temporarily and start firefox in safe mode. firefox --safe-mode linux中的全部gui程序都由對應的 命令啓動, 並且都有對應的 help, 均可以指定 對應的 參數的 , 好比: firefox [options] [url] 等等
  • 能夠看到在安全模式下, 同時打開不少個 tab, 內存和cpu的使用 都保持在較小的合理範圍內. 因此基本上能夠肯定 cpu和內存使用很大的緣由 是由 擴展形成的 ,即哪一個block image/flash/scripts 形成的.
  • 若是是擴展形成的問題: 能夠升級擴展(新的擴展可能解決問題了), 修改擴展的設置, 等等.
  • 啓用 硬件加速, 能夠減輕 ff 對 cpu的佔用 壓力! 什麼叫硬件加速? 除了cpu由系統內存外 , 顯卡和聲卡的處理方式 跟cpu相似, 他們 由本身的對音頻/視頻的處理器(處理芯片, 對聲音和視頻進行解壓/處理/調節/後處理/渲染調節亮度-縮放-調節gamma等的芯片電路, 即常說的 GPU APU ) 和他們本身帶有的內存存儲器(即顯存和聲存, 由於gpu和apu要處理數據的時候要有本身的處理存放場所, 不能美時每刻都到系統內存去取東西數據吧). 若是沒有硬件加速, 那麼聲音和視頻的處理 都都要由cpu來處理, 這個一個是讓cpu負荷很大, 不能讓cpu處理更多的任務, 另外一個是, 把專門處理圖像視頻聲音的電路集成到cpu, 顯得不划算. 由於cpu的主要專長是處理多任務. 因此 咱們把 具備很強的專業性的處理功能(音頻/視頻處理) , 從cpu中剝離出來, 專門交給gpu和apu, 讓他們來分擔一下cpu的工做, 他們之間 是經過 總線 來交換數據的. (首先cpu從硬盤上讀取壓縮的音視頻內容, 到 系統內存, 由分離器 將音頻和視頻分開, 而後交給gpu和apu, 拷貝到 gpu和apu的顯存和聲存中, 這以後 cpu就去忙別的了, 剩下的工做就由 gpu和 apu去作, cpu只是按期查詢一下, 當它們處理完了, 聲音就去播放, 視頻就進行顯示, 這之間 cpu只是管理一下, 並不真的去實現,並不本身去作) 像這種 由gpu和apu進行處理聲音和視頻的處理就叫作 硬件加速.
  • 硬件加速須要知足 條件: 硬件要支持, os操做系統要支持, 運行的相關軟件要能支持. 好比這裏的 firefox 開啓硬件加速, 就說明 ff軟件是支持 hardware acceleration的

禁用abrt服務? 會不會致使系統不能被啓動?
[lee@localhost ~]$ systemctl list-units | grep 'abrt'
abrt-ccpp.service loaded active exited Install ABRT coredump hook
abrt-oops.service loaded active running ABRT kernel log watcher
abrt-xorg.service loaded active running ABRT Xorg log watcher
abrtd.service loaded active running ABRT Automated Bug Reporting Tool

  • 禁用軟件自動更新? 禁用 packagekit服務?
[lee@localhost ~]$ systemctl list-units | grep 'packagekit'
  packagekit.service                                                                        loaded active running   PackageKit Daemon
[lee@localhost ~]$ systemctl disable packagekit

chattr和lsattr

  • 只有root用戶纔有權限 運行chattr
  • 當給目錄設置 +a 屬性時, 只能向 目錄中 寫入內容/文件, 可是 不能從目錄中 刪除或 更名文件 , 主要適用於 日誌目錄
  • 當給 文件設置 +i屬性時, 就不能對文件做 任何修改: 包括刪除/更名, 修改文件內容. 這個 +i就是 給文件設置 onlyread 屬性(只讀)
  • chattr 是比chmod(設置文件的權限) 更嚴格 , 更底層的 安全設置. 好比當重要文件不容許修改時 +i, 日誌文件 +a
  • +a目錄 不適合 給 四種 目錄設置: ( /, /dev, /tmp, /var)

  • linux中的計算器命令: bc命令
    basic calculator 基本計算器, 或better calculator(更好的/或者說是 改進的計算器)
    兩種用法: 一是交互式環境的用法: 二是使用 echo '1+2; 2+3' | bc

tty:
由於我的計算機從 小型計算機(很早的) 變型而來的, 因此 不少 東西(術語) 是從 小型機沿用 過來的.
真正的tty 是: teletypewriter: 電傳打字機, 真的是經過 電傳機 來傳遞的
而從前的磁盤機, 的盤片 並非 密封的, 而是相似於 唱片機那樣的, 將磁盤 mount放到 一個 旋轉的 馬達 倉中, 因此叫 mount.

============================================

CST: china standard time 中國標準時間 , 也就是北京時間.

日誌文件 是記錄在 /var/log/journal/9a..../.....中的 , 可是 這些日誌 內容 都是 不 可讀的, 由於他們 是被加密了/ 被壓縮了的. 具體的journal 日誌配置文件是在 :

/etc/systemd/journald.conf這個文件中. 日誌的顯示 是 由 journalctl 從這些被壓縮的日誌記錄文件中 讀取 處理後 再顯示出來的.

爲何配置了 systemctl disable packagekit 後, packagekit 仍然顯示爲 runnign?

  • 可是, 查看 systemctl is-enable packagekit 顯示的結果是 static: 說明 , 雖然該 服務 仍然在運行, 可是 已經不能 開機自啓動了, 由於(咱們自己並無 stop 掉這個服務.
    關於 static的解釋是:

    使用命令 systemctl is-enabled postfix.service 獲得的值能夠是enable、disable或static,這裏的 static 它是指對應的 Unit 文件中沒有定義[Install]區域,所以沒法配置爲開機啓動服務。

  • 能夠 過濾 systemctl的 顯示類型: systemctl --type=service To show all installed unit files use 'systemctl list-unit-files'.
    systemctl --failed 顯示已經 失敗的unit

systemctl是系統控制工具, 至關於 win的控制面板, 用來 控制 整個系統相關的東西: 包括: 服務 , 設備, mount, timer , target等等.

禁用軟件更新, 能夠 經過 禁用倉庫 來 實現嗎?

dnf 倉庫分爲 穩定倉庫, 和 該倉庫的測試倉庫和 調試倉庫. 通常啓用 倉庫的穩定庫. dnf命令列出的是, 這個命令的 主要命令: list of main commands , 並非 所有命令, 使用 dnf config-manager --set-enabled/--set-disabled [repo_name] 來啓用或 禁用 一個倉庫

  1. 注意這裏的set-enabled/disabled是 完成時態, 加ed了的
  2. 這裏的倉庫 , 應該 是 repo id , 是id, 不是具體 的 repo name , 倉庫的id repo id 就是每個倉庫文件中的 加 中括號括起來的那個, 比好比 [fedora], 好比: [updates]

理解 mount和掛載的道理?

操做系統 的kernel 目錄管理系統, 只能理解 符號, 目錄, /foo, /bar等這些符號, 並不能 直接理解 磁盤/ 分區等這些硬件
磁盤/分區, 這些 硬件底層的東西, 須要驅動 來得到,
因此 驅動 讀取到的 磁盤/分區等內容, 要 掛載到 目錄等符號上, 才能被shell等 所識別和管理, 將磁盤/分區 mount 到 目錄上的過程, 就像 地瓜 長在地下的過程, 地瓜是 底層的東西, 是長在 地底下的, 至關於 磁盤/分區, 藤藤是長在地面上的,至關於目錄結構 /, /var, /etc等, 咱們人至關於操做系統, 人要經過藤藤 來把地瓜拉起來, 就至關於os 要經過 目錄結構才能操做 磁盤和分區.

===========================

tree命令 也有不少選項的: 使用 --help 能夠顯示

  • -d 只顯示目錄
  • -h 顯示K, M 等可讀性的大小
  • -L N , 顯示目錄的深度
  • -f 顯示完整的路徑
  • 能夠重定向到文件

firefox的配置文件在哪裏?

  • 一般, 應用程序的 我的配置文件 都是 放在 家目錄 ~ / 下的 , 並以 點號開頭
  • ff的我的配置文件 在 ~/.mozilla下, 使用 tree -d -L 3 能夠看到 結構:
    ~/.mozilla/firefox 下 由 profiles.ini 配置文件, 裏面就說了 具體的配置在 哪裏: 是在一個 gnx....default這樣的隨即字符組成的.default目錄中, 這個目錄中 就包含全部的內容:
    ~/.mozilla/firefox/gnx.../ prefs.js(是about:config配置中的內容,) 其餘不少內容,好比瀏覽歷史, 書籤, cookies等 都是放在 places.sqlite , bookmarks.sqlite, permission.sqlite, cookies.sqlite 等數據庫中的.

ff 佔用cpu太高的另外一個重要緣由, 多是 : 保存個別網頁/ 指定網頁的設置 的 配置文件: content-prefs.sqlite (內容設置) 文件損壞, 所以, 刪除這個 content-prefs.sqlite 文件 能使cpu的佔用 降低. 雖然 原來對 網頁的特別設置會重置!

[lee@localhost gnx2q659.default]$ ls content-prefs.sqlite 
content-prefs.sqlite
[lee@localhost gnx2q659.default]$ pwd
/home/lee/.mozilla/firefox/gnx2q659.default

======================

關於top的一些問題?

  • 爲何cpu的佔用率會大於100%? 是由於是多核cpu, 每一個cpu的使用量加起來的值, 因此 多是大於100%的, 若是是4核, 100% 的使用率也只有 平均的 25%
  • virt, res, shr data 這幾個數字,表示的是 內存的佔用量: virt是這個進程總的佔用的 虛擬內存空間的大小, res(resident)是 常駐內存的空間, shr(share)是共享庫佔用的內存空間, data是真實的數據 佔用的內存空間, 主要是看 res這個值???
  • load average 平均負載, 至關於 cpu的 同時運行的進程數: 參考 https://www.cnblogs.com/erisen/p/6027748.html 至關於並行的馬路數, 這三個1分鐘, 5分鐘, 15分鐘的平均數值必定要小於 cpu個數核數, 要保證性能, 則要小於 前面那個數值的 .7 : 好比 單個cpu 4核: 應該 小於 140.7 =2.8 平均負載要小於 2.8

======================

bc 設置精度的命令

  • 在交互下就能夠設置
  • 命令是: scale=2, ibase=10 ; obase=10 是設置 輸入輸出 進制.

=====================

systemd 是一種啓動方式, 是一種比inittab 更高效的啓動方式, 它建立了不少 *.target, 這些target是一些片斷和模塊, 相似與函數,能夠被多個程序調用同樣,這些target能夠被不一樣的模式和 target所包含/調用/組合/ 依賴. 從而更高效和靈活.

而 systemctl是 服務管理的工具, 是service和chkconfig的組合

systemd 各服務間基於依賴關係進行精密控制。
檢視和控制systemd的主要命令是systemctl。

systemctl 是系統管理, 它管理的範圍主要包括: *.device, .mount, .service, .target, .timer以及他們之間的前後/依賴關係等.

能夠查看 systemctl 的 -h幫助, 包括: [options] 和 commands, 跟其餘 dnf, git 等命令的使用方法差很少

===================================

如何禁用 後臺軟件自動更新?

參考:https://blog.csdn.net/jiaweihao/article/details/17736489 可是在 fc23中的dconf-editor的 schema: org.gnome.settings-damon.plugins中竟然沒有 update這個 子schema.

  • gsettings list-schemas列出全部的schema註冊表鍵名, list-children 會列出某個schema的全部子schema. list-keys 列出某個schema的全部子keys. 而set/get/等是獲取或設置某個key的值::::: 只有key才能夠設置/改變它的值, 而schema是註冊表鍵名, 是不能夠增長/刪除/修改的!
    而 list-recursively 會 遞歸地 列出某個 schema下的全部 子schema對應的keys和values.

要取消更新通知, 能夠將下面這個schema: org.gnome.desktop.notifications的 鍵key: application-children的值value設置爲 默認值, 即爲i空值, 那麼全部的通知都不會顯示, 可是並非 這些軟件更新 不存在了!

dconf-editor要配合 gsettings 來使用, 由於有時候, 你要找到某個 schema和其下的某個 key時, 用圖形界面時很差找, 那麼 用gsettings 的 grep功能就很方便了, 好比要設置/或取消ctrl鍵顯示 鼠標位置時:

[root@192 etc]# gsettings list-schemas |grep 'mouse'
org.gnome.desktop.a11y.mouse
org.gnome.mousetweaks
org.gnome.desktop.peripherals.mouse
org.gnome.settings-daemon.plugins.mouse 
org.gnome.settings-daemon.peripherals.mouse   //  找到, 就是這個
[root@192 etc]#

===========================================

事實上, 調整, 安裝好fc23 後, 對系統進行微調配置/設置fc23的主要 的就是 這兩個工具: dconf-editor(至關於註冊表, 在 sundry分類) 和 gnome-tweak-tool (這個是對系統和應用進行設置的工具, 是放在 utilities工具中的)

要終極禁用系統軟件後臺更新, 能夠直接 將 packagekit.service 服務禁止開機啓動了!!! su -c 'systemctl disable packagekit.service'

可是仍是無論用, 那麼就去修改 /usr/lib/systemd/system/下的 packagekit.service 服務和 package-offline-update.service服務 (文件units) 更改者兩個units文件名稱:

[root@192 system]# mv packagekit
packagekit-offline-update.service  packagekit.service                 
[root@192 system]# mv packagekit.service packagekit.service.backup
[root@192 system]# mv packagekit-offline-update.service packagekit-offline-update.service.backup

packagekit 是什麼?

packagekit是一個 "企圖" 跨平臺, 跨發行版的 包管理工具, 它能夠兼容: rpm, yum, apt, pkg等等.
因此, 要安裝 gnome-packagekit 和 gnome-packagekit-installer 這兩個包,

事實上, table元素, 除了表示表格的呈現外, 也確實經常 能夠用來 進行佈局 ... 其中它的 thead>tr>th和 tbody>tr>td等是具備 語義的做用, 雖然 thead和 tbody 在不少時候能夠不寫.並且 thead並非必須的, 若是沒有表頭, 或不須要 表頭, 就不用寫thead.
使用 tbody 能夠事先 呈現 表格主體數據部分, 而沒必要等到 整個表格都下載完了才顯示, 這個對於 喜歡用table來佈局網頁的尤爲重要

======================================

runlevel
init 3

ctrl+alt+f1~6, ctrl_alt+f78

https://wenku.baidu.com/view/b861ed9c69dc5022aaea00c2.html

target: 就是runlevel文件。
從 fedora16 開始 就再也不使用initab 而是使用target來配置啓動級別了,

  • multi-user.target, analogous to runlevel 3

  • graphical.target.

target:啓動的對象,啓動(服務的)對象

開發Systemd的主要目的就是減小系統引導時間和計算開銷

Systemd引入了並行啓動的概念,它會爲每一個須要啓動的守護進程創建一個套接字,這些套接字對於使用它們的進程來講是抽象的,這樣它們能夠容許不一樣守護進程之間進行交互。Systemd會建立新進程併爲每一個進程分配一個控制組(cgroup)。處於不一樣控制組的進程之間能夠經過內核來互相通訊。systemd處理開機啓動進程的方式很是漂亮,和傳統基於init的系統比起來優化了太多。讓咱們看下Systemd的一些核心功能

查看linux機器是32位仍是64位的方法:
file /sbin/init 或者file /bin/ls

當登錄一個linux系統時,bash shell依次會從4個不一樣的地方啓動文件裏的讀取命令,順序是:
1: /etc/profile
2:$HOME/.bash_profile
3:$HOME/.bash_login
4:$HOME/.profile

/lib 系統級別,系統的lib

/usr/lib 程序級別,二進制安裝包的lib

/usr/local/lib 用戶自定義級別,用戶編譯的通常放這裏

在ubuntu下,直接經過apt-get安裝的軟件通常會在/usr下面,本身編譯安裝的軟件(或者經過一些其餘的非官方途徑)會在/usr/local下面 實際上是普通的lib,文藝的lib和2b的lib的差異

相關文章
相關標籤/搜索