真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

xferlinux命令,XFER指令

linux怎么配置dns緩存服務(wù)器和主從服務(wù)器

BIND安裝

淇濱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

軟件下載地址:,目前最新版本是BIND 9.8.1-P1。

安裝依賴:

yum -y install gcc openssl-devel

開始安裝bind.

wget

tar xzf bind-9.8.1-P1.tar.gz

cd bind-9.8.1-P1

./configure --prefix=/usr/local/bind

make make install

執(zhí)行完成后,bind已經(jīng)安裝到了/usr/local/bind目錄。

配置主dns服務(wù)器

配置bind主要是兩種文件,一是主配置文件named.conf,二是區(qū)域文件zone(包括正解析,反解析)。

在下面的配置中,我們的主dns服務(wù)器是ns1.qbtop.com 23.19.81.191,從dns服務(wù)器是ns2.qbtop.com 23.19.81.194(這兩個dns都已經(jīng)在godaddy注冊好了)。

下面操作僅在主dns服務(wù)器23.19.81.191執(zhí)行。

主配置文件named.conf

首先執(zhí)行rndc-confgen -a生成/etc/rndc.key密鑰文件。

/usr/local/bind/sbin/rndc-confgen -a

vi /usr/local/bind/etc/named.conf

寫入如下內(nèi)容:

include "/usr/local/bind/etc/rndc.key";

controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; }; };

logging {

channel default_syslog { syslog local2; severity notice; };

channel audit_log { file "/var/log/bind.log"; severity notice; print-time yes; };

category default { default_syslog; };

category general { default_syslog; };

category security { audit_log; default_syslog; };

category config { default_syslog; };

category resolver { audit_log; };

category xfer-in { audit_log; };

category xfer-out { audit_log; };

category notify { audit_log; };

category client { audit_log; };

category network { audit_log; };

category update { audit_log; };

category queries { audit_log; };

category lame-servers { audit_log; };

};

options {

directory "/usr/local/bind/etc";

pid-file "/usr/local/bind/var/run/bind.pid";

transfer-format many-answers;

interface-interval 0;

allow-query { any; };

};

zone "qbtop.com" {

type master;

file "qbtop.com.zone";

allow-transfer { 23.19.81.194; };

};

zone "81.19.23.in-addr.arpa" {

type master;

file "81.19.23.in-addr.arpa";

allow-transfer { 23.19.81.194; };

};

named.conf文件說明:

上面的named.conf文件包括三部分:key,controls,logging,options,zone。

logging:設(shè)置日志服務(wù)器和日志信息的發(fā)送地。

options:控制服務(wù)器的全局配置選項和為其它語句設(shè)置默認(rèn)值

zone:定義一個域,比如正解析域和反解析域。

logging是定義日志的,不需要深究,主要是options和zone。

在options中:

directory "/usr/local/bind/etc":定義bind的工作目錄為/usr/local/bind/etc,配置文件中所有使用的相對路徑,指的都是在這里配置的目錄下。

pid-file "/usr/local/bind/var/run/bind.pid":把bind程序運行的pid寫入文件bind.pid。

transfer-format many-answers:使用更加有效的域傳輸格式many-answers。

allow-query { any; }:允許所有用戶查詢dns。

在zone中:

這里定義了兩個zone,一個是正解析zone qbtop.com,一個是反解析zone 81.19.23.in-addr.arpa。

他們的參數(shù)基本相同:

type master:定義dns服務(wù)器為主dns。

file "qbtop.com.zone":定義此zone的文件名。

allow-transfer { 23.19.81.194; }:允許向從dns 23.19.81.194傳輸dns數(shù)據(jù)。

唯一不同的是zone名稱的定義,正解析zone名稱的定義是受權(quán)的域名,可以是頂級域名,也可以是二級域名,或多級。反解析zone名稱定義規(guī)定前部分ip倒著寫。如ip 192.168.1.2,名稱定義為1.168.192.in-addr.arpa。

正解析qbtop.com.zone

vi /usr/local/bind/etc/qbtop.com.zone

寫入如下內(nèi)容:

$TTL 3600

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

ns1 IN A 23.19.81.191

ns2 IN A 23.19.81.194

aaa IN A 23.19.81.191

bbb IN A 23.19.81.191

文件說明:

$TTL 3600:指示為每個沒有特殊TTL設(shè)置的RR給出了一個默認(rèn)的TTL。

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

定義SOA記錄,包括Zone的名字,一個技術(shù)聯(lián)系人和各種不同的超時值。

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

設(shè)置兩個ns記錄ns1.qbtop.com和ns2.qbtop.com。

ns1 IN A 23.19.81.191

ns2 IN A 23.19.81.194

aaa IN A 23.19.81.191

bbb IN A 23.19.81.191

設(shè)置主機為ns1,ns2,aaa和bbb的A記錄。

反解析文件81.19.23.in-addr.arpa

反解析zone可以不設(shè)置。

vi /usr/local/bind/etc/81.19.23.in-addr.arpa

寫入如下內(nèi)容:

$TTL 3600

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

191 IN PTR ns1.qbtop.com.

194 IN PTR ns2.qbtop.com.

說明:

上部分是定義SOA記錄,下部分是設(shè)置IP反解析。

如設(shè)置IP 23.19.81.191反解析成ns1.qbtop.com,23.19.81.194反解析成ns2.qbtop.com。

配置從DNS服務(wù)器

下面我們來配置從DNS服務(wù)器。配置從DNS服務(wù)器只需要配置主配置文件named.conf,zone文件不需配置,因為這是從主DNS服務(wù)器獲取的。

首先建立目錄slaves用來存放從主dns獲取的zone文件。

mkdir /usr/local/bind/etc/slaves

寫入如下內(nèi)容:

logging {

channel default_syslog { syslog local2; severity notice; };

channel audit_log { file "/var/log/bind.log"; severity notice; print-time yes; };

category default { default_syslog; };

category general { default_syslog; };

category security { audit_log; default_syslog; };

category config { default_syslog; };

category resolver { audit_log; };

category xfer-in { audit_log; };

category xfer-out { audit_log; };

category notify { audit_log; };

category client { audit_log; };

category network { audit_log; };

category update { audit_log; };

category queries { audit_log; };

category lame-servers { audit_log; };

};

options {

directory "/usr/local/bind/etc";

pid-file "/usr/local/bind/var/run/bind.pid";

transfer-format many-answers;

interface-interval 0;

allow-query { any; };

};

zone "qbtop.com" {

type slave;

file "slaves/qbtop.com.zone";

masters { 23.19.81.191; };

};

zone "81.19.23.in-addr.arpa" {

type slave;

file "slaves/81.19.23.in-addr.arpa";

masters { 23.19.81.191; };

};

文件說明:

從dns跟主dns主要的區(qū)別是zone的定義,type slave定義此dns服務(wù)器為從dns,masters { 23.19.81.191; }定義主dns的IP。

啟動BIND

1、在啟動BIND之前,我們需要執(zhí)行/usr/local/bind/sbin/named-checkconf檢查named.conf配置文

件,和執(zhí)行/usr/local/bind/sbin/named-checkzone zone名稱

zone文件名,如/usr/local/bind/sbin/named-checkzone qbtop.com

/usr/local/bind/etc/qbtop.com.zone。

然后調(diào)試模式啟動bind,/usr/local/bind/sbin/named -g,g參數(shù)的意思是前臺執(zhí)行bind,這會輸出啟動的信息,發(fā)現(xiàn)沒有嚴(yán)重的錯誤后,再把g參數(shù)刪除重新以/usr/local/bind/sbin/named方式后臺啟動bind。

2、設(shè)置開機啟動,在/etc/rc.d/rc.local中加入/usr/local/bind/sbin/named。

手動添加記錄

1、直接添加刪除或修改zone文件里的記錄

2、執(zhí)行rndc reload zone名稱重載,如rndc reload qbtop.com

algo->smbus_xfer()函數(shù)定義在哪?'>linux開發(fā)環(huán)境中i2c中使用的adapter->algo->smbus_xfer()函數(shù)定義在哪?

?。這個一般在i2c bus的驅(qū)動部分找,建議用source insight來look-up哦。

struct i2c_algorithm {

/* If an adapter algorithm can't do I2C-level access, set master_xfer

to NULL. If an adapter algorithm can do SMBus access, set

smbus_xfer. If set to NULL, the SMBus protocol is simulated

using common I2C messages */

/* master_xfer should return the number of messages successfully

processed, or a negative value on error */

int (*master_xfer)(struct i2c_adapter *adap, struct i2c_msg *msgs,

int num);

int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr,

unsigned short flags, char read_write,

u8 command, int size, union i2c_smbus_data *data);

/* To determine what the adapter supports */

u32 (*functionality) (struct i2c_adapter *);

};

一般是根據(jù)處理器的i2c來實現(xiàn)這個適配器的alg,所以函數(shù)名并不一定是這個。自己看看i2c 總線的驅(qū)動實現(xiàn)代碼

如何在Linux中讓I2C驅(qū)動支持Sub Address的兩種方法

【目的】

AS3527有一個模擬部分,稱作AFE,其與數(shù)字部分通過i2c通信,此處AFE部分有很多寄存器供外界操作訪問,如果想要訪問這些寄存器,就要用到Sub Address,所以,要實現(xiàn)讓i2c 驅(qū)動支持Sub Address的模式。

i2C本身的架構(gòu)中,沒有支持sub address,所以,我們只能想辦法,讓其I2C支持(方法1)或者用smbus的架構(gòu)(方法2).

【方法】

方法1:

在i2c的message中傳遞一個2個字節(jié)的buffer,分別存放Sub Address和data

比如,對于讀操作,就可以這么實現(xiàn):

int afe_read_reg(int addr, u8 *pdata)

{

u8 msgbuf[2];

struct i2c_msg msg =

{

.addr = save_client-addr | ( 8),

.flags = I2C_M_RD ,

.len = 2,

.buf = msgbuf,

};

msgbuf[0] = addr; //存放Sub Address,此處的Addr是寄存器地址,也就是Sub Address

msgbuf[1] = 0; //初始化

if (i2c_transfer(save_client-adapter, msg, 1) 0) {

dev_warn(save_client-dev,

"can't read from afe /n");

return -ENOMEM;

}

*pdata = msgbuf[1];

return 0;

}

方法2:

使用SMBUS的框架,其支持Sub Address

在i2c讀操作中,直接調(diào)用SMBUS架構(gòu)中的函數(shù)i2c_smbus_read_byte_data:

int afe_read_reg(int addr, u8 *pdata)

{

int ret;

ret = i2c_smbus_read_byte_data(save_client, addr);

if (ret 0)

return ret;

else {

*pdata = (u8)ret;

return 0;

}

}

然后函數(shù)調(diào)用順序是

i2c_smbus_read_byte_data - i2c_smbus_xfer -

adapter-algo-smbus_xfer 或 i2c_smbus_xfer_emulated

(1)此處如果你自己的I2C驅(qū)動中沒有實現(xiàn)

adapter-algo-smbus_xfer

那么就會去調(diào)用i2c_smbus_xfer_emulated,其會把I2C的讀一個字節(jié)的操作,

分成2個message,然后

i2c_smbus_xfer_emulated - i2c_transfer - adap-algo-master_xfer(adap,msgs,num)

去調(diào)用底層自己的i2c傳輸?shù)暮瘮?shù)master_xfer去實現(xiàn)兩個message的傳輸。

此處要注意的是,如果你的i2C的控制器和i2c設(shè)備,支持將此I2C的讀一個字節(jié)操作分兩個message傳輸,

那么此處此方法也是可以的。

而你的底層的master_xfer函數(shù),只要負(fù)責(zé)將對應(yīng)的message發(fā)送出去也就可以實現(xiàn)對應(yīng)的功能了。

否則,就像我此處遇到的,我這里的AFE的i2c控制器,不支持讀操作分成兩次message,只支持一個I2C message的傳輸,

所以,只能是在底層特殊處理,將2個message自己整理成一個message,或者是用下面的辦法。

(2)自己實現(xiàn)了adapter-algo-smbus_xfer

自己仿照i2c_smbus_xfer_emulated,在具體實現(xiàn)的時候,對于讀和寫都只是發(fā)送一個message,然后讓底層代碼

adap-algo-master_xfer去處理這個message,實現(xiàn)對應(yīng)的讀和寫。

【注意】

1.以上,不論是1還是2,都是在實現(xiàn)了自己I2C驅(qū)動底層message傳輸?shù)幕竞瘮?shù)之后,才可以工作的。

而對于這個基本函數(shù),即adap-algo-master_xfer,

都是要在實現(xiàn)的時候,注意上層傳遞過來的buffer的第一個字節(jié)是sub address,第二個字節(jié)才是要用于寫入或讀取的buffer。

2.對于方法2(2),在模擬i2c_smbus_xfer_emulated實現(xiàn)自己的xfer函數(shù)的時候,

不能直接調(diào)用i2c_transfer,因為i2c_transfer里面,去獲得adapter-bus_lock,而i2c_smbus_xfer中,調(diào)用adapter-algo-smbus_xfer之前,已經(jīng)進(jìn)行了對于adapter-bus_lock鎖定,而因此會形成死鎖的的,辦法是不要再去獲得鎖,而直接調(diào)用adapter-algo-master_xfer即可。

linux中快速清空文件內(nèi)容的幾種方法

linux下快速刪除大量文件假如你要在linux下刪除大量文件,比如100萬、1000萬,像/var/spool/clientmqueue/的mail郵件,像/usr/local/nginx/proxy_temp的nginx緩存等,那么rm -rf *可能就不好使了。rsync提供了一些跟刪除相關(guān)的參數(shù) rsync --help grep delete --del an alias for --delete-during --delete delete files that don't exist on the sending side --delete-before receiver deletes before transfer (default) --delete-during receiver deletes during transfer, not before --delete-after receiver deletes after transfer, not before --delete-excluded also delete excluded files on the receiving side --ignore-errors delete even if there are I/O errors --max-delete=NUM don't delete more than NUM files其中--delete-before 接收者在傳輸之前進(jìn)行刪除操作 可以用來清空目錄或文件,如下:1、先建立一個空目錄mkdir /data/blank2、用rsync刪除目標(biāo)目錄rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/這樣目標(biāo)目錄很快就被清空了又假如你有一些特別大的文件要刪除,比如nohup.out這樣的實時更新的文件,動輒都是幾十個G上百G的,也可 以用rsync來清空大文件,而且效率比較高1、創(chuàng)建空文件touch /data/blank.txt2、用rsync清空文件rsync -a --delete-before --progress --stats /root/blank.txt /root/nohup.outbuilding file list ...1 file to considerblank.txt 0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)Number of files: 1Number of files transferred: 1Total file size: 0 bytesTotal transferred file size: 0 bytesLiteral data: 0 bytesMatched data: 0 bytesFile list size: 27File list generation time: 0.006 secondsFile list transfer time: 0.000 secondsTotal bytes sent: 73Total bytes received: 31 sent 73 bytes received 31 bytes 208.00 bytes/sectotal size is 0 speedup is 0.00tips:當(dāng)SRC和DEST文件性質(zhì)不一致時將會報錯當(dāng)SRC和DEST性質(zhì)都為文件【f】時,意思是清空文件內(nèi)容而不是刪除文件當(dāng)SRC和DEST性質(zhì)都為目錄【d】時,意思是刪除該目錄下的所有文件,使其變?yōu)榭漳夸涀钪匾氖?,它的處理速度相?dāng)快,處理幾個G的文件也就是秒級的事最核心的內(nèi)容是:rsync實際上用的就是替換原理作者 張慧

Linux dd 命令怎么用?具體例子?

舉個例子說明一下:

將硬盤a克隆到硬盤b?:

dd?if=/dev/sda?of=/dev/sdb?bs=4M

可能在這個過程中的速度會比較慢,但是是有原因的,因為有用的和無用的數(shù)據(jù)都要復(fù)制。

——答案來自xisaiLinux界大牛老師


文章名稱:xferlinux命令,XFER指令
文章起源:http://weahome.cn/article/hsgosh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部