精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

udev 入門:管理設(shè)備事件的Linux子系統(tǒng)

系統(tǒng) Linux
udev 是一個(gè)為你的計(jì)算機(jī)提供設(shè)備事件的 Linux 子系統(tǒng)。通俗來講就是,當(dāng)你的計(jì)算機(jī)上插入了像網(wǎng)卡、外置硬盤(包括 U 盤)、鼠標(biāo)、鍵盤、游戲操縱桿和手柄、DVD-ROM 驅(qū)動(dòng)器等等設(shè)備時(shí),代碼能夠檢測到它們。

[[251969]]

創(chuàng)建這樣一個(gè)腳本,當(dāng)指定的設(shè)備插入時(shí)觸發(fā)你的計(jì)算機(jī)去做一個(gè)指定動(dòng)作。

udev 是一個(gè)為你的計(jì)算機(jī)提供設(shè)備事件的 Linux 子系統(tǒng)。通俗來講就是,當(dāng)你的計(jì)算機(jī)上插入了像網(wǎng)卡、外置硬盤(包括 U 盤)、鼠標(biāo)、鍵盤、游戲操縱桿和手柄、DVD-ROM 驅(qū)動(dòng)器等等設(shè)備時(shí),代碼能夠檢測到它們。這樣就能寫出很多可能非常有用的實(shí)用程序,而它已經(jīng)很好了,普通用戶就可以寫出腳本去做一些事情,比如當(dāng)某個(gè)硬盤驅(qū)動(dòng)器插入時(shí),執(zhí)行某個(gè)任務(wù)。

這篇文章教你去如何寫一個(gè)由一些 udev 事件觸發(fā)的 udev 腳本,比如插入了一個(gè) U 盤。當(dāng)你理解了 udev 的工作原理,你就可以用它去做各種事情,比如當(dāng)一個(gè)游戲手柄連接后加載一個(gè)指定的驅(qū)動(dòng)程序,或者當(dāng)你用于備份的驅(qū)動(dòng)器連接后,自動(dòng)執(zhí)行備份工作。

一個(gè)初級的腳本

使用 udev 的***方式是從一個(gè)小的代碼塊開始。不要指望從一開始就寫出完整的腳本,而是從最簡單的確認(rèn) udev 觸發(fā)了某些指定的事件開始。

對于你的腳本,依據(jù)你的目標(biāo),并不是在任何情況下都能保證你親眼看到你的腳本運(yùn)行結(jié)果的,因此需要在你的腳本日志中確認(rèn)它成功觸發(fā)了。而日志文件通常放在 /var 目錄下,但那個(gè)目錄通常是 root 用戶的領(lǐng)地。對于測試目的,可以使用 /tmp,它可以被普通用戶訪問并且在重啟動(dòng)后就被清除了。

打開你喜歡的文本編輯器,然后輸入下面的簡單腳本:

  1. #!/usr/bin/bash
  2.  
  3. echo $date > /tmp/udev.log

把這個(gè)腳本放在 /usr/local/bin 或缺省可運(yùn)行路徑的位置中。將它命名為 trigger.sh,并運(yùn)行 chmod +x 授予可運(yùn)行權(quán)限:

  1. $ sudo mv trigger.sh /usr/local/bin
  2. $ sudo chmod +x /usr/local/bin/trigger.sh

這個(gè)腳本沒有任何和 udev 有關(guān)的事情。當(dāng)它運(yùn)行時(shí),這個(gè)腳本將在文件 /tmp/udev.log 中放入當(dāng)前的時(shí)間戳。你可以自己測試一下這個(gè)腳本:

  1. $ /usr/local/bin/trigger.sh
  2. $ cat /tmp/udev.log
  3. Tue Oct 31 01:05:28 NZDT 2035

接下來讓 udev 去觸發(fā)這個(gè)腳本。

唯一設(shè)備識別

為了讓你的腳本能夠被一個(gè)設(shè)備事件觸發(fā),udev 必須要知道在什么情況下調(diào)用該腳本。在現(xiàn)實(shí)中,你可以通過它的顏色、制造商、以及插入到你的計(jì)算機(jī)這一事實(shí)來識別一個(gè) U 盤。而你的計(jì)算機(jī),它需要一系列不同的標(biāo)準(zhǔn)。

udev 通過序列號、制造商、以及提供商 ID 和產(chǎn)品 ID 號來識別設(shè)備。由于現(xiàn)在你的 udev 腳本還處于它的生命周期的早期階段,因此要盡可能地寬泛、非特定和包容。換句話說就是,你希望首先去捕獲盡可能多的有效 udev 事件來觸發(fā)你的腳本。

使用 udevadm monitor 命令你可以實(shí)時(shí)利用 udev,并且可以看到當(dāng)你插入不同設(shè)備時(shí)發(fā)生了什么。用 root 權(quán)限試一試。

  1. $ su
  2. # udevadm monitor

該監(jiān)視函數(shù)輸出接收到的事件:

  • UDEV:在規(guī)則處理之后發(fā)出 udev 事件
  • KERNEL:內(nèi)核發(fā)送 uevent 事件

udevadm monitor 命令運(yùn)行時(shí),插入一個(gè) U 盤,你將看到各種信息在你的屏幕上滾動(dòng)而出。注意那一個(gè) ADD 事件的事件類型。這是你所需要的識別事件類型的一個(gè)好方法。

udevadm monitor 命令提供了許多很好的信息,但是你可以使用 udevadm info 命令以更好看的格式來看到它,假如你知道你的 U 盤當(dāng)前已經(jīng)位于你的 /dev 樹。如果不在這個(gè)樹下,拔下它并重新插入,然后立即運(yùn)行這個(gè)命令:

  1. $ su -c 'dmesg | tail | fgrep -i sd*'

舉例來說,如果那個(gè)命令返回 sdb: sdb1,說明內(nèi)核已經(jīng)給你的 U 盤分配了 sdb 卷標(biāo)。

或者,你可以使用 lsblk 命令去查看所有連接到你的系統(tǒng)上的驅(qū)動(dòng)器,包括它的大小和分區(qū)。

現(xiàn)在,你的驅(qū)動(dòng)器已經(jīng)處于你的文件系統(tǒng)中了,你可以使用下面的命令去查看那個(gè)設(shè)備的相關(guān) udev 信息:

  1. # udevadm info -a -n /dev/sdb | less

這個(gè)命令將返回許多信息?,F(xiàn)在我們只關(guān)心信息中的***個(gè)塊。

你的任務(wù)是從 udev 的報(bào)告中找出能唯一標(biāo)識那個(gè)設(shè)備的部分,然后當(dāng)計(jì)算機(jī)檢測到這些唯一屬性時(shí),告訴 udev 去觸發(fā)你的腳本。

udevadm info 命令處理一個(gè)(由設(shè)備路徑指定的)設(shè)備上的報(bào)告,接著“遍歷”父級設(shè)備鏈。對于找到的大多數(shù)設(shè)備,它以一個(gè)“鍵值對”格式輸出所有可能的屬性。你可以寫一個(gè)規(guī)則,從一個(gè)單個(gè)的父級設(shè)備屬性上去匹配插入設(shè)備的屬性。

  1. looking at device '/devices/000:000/blah/blah//block/sdb':
  2.   KERNEL=="sdb"
  3.   SUBSYSTEM=="block"
  4.   DRIVER==""
  5.   ATTR{ro}=="0"
  6.   ATTR{size}=="125722368"
  7.   ATTR{stat}==" 2765 1537 5393"
  8.   ATTR{range}=="16"
  9.   ATTR{discard\_alignment}=="0"
  10.   ATTR{removable}=="1"
  11.   ATTR{blah}=="blah"

一個(gè) udev 規(guī)則必須包含來自單個(gè)父級設(shè)備的一個(gè)屬性。

父級屬性是描述一個(gè)設(shè)備的最基本的東西,比如它是插入到一個(gè)物理端口的東西、或是一個(gè)容量多大的東西、或這是一個(gè)可移除的設(shè)備。

由于 KERNEL 卷標(biāo) sdb 可能會(huì)由于分配給在它之前插入的其它驅(qū)動(dòng)器而發(fā)生變化,因此卷標(biāo)并不是一個(gè) udev 規(guī)則的父級屬性的好選擇。但是,在做概念論證時(shí)你可以使用它。一個(gè)事件的***候選者是 SUBSYSTEM 屬性,它表示那個(gè)設(shè)備是一個(gè) “block” 系統(tǒng)設(shè)備(也就是為什么我們要使用 lsblk 命令來列出設(shè)備的原因)。

/etc/udev/rules.d 目錄中打開一個(gè)名為 80-local.rules 的文件,然后輸入如下代碼:

  1. SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/local/bin/trigger.sh"

保存文件,拔下你的測試 U 盤,然后重啟動(dòng)系統(tǒng)。

等等,重啟動(dòng) Linux 機(jī)器?

理論上說,你只需要運(yùn)行 udevadm control —reload 即可,它將重新加載所有規(guī)則,但是在我們實(shí)驗(yàn)的現(xiàn)階段,***要排除可能影響實(shí)驗(yàn)結(jié)果的所有因素。udev 是非常復(fù)雜的,為了不讓你躺在床上整晚都在思考為什么這個(gè)規(guī)則不能正常工作,是因?yàn)檎Z法錯(cuò)誤嗎?還是應(yīng)該重啟動(dòng)一下。所以,不管 POSIX 自負(fù)地告訴你過什么,你都應(yīng)該去重啟動(dòng)一下。

當(dāng)你的系統(tǒng)重啟動(dòng)完畢之后,(使用 Ctl+Alt+F3 或類似快捷鍵)切換到一個(gè)文本控制臺(tái),并插入你的 U 盤。如果你運(yùn)行了一個(gè)***的內(nèi)核,當(dāng)你插入 U 盤后你或許可以看到一大堆輸出。如果看到一個(gè)錯(cuò)誤信息,比如 “Could not execute /usr/local/bin/trigger.sh”,或許是因?yàn)槟阃耸谟柽@個(gè)腳本可運(yùn)行的權(quán)限。否則你將看到的是,一個(gè)設(shè)備插入,它得到內(nèi)核設(shè)備分配的一些東西,等等。

現(xiàn)在,見證奇跡的時(shí)刻到了。

  1. $ cat /tmp/udev.log
  2. Tue Oct 31 01:35:28 NZDT 2035

如果你在 /tmp/udev.log 中看到了***的日期和時(shí)間,那么說明 udev 已經(jīng)成功觸發(fā)了你的腳本。

改進(jìn)規(guī)則做一些有用的事情

現(xiàn)在的問題是使用的規(guī)則太通用了。插入一個(gè)鼠標(biāo)、一個(gè) U 盤、或某個(gè)人的 U 盤都將盲目地觸發(fā)這個(gè)腳本?,F(xiàn)在,我們開始專注于希望觸發(fā)你的腳本的是確定的某個(gè) U 盤。

實(shí)現(xiàn)上述目標(biāo)的一種方式是使用提供商 ID 和產(chǎn)品 ID。你可以使用 lsusb 命令去得到這些數(shù)字。

  1. $ lsusb
  2. Bus 001 Device 002: ID 8087:0024 Slacker Corp. Hub
  3. Bus 002 Device 002: ID 8087:0024 Slacker Corp. Hub
  4. Bus 003 Device 005: ID 03f0:3307 TyCoon Corp.
  5. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 hub
  6. Bus 001 Device 003: ID 13d3:5165 SBo Networks

在這個(gè)例子中,TyCoon Corp 前面的 03f0:3307 就表示了提供商 ID 和產(chǎn)品 ID 的屬性。你也可以通過 udevadm info -a -n /dev/sdb | grep vendor 的輸出來查看這些數(shù)字,但是從 lsusb 的輸出中可以很容易地一眼找到這些數(shù)字。

現(xiàn)在,可以在你的腳本中包含這些屬性了。

  1. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", RUN+="/usr/local/bin/thumb.sh"

測試它(是的,為了確保不會(huì)有來自 udev 的影響因素,我們?nèi)匀唤ㄗh先重新啟動(dòng)一下),它應(yīng)該會(huì)像前面一樣工作,現(xiàn)在,如果你插入一個(gè)不同公司制造的 U 盤(因?yàn)樗鼈兊奶峁┥?ID 不一樣)、或插入一個(gè)鼠標(biāo)、或插入一個(gè)打印機(jī),這個(gè)腳本將不會(huì)被觸發(fā)。

繼續(xù)添加新屬性來進(jìn)一步專注于你希望去觸發(fā)你的腳本的那個(gè)唯一的 U 盤。使用 udevadm info -a -n /dev/sdb 命令,你可以找出像提供商名字、序列號、或產(chǎn)品名這樣的東西。

為了保證思路清晰,確保每次只添加一個(gè)新屬性。我們(和在網(wǎng)上看到的其他人)在 udev 規(guī)則中所遇到的大多數(shù)錯(cuò)誤都是因?yàn)橐淮翁砑恿颂嗟膶傩裕婀譃槭裁床荒苷9ぷ髁?。逐個(gè)測試屬性是最安全的作法,這樣可以確保 udev 能夠成功識別到你的設(shè)備。

安全

編寫 udev 規(guī)則當(dāng)插入一個(gè)驅(qū)動(dòng)器后自動(dòng)去做一些事情,將帶來安全方面的擔(dān)憂。在我的機(jī)器上,我甚至都沒有打開自動(dòng)掛載功能,而基于本文的目的,當(dāng)設(shè)備插入時(shí),腳本和規(guī)則可以運(yùn)行一些命令來做一些事情。

在這里需要記住兩個(gè)事情。

  1. 聚焦于你的 udev 規(guī)則,當(dāng)你真實(shí)地使用它們時(shí),一旦讓規(guī)則發(fā)揮作用將觸發(fā)腳本。執(zhí)行一個(gè)腳本去盲目地復(fù)制數(shù)據(jù)到你的計(jì)算上,或從你的計(jì)算機(jī)上復(fù)制出數(shù)據(jù),是一個(gè)很糟糕的主意,因?yàn)橛锌赡軙?huì)遇到一個(gè)人拿著和你相同品牌的 U 盤插入到你的機(jī)器上的情況。
  2. 不要在寫了 udev 規(guī)則和腳本后忘記了它們的存在。我知道哪個(gè)計(jì)算上有我的 udev 規(guī)則,這些機(jī)器一般是我的個(gè)人計(jì)算機(jī),而不是那些我?guī)еラ_會(huì)或辦公室工作的計(jì)算機(jī)。一臺(tái)計(jì)算機(jī)的 “社交” 程度越高,它就越不能有 udev 規(guī)則存在于它上面,因?yàn)樗鼘撛诘貙?dǎo)致我的數(shù)據(jù)最終可能會(huì)出現(xiàn)在某個(gè)人的設(shè)備、或某個(gè)人的數(shù)據(jù)中、或在我的設(shè)備上出現(xiàn)惡意程序。

換句話說就是,隨著一個(gè) GNU 系統(tǒng)提供了一個(gè)這么強(qiáng)大的功能,你的任務(wù)是小心地如何使用它們的強(qiáng)大功能。如果你濫用它或不小心謹(jǐn)慎地使用它,最終將讓你出問題,它非常可能會(huì)導(dǎo)致可怕的問題。

現(xiàn)實(shí)中的 Udev

現(xiàn)在,你可以確認(rèn)你的腳本是由 udev 觸發(fā)的,那么,可以將你的關(guān)注點(diǎn)轉(zhuǎn)到腳本功能上了。到目前為止,這個(gè)腳本是沒有用的,它除了記錄腳本已經(jīng)運(yùn)行過了這一事實(shí)外,再?zèng)]有做更多的事情。

我使用 udev 去觸發(fā)我的 U 盤的 自動(dòng)備份 。這個(gè)創(chuàng)意是,將我正在處理的文檔的主副本保存在我的 U 盤上(因?yàn)槲译S身帶著它,這樣就可以隨時(shí)處理它),并且在我每次將 U 盤插入到那臺(tái)機(jī)器上時(shí),這些主文檔將備份回我的計(jì)算機(jī)上。換句話說就是,我的計(jì)算機(jī)是備份驅(qū)動(dòng)器,而產(chǎn)生的數(shù)據(jù)是移動(dòng)的。源代碼是可用的,你可以隨意查看 attachup 的代碼,以進(jìn)一步限制你的 udev 的測試示例。

雖然我使用 udev 最多的情況就是這個(gè)例子,但是 udev 能抓取很多的事件,像游戲手柄(當(dāng)連接游戲手柄時(shí),讓系統(tǒng)去加載 xboxdrv 模塊)、攝像頭、麥克風(fēng)(當(dāng)指定的麥克風(fēng)連接時(shí)用于去設(shè)置輸入),所以應(yīng)該意識到,它能做的事情遠(yuǎn)比這個(gè)示例要多。

我的備份系統(tǒng)的一個(gè)簡化版本是由兩個(gè)命令組成的一個(gè)過程:

  1. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", SYMLINK+="safety%n"
  2. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", RUN+="/usr/local/bin/trigger.sh"

***行使用屬性去檢測我的 U 盤,這在前面已經(jīng)討論過了,接著在設(shè)備樹中為我的 U 盤分配一個(gè)符號鏈接,給它分配的符號連接是 safety%n。這個(gè) %n 是一個(gè) udev 宏,它是內(nèi)核分配給這個(gè)設(shè)備的任意數(shù)字,比如 sdb1、sdb2、sdb3、等等。因此 %n 應(yīng)該是 1 或 2 或 3。

這將在 dev 樹中創(chuàng)建一個(gè)符號鏈接,因此它不會(huì)干涉插入一個(gè)設(shè)備的正常過程。這意味著,如果你在自動(dòng)掛載設(shè)備的桌面環(huán)境中使用它,將不會(huì)出現(xiàn)問題。

第二行運(yùn)行這個(gè)腳本。

我的備份腳本如下:

  1. #!/usr/bin/bash
  2.  
  3. mount /dev/safety1 /mnt/hd
  4. sleep 2
  5. rsync -az /mnt/hd/ /home/seth/backups/ && umount /dev/safety1

這個(gè)腳本使用符號鏈接,這將避免出現(xiàn) udev 命名導(dǎo)致的意外情況(例如,假設(shè)一個(gè)命名為 DISK 的 U 盤已經(jīng)插入到我的計(jì)算機(jī)上,而我插入的其它 U 盤恰好名字也是 DISK,那么第二個(gè) U 盤的卷標(biāo)將被命名為 DISK_,這將導(dǎo)致我的腳本不會(huì)正常運(yùn)行),它在我喜歡的掛載點(diǎn) /mnt/hd 上掛載了 safety1(驅(qū)動(dòng)器的***個(gè)分區(qū))。

一旦 safely 掛載之后,它將使用 rsync 將驅(qū)動(dòng)器備份到我的備份文件夾(我真實(shí)使用的腳本用的是 rdiff-backup,而你可以使用任何一個(gè)你喜歡的自動(dòng)備份解決方案)。

udev 讓你的設(shè)備你做主

udev 是一個(gè)非常靈活的系統(tǒng),它可以讓你用其它系統(tǒng)很少敢提供給用戶的方式去定義規(guī)則和功能。學(xué)習(xí)它,使用它,去享受 POSIX 的強(qiáng)大吧。

本文內(nèi)容來自 Slackermedia Handbook,它以 GNU Free Documentation License 1.3 許可證授權(quán)使用。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-07-22 08:03:08

Windows 操作系統(tǒng)Linux

2016-10-17 08:49:15

WindowsLinuxArch Linux

2021-08-10 11:30:30

Linux代碼中斷控制器

2021-08-03 15:10:26

Linux代碼驅(qū)動(dòng)

2021-12-08 08:41:31

Linux 中斷子系統(tǒng)Linux 系統(tǒng)

2016-07-22 10:50:56

Linux內(nèi)核無線子系統(tǒng)

2021-08-31 11:53:38

Linux inputLinux 系統(tǒng)

2009-10-21 17:29:34

Oracle管理系統(tǒng)

2023-04-12 15:31:11

系統(tǒng)服務(wù)管理鴻蒙

2017-07-14 14:35:27

Linux中斷系統(tǒng)

2021-12-15 10:02:25

鴻蒙HarmonyOS應(yīng)用

2021-06-07 08:13:11

LinuxIDLE 子系統(tǒng)

2012-02-29 00:57:41

Linux系統(tǒng)

2009-12-16 15:59:13

Linux設(shè)備文件管理

2021-09-17 14:38:58

鴻蒙HarmonyOS應(yīng)用

2018-04-15 21:26:36

Windows Linux 系統(tǒng)

2021-05-06 07:53:20

LinuxUBI子系統(tǒng)

2009-10-22 12:27:30

linux塊設(shè)備

2015-11-10 16:55:00

性能IO子系統(tǒng)Linux

2022-03-28 19:19:45

Linux時(shí)間子系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

高潮一区二区三区乱码| 国产一级淫片久久久片a级| 华人av在线| 91麻豆精品一区二区三区| 日韩美女中文字幕| 国产精品麻豆一区| 高清精品视频| 日韩欧美国产视频| 天天人人精品| 亚洲欧美高清视频| 日本欧美一区二区三区乱码| 欧美日本黄视频| 无码一区二区三区在线| 中文字幕区一区二区三| 欧洲精品在线观看| 国产资源在线免费观看| www免费网站在线观看| 成人丝袜视频网| 国产欧美精品久久久| 日韩精品一区二区av| 国产精品久久久久久| 日韩精品在线观看一区| 99国产精品免费视频| 日韩成人高清| 亚洲va国产天堂va久久en| 亚洲最大免费| 青青九九免费视频在线| 国产一区二区精品久久| 国产精品露脸av在线| 日本一区二区欧美| 亚洲精品国产首次亮相| 国产一区二区av| 国产在线观看无码免费视频| 亚洲三级av| 欧美精品高清视频| 国产裸体免费无遮挡| 国产传媒av在线| 亚洲一区二区三区三| 中文字幕超清在线免费观看| 国产在线色视频| 91网页版在线| 九色91视频| 少妇高潮久久久| 粉嫩13p一区二区三区| 亚洲自拍小视频| 国产女人高潮时对白| 麻豆成人av在线| 国产精品久久久久久久9999| 亚洲图片在线视频| 亚洲欧美久久| 精品黑人一区二区三区观看时间| 深夜福利在线观看直播| 国产精品一区不卡| 亚洲一区中文字幕| 亚洲无码久久久久| 麻豆免费看一区二区三区| 欧美最猛性xxxxx免费| 亚洲天堂日韩av| 雨宫琴音一区二区在线| 欧美激情综合色| 国产真实乱人偷精品视频| 欧美激情aⅴ一区二区三区| 久久精品在线播放| 国语对白在线播放| 欧美不卡视频| 久久久久久久久久久国产| 国产精品99精品| 亚洲激情欧美| 欧美做爰性生交视频| 五月婷婷激情视频| 男人操女人的视频在线观看欧美| 国产精品免费一区| 91亚洲国产成人久久精品麻豆| 精品一区二区三区久久| 亚洲xxxx视频| 四季av日韩精品一区| 91女人视频在线观看| 老司机精品福利在线观看| 国产一二三在线观看| 国产精品少妇自拍| 成年人三级视频| heyzo高清中文字幕在线| 午夜不卡在线视频| 美女网站免费观看视频| 在线播放成人| 亚洲成色www8888| 亚洲一区视频在线播放| 99久久久久| 97视频在线观看网址| 波多野结衣一区二区三区在线 | av成人老司机| 日韩在线导航| 日韩免费影院| 色香蕉久久蜜桃| 91亚洲一区二区| 欧美巨大xxxx| 日韩中文字在线| 懂色av.com| 另类的小说在线视频另类成人小视频在线 | 小泽玛利亚一区二区免费| 亚洲久久在线| 成人国产精品免费视频| 人妻中文字幕一区| 国产精品久久久一区麻豆最新章节| 国产av熟女一区二区三区 | 色综合久久久久综合体| 老司机午夜性大片| 亚洲区小说区图片区qvod| 久久久国产视频| 国产一级淫片a视频免费观看| 国产一区二区三区久久悠悠色av| 欧美精品成人一区二区在线观看 | 亚洲美女综合网| 国产欧美视频一区二区| 国产乱淫av片杨贵妃| 久久三级毛片| 亚洲国产欧美日韩精品| h色网站在线观看| 久久亚洲视频| 国产精品久久久一区二区三区| 国产区视频在线| 午夜精品免费在线| 91网址在线观看精品| 国产一区二区三区天码| 97香蕉超级碰碰久久免费软件| 一区二区三区午夜| 久久精品男人天堂av| 日韩中字在线观看| 欧美午夜在线播放| 精品国产欧美一区二区三区成人| 欧美a视频在线观看| 99久久久免费精品国产一区二区| ijzzijzzij亚洲大全| 欧美视频精品| 国产亚洲欧美日韩一区二区| 久久久久久久久影院| av影院午夜一区| 青青草综合视频| 国产美女精品视频免费播放软件 | 毛片aaaaaa| 欧美亚洲一区二区三区| 国产三区精品| 男人添女人下部高潮视频在线观看| 欧美日本一区二区三区四区| 蜜桃av乱码一区二区三区| 新67194成人永久网站| 国产伦精品一区二区三| av2020不卡| 精品久久久久av影院| 久久久久香蕉视频| 国产91精品久久久久久久网曝门| 狠狠精品干练久久久无码中文字幕 | 五月天激情综合网| 国产在线精品一区免费香蕉| 91青青在线视频| 欧美日韩在线播放三区四区| 黄色三级生活片| 久久精品国产亚洲高清剧情介绍 | 3p视频在线观看| 欧美午夜在线观看| 在线日韩国产网站| 国内精品视频一区二区三区八戒| 国产高清精品软男同| 国产一区二区三区免费在线| 精品中文字幕在线观看| www.97av.com| 午夜免费久久看| 91精品人妻一区二区| 日韩国产精品大片| 伊人av成人| 综合激情网...| 97视频免费观看| 看电影就来5566av视频在线播放| 在线日韩一区二区| 国产美女久久久久久| 国产精品538一区二区在线| 国产玉足脚交久久欧美| 日韩有码中文字幕在线| 国产精品视频精品| aaa大片在线观看| 亚洲黄色av网站| 久草热在线观看| 亚洲精品伦理在线| 91视频啊啊啊| 久久激五月天综合精品| 国产夫妻自拍一区| 国产精品羞羞答答在线观看| 国产日韩欧美在线看| 黄网av在线| 在线播放日韩精品| www.日本在线观看| 色综合久久中文综合久久97| 久久成人小视频| 99热在这里有精品免费| 国产喷水theporn| 亚洲成人在线| 伊人久久大香线蕉成人综合网| 精品久久ai电影| 国产欧美日韩中文| 国产在线看片免费视频在线观看| 中文字幕精品在线| 神宫寺奈绪一区二区三区| 欧美在线观看18| 九热这里只有精品| 国产精品素人视频| 国产精品入口麻豆| 久久精品国产99国产| 久久久噜噜噜www成人网| 91精品国产91久久综合| 欧美一区1区三区3区公司| 91蝌蚪精品视频| 国产精品永久在线| 中文字幕成在线观看| 欧美乱大交xxxxx| 国产专区在线播放| 亚洲国产成人爱av在线播放| 国产一区二区三区三州| 一道本成人在线| 日本三级片在线观看| 亚洲色图一区二区| 国产三级短视频| wwwwxxxxx欧美| 精品人妻在线视频| 国产精品一区二区在线看| 香蕉视频禁止18| 亚洲专区一区二区三区| 久久这里只有精品8| 香蕉久久网站| 亚洲欧美国产不卡| 精品视频日韩| 日本视频一区二区在线观看| 欧美黑人巨大videos精品| αv一区二区三区| 日本免费精品| 91丝袜脚交足在线播放| 成人污版视频| 国产精品主播视频| 成人福利片在线| 国产精品美女www爽爽爽视频| 国产高清不卡| 日本精品中文字幕| 黑人巨大精品欧美一区二区桃花岛| 国模视频一区二区三区| 欧美草逼视频| 性欧美在线看片a免费观看| 欧美xxxx黑人又粗又长| 欧美激情在线观看| av成人福利| 7777免费精品视频| 中文字幕在线视频久| 日韩免费在线视频| 日韩影片中文字幕| 国产精品白丝jk喷水视频一区| 欧美momandson| 国产精品一区二区三区免费视频| 成人一区视频| 成人看片人aa| 日韩中文字幕一区二区高清99| 亚洲综合大片69999| 在线日韩成人| 麻豆视频成人| 成人系列视频| 日韩中文在线字幕| 亚洲调教视频在线观看| 免费无遮挡无码永久视频| 久久亚洲色图| 五月天开心婷婷| 粉嫩av亚洲一区二区图片| 国产乱了高清露脸对白| 久久久国产一区二区三区四区小说| 久久午夜福利电影| 亚洲欧洲日韩在线| 免费中文字幕视频| 岛国av一区二区| 中文天堂在线播放| 欧美一区国产二区| 日本黄色不卡视频| 亚洲一区二区福利| 成人无遮挡免费网站视频在线观看| 欧美精品videos| 午夜精品成人av| 成人午夜激情网| 青青久久av| 一级日韩一区在线观看| 禁久久精品乱码| 天美星空大象mv在线观看视频| 韩国理伦片一区二区三区在线播放| 黑森林av导航| 欧美国产综合一区二区| www.毛片com| 色中色一区二区| 99在线精品视频免费观看20| 日韩国产激情在线| 免费在线视频欧美| 91av网站在线播放| 在线免费成人| 欧美精品人人做人人爱视频| 亚洲破处大片| av无码精品一区二区三区| 国产成人精品三级| 国产123在线| 亚洲18色成人| 99精品在线视频观看| 亚洲人在线视频| 国产精品69xx| 成人春色激情网| 精品国产乱码久久久久久1区2匹| 妞干网在线播放| 麻豆精品新av中文字幕| 97香蕉碰碰人妻国产欧美| 亚洲三级在线播放| 国产精品久久久久久久久久精爆| 日韩精品专区在线影院观看 | 欧美乱人伦中文字幕在线| 成人黄色免费短视频| 国产精品久久久久免费| 久久久久久美女精品| 色七七在线观看| 91丨九色porny丨蝌蚪| 欧美精品99久久久| 337p亚洲精品色噜噜噜| 国产乱视频在线观看| 午夜欧美大片免费观看| 精品一区二区三区中文字幕在线| 日韩精品成人一区二区在线观看| 国产欧美一区二区色老头 | 麻豆国产一区| 亚洲伊人婷婷| 日韩av一区二| 蜜桃精品一区二区| 黑丝美女久久久| 午夜福利视频一区二区| 欧美精品video| 伊人久久影院| 中文字幕の友人北条麻妃| 精品一区二区三区久久| 免费成人美女女在线观看| 在线看一区二区| 男男激情在线| 日本午夜在线亚洲.国产| 午夜先锋成人动漫在线| 浮妇高潮喷白浆视频| 99视频国产精品| 欧美一区二区三区四| 日韩精品一区二区三区swag| 污污视频在线| 波多野结衣成人在线| 亚洲香蕉网站| 91玉足脚交白嫩脚丫| 精品久久久久久久久久久| 欧美孕妇孕交| 国产精品久久久久久久久免费| 精品美女在线视频| 亚洲欧美日韩一级| 椎名由奈av一区二区三区| 国产女主播福利| 色综合久久久888| 国内精品偷拍| 欧美 日韩 国产一区| 久久久精品综合| 夜夜嗨aⅴ一区二区三区| 久久精品成人欧美大片古装| 韩国三级大全久久网站| 日韩成人手机在线| 91网站在线观看视频| 一区二区三区在线免费观看视频| 日韩视频在线免费| 中文字幕一区日韩精品| 日本免费黄视频| 国产女主播一区| 99国产成人精品| 性视频1819p久久| 精品久久美女| 奇米777在线| 午夜久久久久久久久| 黄色av网站在线| 91中文字幕在线观看| 999亚洲国产精| аⅴ天堂中文在线网| 欧美一级夜夜爽| 色综合桃花网| 亚洲综合欧美日韩| 9i在线看片成人免费| 精品国产青草久久久久96| 成人444kkkk在线观看| 欧美freesex8一10精品| 一级在线免费视频| 亚洲综合在线免费观看| 免费播放片a高清在线观看| 91精品视频一区| 亚洲一区二区三区免费在线观看| 性少妇xx生活| 亚洲精品久久久久久久久| 日本美女久久| 日韩欧美不卡在线| 欧美激情中文字幕| 欧美 日韩 国产 成人 在线| 国产精品久久77777| 亚洲国产导航| 国产精品精品软件男同|