centos7.0-1506, 1511, 是指2015年, 06月份, 11月份. 這是rhel ubuntu發布新版本的時間.
centos7.0 只提供了64位的系統下載: x86_64:
web_host/ centos/7/isos/x86_64, 其中, isos= iso +s: 是指iso鏡像文件的復數.
vmware10的序列號, 實測是可以用的
在配置centos7的dnf倉庫的源地址:
迅雷的下載背景表示: 數字表示下載百分數, 背景為黑色, 前面的藍色表示當前的動態 - 連續的 下載速度. 根據你的網絡快慢程度,
設置整個的背景高度表示的 下載速度, 有: 1M 2M 5M/s的, 那么黑色背景上的藍色動態柱狀圖就表示在設置背景高度表示的速度下, 當前下載速度所占的高度百分比....
======================================================
虛擬機vmware中安裝centos7, 主機是1處理器, 4核4線程, 選擇2核是合適的. 增加核數可以適當提高虛擬機的性能, 但是如果核數過多,對增加虛擬機的性能沒有顯著的效果,同時也會增加主機的負擔, 由於虛擬機是運行在主機上的, 這樣也相應地降低了虛擬機的響應
intel的虛擬化技術?
包括三個方面的內容:
vtx vt-x, 是關於處理器方面的技術, 主要是內存/硬件的隔離, 包括頁表管理和內存地址保護隔離等;
vtd, vt-d, 是關於芯片組(主要是南橋芯片組), 虛擬機可以超越主機, 直接調用io設備等技術;
vtc, vt-c, 是關於網絡的虛擬技術, 可以在一個物理網卡上虛擬出多個vm net card..
其中, x表示xpu, d=device, c=connection.
為什么二進制轉換和此平台上的長模式不兼容?
- 長模式,就是指的32位還是64位, 這里指64位
- 不兼容? 因為主機使用的是32位系統(32-win7), 而虛擬機是64位的centos7, 所以不兼容
- 要兼容? 就要使主機和虛擬機的平台"長模式"相同:
- 要么更換主機, 安裝64位的主機系統,
- 要么更換虛擬機的平台, 也使用32位的系統.
- 如果都不改, 在32位的主機上安裝64位的系統, 就要啟用主板上的intel-vt技術.
=======================================================
使用builtwith可以查看站點使用 的服務器引擎是 apache還是iis, 后台語言是asp(.net),還是php, 編碼語言是utf-8還是 gb2312.
工具的地址是: builtwith.com, 注意沒有www.
如何判斷一個網頁的后台架構? 如何查看請求頭和服務器的響應頭?
通過ff的f12 工具可以很清楚的查看到這些信息:
todo: 請求頭和響應頭 就相當於是一些數組, 有key => value組成, 那么如何在php程序中來訪問這些內容呢?
=======================================================
安裝vmware tools?
- 先要mount: mount [options] <source主要是一些設備devices>
光盤loaded后, 名字叫做cdrom, 在vmware中又叫sr0 (英語的主要語法結構是: 句子的主要成分主謂賓, 然后用短語,從句等修飾填充主謂賓...)
那為什么叫sr0
sr0: 不是source0 , 因為你沒有說明是什么類別: sr0: scsi +rom + 第一個...
sda: scsi disk, sg: scsi+generic, st: scsi+tape...
為什么當 /dev/cdrom mount到 /mnt后, 不能在/mnt目錄下解壓tar 包: VMwareTools...?
因為光盤默認的, 設備/dev/sr0為寫保護, 因此, 掛在目錄是只讀的: write-protected, mounting only-read.
在字符界面下, 你唯一能操作的就是 shell, bash,那個是你進入系統的唯一的入口. 因此, 如果你執行 exit命令, 自然就退出所有的入口了, 就退出到登錄界面了...
=====================================================
cenots7 的boot 和lvm默認使用的都是 xfs 文件系統
centos7 還是使用的 yum管理包
當使用最小化 minimal安裝時, 很多東西都是沒有的, 只有在用到的時候再進行安裝, 如ifconfig, perl, route, netstat這些工具都沒有...!!
安裝VMware Tools時, perl程序會設置很多哦東西, 還要檢查ifconfig程序program是否安裝, if you specify the location of "ifconfig" program by hand, and the setup is unable to find the "ifconfig" in the place where you specified, the setup will be canceled.
the command "yum search ifconfig" cannot find package for ifconfig, because "ifconfig" command is included in "net-tools.x86_64" package.
安裝好net-tools.x86_64包后, ifconfig,route, netstat等命令都可以使用了!!
其實, 對於centos服務器而言, 由於只安裝了字符界面, 所以安不安裝 vmware tools關系都不大, 都對操作沒有多大影響, 因為移動焦點, 還是要通過ctrl+alt /// ctrl+g來實現, 因為字符界面 沒有鼠標, 字符界面是不能操作鼠標的!!!
====================================================
html中表單的理解?
表單是html中, 組件設計的思想, 是類似於vc 中的組件拖放 的設計思想, 是 用戶和頁面進行交互的主要方式, 頁面中, 也只有表單才能運行用戶進行輸入和編輯, 其他地方 都只是讓用戶 查看和流量.
###########################################
systemd和sysv的區別
system V是(system victory???), 是AT&T unix的發行版之一, 有四個版本, 是AT&T 在1989年開發的, 其中SVR4 是最高 "內核標准"
摘錄1: (((system v init.system vinit): Linux 使用的是基於運行級(run-levels) 概念的稱為 SysVinit 的專用啟動工具。 它在不同的系統上可能是完全不一樣的, 所以不能認為一個腳本在某個 Linux 發行版上工作正常。
System V init的主要思想是定義了不同的"運行級別(runlevel)"。通過配置文件/etc/inittab定義了系統引導時的運行級別, 進入或者切換到一個運行級別時做什么。每個運行級別對應於一個子目錄/etc/rc.d/rcX.d。
在etc/inittab中action為sysinit的一行會給初始化腳本傳入一個參數,一般為一數字,例如:
si::sysinit:/etc/rc.d/init.d/rc 5
rc腳本會合成 /etc/rc.d / rc5.d目錄,其中5是傳入的參數,並執行其中的腳本來開關服務。 )))
linux的啟動過程: 首先是bios -> boot loader: 做的工作是: 初始化內核, 然后在最后一步: 啟動pid=1的init進程, -> 由init=1 的守護 (父) 進程去啟動 用戶的其他應用進程 (或許, 這個工作就叫做 init)
: 單純的啟動kernel是沒有意義的, 因為沒有shell或X, 用戶什么都不能做, 不能進行其他有意義的工作:
: linux歷史上, 有三種init系統: system v init; upstart; systemd.
system v的思想是, 定義了幾個run-levels..
systemd, 則是, 將系統的init, 服務services. 以及開機啟動的daemon(音同deamon ae發i音)等 系統的核心控制和init工作, 都由systemd來管理. 從名字上來看, systemd 是system系統的daemon
centos7的, 包管理還是yum, 不是dnf, 而系統的管理包括 服務的管理, 使用的是systemd的init方式, 不是system v的 類unix方式...
參考這篇文章很好: http://blog.jobbole.com/85076/
=======================================================
iptables的理解?
linux的iptables實際上就相當於一個路由器. 路由器的 路由表功能就類似於filter表的功能; 路由器的Nat功能就相當於nat表的功能, 路由器的 service quality, QoS管理就相當於mangle表的功能.
netfilter是由Rusty Russell提出的Linux 2.4內核防火牆 框架,該框架既簡潔又靈活,可實現安全策略應用中的許多功能,
nationality: australia. rust: 生銹, rusty:生銹的. 羅迪斯.拉塞爾.
{{ 框架
netfilter提供了一個抽象、通用化的框架,作為中間件,為每種網絡協議(IPv4、IPv6等)定義一套鈎子函數。Ipv4定義了5個鈎子函數,這些鈎子函數在數據報流過協議棧的5個關鍵點被調用,也就是說,IPv4協議棧上定義了5個“允許垂釣點”。在每一個“垂釣點”,都可以讓netfilter放置一個“魚鈎”,把經過的網絡包(Packet)釣上來,與相應的規則鏈進行比較,並根據審查的結果,決定包的下一步命運,即是被原封不動地放回IPv4協議棧,繼續向上層遞交;還是經過一些修改,再放回網絡;或者干脆丟棄掉。 }}
[[
連線跟蹤
連線跟蹤是包過濾、地址轉換的基礎,它作為一個獨立的模塊運行。采用連線跟蹤技術在協議棧低層截取數據包,將當前數據包及其狀態信息與歷史數據包及其狀態信息進行比較,從而得到當前數據包的控制信息,根據這些信息決定對網絡數據包的操作,達到保護網絡的目的。
當下層網絡接收到初始化連接同步(Synchronize,SYN)包,將被netfilter規則庫檢查。該數據包將在規則鏈中依次序進行比較。如果該包應被丟棄,發送一個復位(Reset,RST)包到遠端主機,否則連接接收。這次連接的信息將被保存在連線跟蹤信息表中,並表明該數據包所應有的狀態。這個連線跟蹤信息表位於內核模式下,其后的網絡包就將與此連線跟蹤信息表中的內容進行比較,根據信息表中的信息來決定該數據包的操作。因為數據包首先是與連線跟蹤信息表進行比較,只有SYN包才與規則庫進行比較,數據包與連線跟蹤信息表的比較都是在內核模式下進行的,所以速度很快。
]]
iptables: 整個框架是netfilter, 是Rusty Russel提出基於2.4內核的. 包括3個表:
filtr表: 跟主機本身有關的數據包表;
nat表: 跟本機無關, 是做地址轉換和端口轉換的表;
mangle表, 是更改/控制, 包的高級路由信息的表, 如tos: type of service 更改包的服務類型, 更改包的ttl生存時間, mark特殊標記等等)
參考 http://blog.chinaunix.net/uid-26617944-id-3263404.html
filter表包括: 三種鏈: input, output, forward
nat表包括: 三種鏈: prerouting, postrouting, output.
對於nat, 包括:snat, dnat, marsquerade(偽裝)
最主要的理解地址轉換: 進入路由表之前的nat轉換 , 是進行snat, 對源地址進行轉換. 為什么? 因為路由器的內部 機器,內部網絡的 路由條目, 的目的地址, 是"路由器" 出口的ip地址, 內部網絡是不知道遠程地址的, 所以要對遠程回來的包, 的 源地址做轉換, 轉換成路由器出口的地址. 這就是 為什么 銳捷路由器在內部 無線地址要出去, 為什么要在路由器行做 prerouting 做nat轉換的道理
在內部網絡出去的時候, 也會對數據包進行postrouting....
對iptables的命令格式 理解:
iptalbe語法及參數
iptable [-t table] command [chain] [match] [-j target]
注釋:iptable [-t 表名] -命令 [鏈接] [匹配] [-j 動作/目標]
- 一般是對filter 有關本機的數據包進行處理, 默認的就是 -t filter;
- 要指明 是對哪個鏈進行什么操作; command chain.
- [match] 這個鏈中 要 匹配那些 類型的 數據流(量), 如 -p , -s, -d, --port等等什么的;
- 最后當然是要進行處理的 規則, 是接收還是禁止....
在iptables 命令中, 對規則鏈中的
1. 對規則進行管理, 如添加,刪除,插入等等, 是用 **大寫** 的字母或長選項來實現的, 如: (幾種常用的操作):
-A, --append
-D, --delete
-I, --insert
-R: --replace
-L: --list
-F, --flush: 清除規則.如果不指定鏈
-P, --policy : 指定默認規則.
2. 對規則進行匹配, 則是用 **小寫**字母或長選項來實現:
-p: --protocol
-s, -d, ...
3. targeted, 有三種:
accept, 接收
drop, 都匹配數據包做丟棄處理, 但不會給路由器和發送方以信息通知
reject, 做丟棄, 同時.......會發生通告信息......
匹配分為 四種:
通用匹配, 任何的, 不需要附加條件的;
隱含匹配, 即要先指定某種協議后, 再指定...: -p tcp --sport 53 80
顯示匹配, 如針對 -m limit , -m mac, -m toc...
針對非正常包的匹配...
主要掌握通用匹配和隱含匹配就可以了....
設置 默認/缺省 規則的時候, 不要加 -j...
iptables -P OUTPUT ACCEPT
規則配置文件是保持在 /etc/sysconfig/iptables文件中的.
主機和虛擬機 的centos不能互相 ping通, 可能是兩個方面的原因:
-
方面,是, 虛擬機centos的原因, 如, 防火牆禁止了ping: 可以設置:
iptabes -P OUTPUT ACCEPT
iptables -A INPUT -p icmp -j ACCEPT.或者暫時關閉 iptables.
-
方面, 是, 主機, windows 方面的原因, 要開通 "高級共享設置" -> "啟用文件和打印機共享"
windows 也有一個 "弱的" 防火牆, 真正的病毒擋不了, 正常的應用...要通過, 倒是要去開啟的...
要ping通, 就得要打開 "文件和打印機共享", 可能 這個里面 就包含了 防火牆對 ping的 放行和 禁止. 或者???可能ping命令要在共享文件中寫東西? 如 從對方機器 上接收 的 臨時的 ping包 需要寫入 網絡共享文件中???