日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 學院 > 操作系統 > 正文

Bzip2 Howto

2024-07-26 00:31:26
字體:
來源:轉載
供稿:網友
作者: David Fetter, dfetter@best.com
譯者:謝昆中 HSIEH KUN-CHUNG, (電子郵件 linuxer.bbs@cis.nctu.edu.tw 或 linux4tw@geocities.com 網頁 "Linux for Taiwan 臺灣人的 Linux" http://members.xoom.com/linux4tw/

版本 v1.92,1998年 8月18日 


--------------------------------------------------------------------------------
這份文件在教你如何使用新的 bzip2 壓縮程式。目前的 sgml 版本被放在 EURO 這□,還有 "作者用的" sgml 檔放在 http://www.best.com/~dfetter/Bzip2-HOWTO/Bzip2-HOWTO.sgml。 
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

1. 簡介
Bzip2 是個很棒的壓縮資料用之新型演算法。大致上能夠達到以它的對手 gzip 所產出的檔案之 60-70% 左右的壓縮率。 


這份文件將教你幾個 bzip2 的應用軟體。 


本文件的未來版將會討論即將出現的 bzip2 程式庫,該程式庫原bzip2 的作者 Julian Seward 描述如下: 


現在正致力於 bzip2 的下一個版本,它也將采用相同的 .bz2 檔案格式;
主要增加的功能是一個像 zlib 的程式庫。讓我們可以從程式□頭來讀取和書寫資料到這種格式的檔案□。


本文件的未來版本也會包含是否應該 (以及如何)讓 Linux kernel 使用 bzip2之議題的結論。 


1.1 沿革歷史 
v1.92更新 取得 bzip2 二進位程式碼 章節,加入 S.u.S.E.的。
v1.91
在 使用 bzip2 配合 tar 那章□修正一個□例以及弄清楚一些 shell 句子。感謝 Alessandro Rubini。 


更新 buzzit 工具不會去 stomp 原來的 bzip2 壓縮檔。 


新增 bgrep, 像 zgrep-的工具。 


v1.9
澄清 gcc 2.7.* 的問題。感謝 Ulrik Dickow 的熱心指出。 


加入 Leonard Jean-Marc 很棒的配合 tar 


加上 Linus 攀erlund 的瑞典文版本。 


依照 Arnaud Launay 的建議修正了 wu-ftpd 章節 


把譯文放到它們自己的位章節上。 


v1.8
把 buzzit 和 tar.diff 放到 sgml 文件□它們應該被放置的地方。修正拼字與格式。感謝 Arnaud Launay 的協助我修正這份文件。:-) 


殺掉 xv 計畫,因此大家不感興趣。 


加上 teasers 為本文件的未來版本。 


v1.7 
加入 buzzit 公用程式。修正對 gnu tar 的修補。 


v1.6 
加入 TenThumbs 的 Netscape 致能者。 


以及依據它的建議更改 lesspipe.sh 。它現在可以工作的更好了。 


v1.5 
加入 Arnaud Launay 的法文譯本,以及他的 wu-ftpd 檔。 


v1.4 
加入 Tetsu Isaji 的日文譯本。 


v1.3 
加入 Ulrik Dickow 給 19.30 或更高版本用的 .emacs 檔□


(還有修正給 emacs用的 jka-comPR.el 修補檔。糟了! Bzip2 還沒有(?) "append" 的旗標選項。) 


v1.2 
加入對 emacs 的修補,讓它可以自動地辦識出 .bz2 檔。 


v1.1 
加入對 emacs 


v1.0 
第一回合。 




--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

2. 取得 bzip2
Bzip2 的主網頁在 英國的主網站http://www.muraroa.demon.co.uk/。美國的映射站在 這http://www.digistar.com/bzip2/index.html。你也可以在 Red Hat 的ftp 站□ ftp://ftp.redhat.com/pub/contrib。 


2.1 Bzip2-HOWTO 各種語言版本 
說法語的人可以看看 Arnaud Launay 的法文文件。網頁版本在 這□http://www.freenix.fr/linux/HOWTO/mini/Bzip2.html,你可以用 ftp 來取得ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/mini/Bzip2.gz 你可以用 電子郵件來連絡Arnaud 


說日語的人可以看看 Tetsu Isaji的 日文譯本。你可以用上Isaji的 網站,或是用 電子郵件的方式。 



說瑞典語的朋友可以參閱 Linus 攀erlund 的瑞典文譯本 按這。你可以用 電子郵件 與 Linus 連絡。 


2.2 取得 bzip2 未編譯的二進位檔 
查一下主網站。 


Debian 的Intel 二進位程式碼在 這□ftp://ftp.debian.org/debian/dists/stable/main/binary-i386/utils/bzip2_0.1pl2-5.deb。 


Red Hat的 alpha 二進位程式碼在 這□ftp://ftp.redhat.com/pub/redhat/redhat-5.1/alpha/RedHat/RPMS/bzip2-0.1pl2-1.alpha.rpm。 


Red Hat的 Intel 二進位程式碼在 這□ftp://ftp.redhat.com/pub/redhat/redhat-5.1/i386/RedHat/RPMS/bzip2-0.1pl2-1.i386.rpm。 


Red Hat的 SPARC 二進位程式碼在 這□ftp://ftp.redhat.com/pub/redhat/redhat-5.1/sparc/RedHat/RPMS/bzip2-0.1pl2-1.sparc.rpm。 


Slackware的 Intel 二進位程式碼在 這□ftp://www.cdrom.com/pub/linux/slackware-3.5/slakware/a1/bzip2.tgz。 


S.u.S.E.的 Intel 二進位程式碼在 這□ftp://ftp.suse.com/pub/SuSE-Linux/5.2/suse/ap1/bzip.rpm。 

你也可以從許多相類似的映射站得取得檔案。 


2.3 取得 bzip2 原始程式 
你可以從官方的網站 (看 Getting Bzip2 ,或是 Red Hat 也有 它ftp://ftp.redhat.com/pub/contrib/SRPMS/bzip2-0.1pl2-1.src.rpm)。 


2.4 編譯 bzip2 給你的機器使用 
如果你有 gcc 2.7.*,將下面這行 

CFLAGS = -O3 -fomit-frame-pointer -funroll-loops

改成 

CFLAGS = -O2 -fomit-frame-pointer

也就是,把 -O2 改成 -O3 并把 -funroll-loops刪掉。你也可以加入任何你在編譯 kernel 時的 -m* 旗標 (例如像 -m486)。 

避免使用 -funroll-loops 是最重要的了,因為它會造成許多的 gcc 2.7產生錯誤的程式碼,以及全部的 gcc 2.7 產生速度慢又較胖的程式碼。對其他的編譯器 (lcc, egcs, gcc 2.8.x) 使用內定的 CFLAGS 就沒問題。 

之後,只需 make 它,然後依照 README 來安裝它。 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

3. 使用 bzip2
請參閱很棒的手冊 :) 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

4. 配合 tar來使用 bzip2
下面有三種配合 tar 使用 bzip2 的方法,也就是 

4.1 容易設立: 
這個方法跟本就不必做設定。執行解開bzip2'd 的 tar包裹,在現行目錄底下有個 foo.tar.bz2,執行 

/path/to/bzip2 -cd foo.tar.bz2 | tar xf -

成功了,但可能有常需輸入的小缺點。 


4.2 容易設立,容易使用,不需要 root 的特權: 
感謝 Leonard Jean-Marc 貢獻這個小技巧。也謝謝 Alessandro Rubini 從 csh□分類出 bash 的。 


在你的 .bashrc□,你可以加入像下面這行: 

alias btar='tar --use-compress-program /usr/local/bin/bzip2 '


在你的 .tcshrc 或 .cshrc□,可用下面這行相同的: 

alias btar 'tar --use-compress-program /usr/local/bin/bzip2'


4.3 同樣是容易使用,但需要 root 來存取。 
用下面來方法來修補 gnu tar 1.12: 

cd tar-1.12/src; patch < /path/to/tar.diff

編譯、安裝它,你已準備就緒了。用"which tar" 和 "which bzip2"來確認這兩個 tar 和 bzip2 有在你的 $PATH □。要使用新的 tar,只需 
 tar xyf foo.tar.bz2

來壓縮檔案。 
要制作新的壓縮檔,同樣地: 

 tar cyf foo.tar.bz2 檔名1 檔名2 檔名3...目錄1 目錄2...

下面是修補的地方: 

*** tar.c       Thu Jun 11 00:09:23 1998
--- tar.c.new   Thu Jun 11 00:14:24 1998
***************
*** 196,201 ****
--- 196,203 ----
    {"block-number", no_argument, NULL, 'R'},
    {"block-size", required_argument, NULL, OBSOLETE_BLOCKING_FACTOR},
    {"blocking-factor", required_argument, NULL, 'b'},
+   {"bzip2", required_argument, NULL, 'y'},
+   {"bunzip2", required_argument, NULL, 'y'},
    {"catenate", no_argument, NULL, 'A'},
    {"checkpoint", no_argument, &checkpoint_option, 1},
    {"compare", no_argument, NULL, 'd'},
***************
*** 372,377 ****
--- 374,380 ----
                PATTERN                at list/extract time, a globbing PATTERN/n/
    -o, --old-archive, --portability   write a V7 format archive/n/
        --posix                        write a POSIX conformant archive/n/
+   -y, --bzip2, --bunzip2             filter the archive through bzip2/n/
    -z, --gzip, --ungzip               filter the archive through gzip/n/
    -Z, --compress, --uncompress       filter the archive through compress/n/
        --use-compress-program=PROG    filter through PROG (must accept -d)/n"),
***************
*** 448,454 ****
     Y  per-block gzip compression */

  #define OPTION_STRING /
!   "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxz"

  static void
  set_subcommand_option (enum subcommand subcommand)
--- 451,457 ----
     Y  per-block gzip compression */

  #define OPTION_STRING /
!   "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxyz"

  static void
  set_subcommand_option (enum subcommand subcommand)
***************
*** 805,810 ****
--- 808,817 ----
        case 'X':
        exclude_option = 1;
        add_exclude_file (optarg);
+       break;
+
+       case 'y':
+       set_use_compress_program_option ("bzip2");
        break;

        case 'z':



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

5. 使用 bzip2 來配合 less
馬上解壓縮 bzip2 檔,例如,在不必先 bunzip2 檔案的前提下即可用 "less" 到它們身上,你可以做個 lesspipe.sh (man less),像下面: 

#!/bin/sh
# This is a preprocessor for 'less'.  It is used when this environment
# variable is set:   LESSOPEN="|lesspipe.sh %s"

  case "$1" in
  *.tar) tar tvvf $1 2>/dev/null ;; # View contents of various tar'd files
  *.tgz) tar tzvvf $1 2>/dev/null ;;
# This one work for the unmodified version of tar:
  *.tar.bz2) bzip2 -cd $1 $1 2>/dev/null | tar tzvvf - ;;
#This one works with the patched version of tar:
# *.tar.bz2) tyvvf $1 2>/dev/null ;;
  *.tar.gz) tar tzvvf $1 2>/dev/null ;;
  *.tar.Z) tar tzvvf $1 2>/dev/null ;;
  *.tar.z) tar tzvvf $1 2>/dev/null ;;
  *.bz2) bzip2 -dc $1  2>/dev/null ;; # View compressed files correctly
  *.Z) gzip -dc $1  2>/dev/null ;;
  *.z) gzip -dc $1  2>/dev/null ;;
  *.gz) gzip -dc $1  2>/dev/null ;;
  *.zip) unzip -l $1 2>/dev/null ;;
  *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; # groff src
    FILE=`echo $FILE | cut -d ' ' -f 2`
    if [ "$FILE" = "troff" ]; then
      groff -s -p -t -e -Tascii -mandoc $1
    fi ;;
  *) cat $1 2>/dev/null ;;
#  *) FILE=`file -L $1` ; # Check to see if binary, if so -- view with 'strings'
#    FILE1=`echo $FILE | cut -d ' ' -f 2`
#    FILE2=`echo $FILE | cut -d ' ' -f 3`
#    if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" /
#         -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
#      strings $1
#    fi ;;
  esac



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

6. 使用 bzip2 來結合 emacs
6.1 為每個人改變 emacs: 
我寫了下面的給 jka-compr.el 用的修補,它會加入 bzip2 成為自動壓縮模式。 

除外條款: 我只在 emacs-20.2上試過這個,但是我也找不到有啥麼理由來相信同樣的方法卻不能在其他版本上使用的。 

使用它, 

到 emacs-20.2/lisp 原始程式碼目錄□ (看你在哪兒 untarred 它的) 
把下面的修補做成叫 jka-compr.el.diff 的檔案(全放在這檔案□ )。 
然後執行 
 patch < jka-compr.el.diff

啟動 emacs,再執行 
 M-x byte-compile-file jka-compr.el

離開 emacs。 
把它原來的 jka-compr.elc 放到安全的地方以防有臭蟲時備用。 
用新的 jka-compr.elc來代替它。 
好好玩吧! 
--- jka-compr.el        Sat Jul 26 17:02:39 1997
+++ jka-compr.el.new    Thu Feb  5 17:44:35 1998
@@ -44,7 +44,7 @@
 ;; The variable, jka-compr-compression-info-list can be used to
 ;; customize jka-compr to work with other compression programs.
 ;; The default value of this variable allows jka-compr to work with
-;; Unix compress and gzip.
+;; Unix compress and gzip.  David Fetter added bzip2 support :)
 ;;
 ;; If you are concerned about the stderr output of gzip and other
 ;; compression/decompression programs showing up in your buffers, you
@@ -121,7 +121,9 @@


 ;;; I have this defined so that .Z files are assumed to be in unix
-;;; compress format; and .gz files, in gzip format.
+;;; compress format; and .gz files, in gzip format, and .bz2 files,
+;;; in the snappy new bzip2 format from http://www.muraroa.demon.co.uk.
+;;; Keep up the good work, people!
 (defcustom jka-compr-compression-info-list
   ;;[regexp
   ;; compr-message  compr-prog  compr-args
@@ -131,6 +133,10 @@
      "compressing"    "compress"     ("-c")
      "uncompressing"  "uncompress"   ("-c")
      nil t]
+    ["http://.bz2//'"
+     "bzip2ing"        "bzip2"         ("")
+     "bunzip2ing"      "bzip2"         ("-d")
+     nil t]
     ["http://.tgz//'"
      "zipping"        "gzip"         ("-c" "-q")
      "unzipping"      "gzip"         ("-c" "-q" "-d")


6.2 為某人改變 emacs: 
這次要謝謝 Ulrik Dickow, ukd@kampsax.dk,他是Kampsax Technology的系統程式設計師 : 

為了讓非 sysadmin 的朋友可以自動地使用 bzip2,只需在你的 .emacs 檔案□加上下列東東。 


;; Automatic (un)compression on loading/saving files (gzip(1) and similar)
;; We start it in the off state, so that bzip2(1) support can be added.
;; Code thrown together by Ulrik Dickow for ~/.emacs with Emacs 19.34.
;; Should work with many older and newer Emacsen too.  No warranty though.
;;
(if (fboundp 'auto-compression-mode) ; Emacs 19.30+
    (auto-compression-mode 0)
  (require 'jka-compr)
  (toggle-auto-compression 0))
;; Now add bzip2 support and turn auto compression back on.
(add-to-list 'jka-compr-compression-info-list
             ["http://.bz2//(~//|//.~[0-9]+~//)?//'"
              "zipping"        "bzip2"         ()
              "unzipping"      "bzip2"         ("-d")
              nil t])
(toggle-auto-compression 1 t)



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

7. 用 bzip2 來配合 wu-ftpd
感謝 Arnaud Launay 這則節省頻寬的秘訣。下面的內容應該是放到 /etc/ftpconversions □面來達成以 bzip2 來做即時壓縮及解壓縮。請確認路徑 (像 /bin/compress) 要正確。 


 :.Z:  :  :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
 :   : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
 :.gz: :  :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
 :   : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
 :.bz2: :  :/bin/bzip2 -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:BUNZIP2
 :   : :.bz2:/bin/bzip2 -9 -c %s:T_REG:O_COMPRESS:BZIP2
 :   : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
 :   : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
 :   : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
 :   : :.tar.bz2:/bin/tar -c -y -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+BZIP2



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

8. 使用 bzip2 來配合 grep
下面的公用程式,我管它叫 bgrep,事實上是把伴隨在 Linux 的 zgrep 做個小更改而已。你可以使用它來 grep,而不需先 bunzip2 檔案。 


#!/bin/sh

# bgrep -- a wrapper around a grep program that decompresses files as needed
PATH="/usr/bin:$PATH"; export PATH

prog=`echo $0 | sed 's|.*/||'`
case "$prog" in
        *egrep) grep=${EGREP-egrep}     ;;
        *fgrep) grep=${FGREP-fgrep}     ;;
        *)      grep=${GREP-grep}       ;;
esac
pat=""
while test $# -ne 0; do
  case "$1" in
  -e | -f) opt="$opt $1"; shift; pat="$1"
           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
             grep=egrep
           fi;;
  -*)      opt="$opt $1";;
   *)      if test -z "$pat"; then
             pat="$1"
           else
             break;
           fi;;
  esac
  shift
done

if test -z "$pat"; then
  echo "grep through bzip2 files"
  echo "usage: $prog [grep_options] pattern [files]"
  exit 1
fi

list=0
silent=0
op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
case "$op" in
  *l*) list=1
esac
case "$op" in
  *h*) silent=1
esac

if test $# -eq 0; then
  bzip2 -cd | $grep $opt "$pat"
  exit $?
fi

res=0
for i do
  if test $list -eq 1; then
    bzip2 -cdfq "$i" | $grep $opt "$pat" > /dev/null && echo $i
    r=$?
  elif test $# -eq 1 -o $silent -eq 1; then
    bzip2 -cd "$i" | $grep $opt "$pat"
    r=$?
  else
    bzip2 -cd "$i" | $grep $opt "$pat" | sed "s|^|${i}:|"
    r=$?
  fi
  test "$r" -ne 0 && res="$r"
done
exit $res



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

9. bzip2 配合 X 下的 Netscape 來使用。
tenthumbs@cybernex.net 說: 


我找到一個可以讓 Linux Netscape 來使用 bzip2 做為 Content-Encoding 就如同它使用 gzip 一樣。把下面的東東加到 $HOME/.Xdefaults 或是 $HOME/.Xresources 
我使用 -s 選項,是因為選擇放棄解壓縮的速度來換得 RAM 的占用。你可以把它設成你自己要的。 


Netscape*encodingFilters:      /
        x-compress :  : .Z     : uncompress -c  /n/
        compress   :  : .Z     : uncompress -c  /n/
        x-gzip     :  : .z,.gz : gzip -cdq      /n/
        gzip       :  : .z,.gz : gzip -cdq      /n/
        x-bzip2    :  : .bz2   : bzip2 -ds /n



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

10. 使用 bzip2 來再壓縮其他的壓縮格式
下面的 perl 程式會把以下列的壓縮格式檔 (.tar.gz, .tgz. .tar.Z, 和 .Z for this iteration) 重新打包成最佳的壓縮值。這 perl 原始程式都有全方位的好文件來說明它做什麼以及它如何辦到的。 

#!/usr/bin/perl -w

#######################################################
#                                                     #
# This program takes compressed and gzipped programs  #
# in the current directory and turns them into bzip2  #
# format.  It handles the .tgz extension in a         #
# reasonable way, producing a .tar.bz2 file.          #
#                                                     #
#######################################################
$counter = 0;
$saved_bytes = 0;
$totals_file = '/tmp/machine_bzip2_total';
$machine_bzip2_total = 0;

while(<*[Zz]>) {
    next if /^bzip2-0.1pl2.tar.gz$/;
    push @files, $_;
}
$total = scalar(@files);

foreach (@files) {
    if (/tgz$/) {
        ($new=$_) =~ s/tgz$/tar.bz2/;
    } else {
        ($new=$_) =~ s//.g?z$/.bz2/i;
    }
    $orig_size = (stat $_)[7];
    ++$counter;
    print "Repacking $_ ($counter/$total).../n";
    if ((system "gzip -cd $_ |bzip2 >$new") == 0) {
        $new_size = (stat $new)[7];
        $factor = int(100*$new_size/$orig_size+.5);
        $saved_bytes += $orig_size-$new_size;
        print "$new is about $factor% of the size of $_. :",($factor<100)?')':'(',"/n";
        unlink $_;
    } else {
        print "Arrgghh!  Something happened to $_: $!/n";
    }
}
print "You've ",
      ($saved_bytes>=0)?"saved":"lost",
      " $saved_bytes bytes of storage space :",
       ($saved_bytes>=0)?")":"(", "/n";

unless (-e '/tmp/machine_bzip2_total') {
    system ('echo "0" >/tmp/machine_bzip2_total');
    system ('chmod', '0666', '/tmp/machine_bzip2_total');
}


chomp($machine_bzip2_total = `cat $totals_file`);
open TOTAL, ">$totals_file"
     or die "Can't open system-wide total: $!";
$machine_bzip2_total += $saved_bytes;
print TOTAL $machine_bzip2_total;
close TOTAL;

print "That's a machine-wide total of ",`cat $totals_file`," bytes saved./n";



--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

11. 中譯本
譯者注: 若您發現本文件內容有翻譯不順暢或錯誤的地方,請您來信告訴我,以做更正,謝謝。譯者電子郵件 linuxer.bbs@cis.nctu.edu.tw 或 linux4tw@geocities.com

譯注:這份 HOWTO 文件的中文版可在臺灣 Linux 使用者組織下的中文 Linux 文件計畫 http://www.linux.org.tw/CLDP/
或是"Linux for Taiwan 臺灣人的 Linux " http://members.xoom.com/linux4tw/ 下取得。 


--------------------------------------------------------------------------------
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
精品三级久久| 日韩精品乱码av一区二区| 中文字幕在线播放一区| 精品视频123区在线观看| 欧美一级二级三级区| 欧美日韩成人一区| 欧美日韩一级片在线观看| 亚洲国产无线乱码在线观看| 欧美日韩成人一区二区| 日韩专区视频网站| 中文不卡在线| 精品日韩av一区二区| 中文字幕在线官网| www 日韩| 一区二区三区在线|网站| 国产色在线视频| 久久久99精品久久| 欧美日韩国产中字| 亚洲a级在线播放观看| 日韩在线精品视频| 欧美在线视频第一页| 国产资源中文字幕| 顶级网黄在线播放| 亚洲高清在线免费| 91精品国产自产在线观看永久∴| 香蕉av一区| 精品日韩欧美在线| 欧美三级中文字幕在线观看| 91精品无人成人www| 国产欧美 在线欧美| 国产资源中文字幕| 欧美日韩性视频一区二区三区| 国产成人va亚洲电影| 亚洲国产欧美久久| 日韩字幕在线观看| 日本а中文在线天堂| 久久99精品国产| 日韩一级在线视频| 亚洲免费精品| av免费观看国产| 美女免费视频一区| 韩日中文字幕第一页| 国产亚洲污的网站| 中文字幕精品亚洲| 日韩欧美一级精品久久| 黄色国产在线| 国产一区不卡精品| 在线一区二区不卡| 91精品国产自产91精品| 日韩中文字幕| 亚洲理论中文字幕| 国产欧美日韩精品在线| 天堂在线中文| 黄色一级大片在线免费看国产一| 日韩精品在线第一页| 国产黄色在线观看| 精品色蜜蜜精品视频在线观看| 免费在线视频一区二区| 欧美日韩国产三级| 亚洲福利在线看| 日韩精品视频在线看| 欧美 日韩 中文字幕| 国产嫩草影院久久久久| 亚洲永久字幕| 亚洲欧美日本另类| 中文字幕亚洲二区| 日韩精品视频在线播放| 顶级网黄在线播放| 国产黄色在线播放| 91吃瓜在线观看| 亚洲一区中文| 日韩欧美国产成人一区二区| 日韩视频中文| 国产欧美亚洲一区| 一区视频在线播放| 精品福利二区三区| 在线视频你懂得一区| 亚洲成年人在线播放| 国产欧美日韩视频在线| 国产婷婷色一区二区三区| 亚洲女人天堂色在线7777| 亚洲深夜福利| 激情综合色综合久久| 久久蜜桃一区二区| 国产成人精品日本亚洲专区61 | 亚洲福利在线视频| 亚洲高清免费一级二级三级| 久久精品久久久久| 国产乱码午夜在线视频| 精品午夜av| 欧美中文字幕在线| 欧美日韩在线观看首页| 欧美日韩综合在线| 亚洲热在线观看| 精品一二线国产| 国产不卡的av| 日韩欧美一卡二卡| 一区二区不卡久久精品| 日韩视频在线免费看| 中文在线不卡| 一区二区不卡久久精品| 欧美日韩国产片| 午夜亚洲福利| 亚洲成av人片一区二区密柚| 久久久久久91| 欧美日韩精品欧美日韩精品一| 天堂在线中文| 国产中文在线| 中文字幕精品视频在线| www日韩欧美| 国产成人一区二区精品非洲| 日韩精品手机在线| 国产成人精品亚洲| 亚洲高清视频一区| 欧美久久一二三四区| 91精品高清| 日韩欧美字幕| 国产乱码午夜在线视频| wwwww亚洲| 国产99在线|亚洲| av中文资源在线| 国产黄色片大全| 搞黄在线观看| 天堂在线中文资源| 在线中文免费视频| 成人久久久久| 激情久久99| 中文字幕国产亚洲| 亚洲免费视频一区| 日本亚洲欧美| 亚洲男人在线| 欧美日韩精品在线 | 日本精品福利视频| 日本精品国语自产拍在线观看| 亚洲高清免费一级二级三级| 一本一道久久a久久精品综合蜜臀| 亚洲免费福利视频| 日韩在线视频免费观看高清中文| 欧美日韩乱国产| 最近中文字幕第一页| 日韩精品免费观看视频| 欧美日韩亚洲系列| 一区二区不卡在线| 91久久久精品国产| 日韩中文字幕视频在线| 一级片在线免费看| 久久精品欧美日韩精品| 午夜少妇久久久久久久久| 国产91久久久久蜜臀青青天草二 | 日本亚洲视频在线| 亚洲欧洲三级| 中文字幕在线视频久| 中文字幕日韩欧美在线| 国产香蕉精品视频| 一区二区三区四区五区视频在线观看| 日韩在线中文视频| 亚洲一级影院| 国产乱码在线观看| 欧美日韩中国免费专区在线看| 亚洲综合欧美在线| 91精品久久久久久久91蜜桃| 日本亚洲欧美| 国产成人精品日本亚洲专区61| av中文天堂在线| 日韩精品福利视频| 日韩久久久精品| 国产小视频在线观看| 不卡一区二区三区视频| 亚洲福利在线视频| 欧美久久久网站| 一区二区三区视频网站| 中文字幕日韩欧美在线视频| 日本精品在线| 午夜国产欧美理论在线播放| 欧美成人二区| 国产高清在线观看| 国产最顶级的黄色片在线免费观看| 欧美日韩高清在线| 亚洲欧美999| 91精品综合久久| 亚洲欧洲在线观看av| 日韩欧美三级在线| 国产欧美中文在线| 日韩精品一页| 国产高清精品在线| 日韩欧美亚洲区| 日韩精品视频免费播放| 91精品观看| 久久夜色精品国产欧美乱极品| 一区二区欧美国产| 日韩精品综合在线| 欧美国产综合在线V| 国产婷婷在线观看| 国产一级免费| 中文字幕精品在线| 久久久水蜜桃| 中文字幕在线视频久| 中文字幕在线日韩| 日韩在线视频在线观看| 蜜桃视频中文字幕| 红桃视频亚洲| 91精品久久久久久久久久入口| 国产在线高清精品| 国产高清在线视频| 久久99精品久久久久婷婷| 欧美日韩国产综合视频在线观看| 欧美日韩亚洲91| 国产福利免费观看| 欧美久久一二三四区| 免费精品国产自产拍在| 亚洲成av人片| 91久久在线| 日韩在线观看视频一区| 亚洲影视资源网| 在线一区免费| 国产在线精品日韩| 欧美日韩精品综合在线| 中文精品电影| av免费看在线| 久久精品人妻一区二区三区| 色综合久久六月婷婷中文字幕| 欧美日韩国产91| 在线精品视频免费播放| 激情五月综合| 亚洲最新永久观看在线| 久久婷婷综合国产| 欧美日韩不卡在线视频| 亚洲欧美韩国综合色| 亚洲永久字幕| 首页国产欧美久久| 国产资源在线观看入口av| 午夜国产视频 | 一级片免费网站| 欧美日韩亚州综合| 免费视频一区三区| 视频一区视频二区中文| 日韩激情一区| 国产永久免费高清在线观看| 天天综合天天添夜夜添狠狠添| 久99久视频| 久久精品久久久久| 国产视频97| 视频一区二区精品的福利| 成人xxxx| 日韩视频1区| 色综合天天综合网天天狠天天| 深夜福利亚洲| 欧美日韩中文字幕| 日韩一级在线视频| 国产xxx在线| 欧美三级网址| 欧美激情视频一区二区三区在线播放| 不卡福利视频| 欧美性生交大片免费| 欧美 日韩 国产在线| 日韩欧美不卡视频| 免费精品国产自产拍观看| 在线中文字幕视频| 亚洲第一视频网站| 欧美一级在线观看| 精品国产免费观看一区| 欧美激情一区二区三区在线| 91精品视频免费在线观看| 久草视频观看| 日韩欧美综合在线视频| 韩国v欧美v日本v亚洲| 在线观看国产福利视频| 亚洲免费中文字幕| 精品成人久久久| 国产日韩专区| 国产不卡的av| 九一久久久久久| 樱花草www在线| 亚洲黄色片在线观看| 国产黄在线看| 亚洲成在线观看| 伊人精品视频| 中文字幕在线观看欧美| 国产日韩av一区| 91精品电影| wwwav91com| 日韩在线视频二区| 亚洲电影中文字幕在线观看| 欧美亚洲天堂| 欧美日韩国产91| 亚洲成人7777| 久久精品在线免费观看| 一区二区不卡视频在线观看| 亚洲成在线观看| 日韩精品首页| 欧美日韩亚洲国内综合网俺| 免费在线视频一区二区| 91精品国产91久久久久青草| 亚洲.国产.中文慕字在线| 精品网站999| 精品久久人人做人人爽| 久久激情中文| 欧美日韩在线三级| 日韩三级高清在线| 日本va欧美va精品发布| 在线视频观看日韩| 99综合视频| 另类专区欧美| 日韩三级精品| 韩国av一区二区| 欧美日韩成人一区二区| 欧美一级一级性生活免费录像| 日韩精品丝袜在线| 亚洲国产欧美日韩精品| 中文字幕最新精品| 日韩欧美不卡在线| 中文字幕精品视频在线| 国产黄色小视频| 欧美变态tickling挠脚心| 亚洲一区在线视频观看| 91精品国产综合久久香蕉的特点| 一区二区视频在线| 91久久久久久久久| 久久视频www| 91久久久久| 欧美日韩中文字幕综合视频| 日韩欧美99| 日韩在线二区| 日韩中文字幕视频在线观看| 中文字幕国产欧美| 精品国产91乱高清在线观看| 国产网站av| 国产日韩成人精品| 中文字幕成人乱码在线电影| 日韩欧美久久久| 精品免费久久久| 国产一区在线不卡| 国产天堂素人系列在线视频| 国产福利一区在线观看| 国产最新在线| 91精品国产亚洲| 日韩三级高清在线| 国产午夜在线观看| 日韩一二三四区| 精品国产1区2区3区| 国产91大片| 久久精品人妻一区二区三区| 国产久卡久卡久卡久卡视频精品| 又黄又www的网站| 在线观看91精品国产入口| 一区二区精品| 国产一级片在线| 内射国产内射夫妻免费频道| 精品亚洲国内自在自线福利| 一级片在线播放| 日本熟女一区二区| 国产一区深夜福利| 国产福利第一页| 欧美日韩在线不卡视频| 不卡视频一区二区| 国产亚洲人成a一在线v站| 日韩精品视频在线看| 日韩视频在线观看一区| 国产欧美日韩91| 国产在成人精品线拍偷自揄拍| 久久综合久久综合九色| 欧美日韩在线不卡| 日韩高清不卡一区二区| 亚洲一级二级| 亚洲第一视频网站| 亚洲欧洲综合另类| 日韩亚洲不卡在线| 最新中文在线视频| 日韩不卡一区二区| 欧美日韩午夜在线视频| 国产久卡久卡久卡久卡视频精品| 91精品国产自产观看在线| 中文字幕欧美在线| 精品视频资源站| 中文字幕线观看| 久久激情中文| 欧美日韩国产三级| 欧美在线视频第一页| 1区2区3区在线视频| 日韩欧美国产高清| 国产不卡视频在线| a√免费观看在线网址www| 久久视频一区| 亚洲专区一二三| 国产一区精品| 韩国av一区二区| 免费视频二区| 中文字幕精品视频| 77777_亚洲午夜久久多人| 九一久久久久久| 国产羞羞视频在线播放| 中文字幕欧美日韩精品| 91久久精品视频| 亚洲国产专区| 欧美日韩精品免费在线观看视频| 久久香蕉一区| 欧美日韩国产中文| 日本亚洲视频在线| 免费在线视频一级不卡| 黄色一区二区在线|