LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: ybyygu

发布几个跟ubuntu相关的小程序 - getfastsource, apt-axel

[复制链接]
发表于 2006-3-25 20:22:59 | 显示全部楼层
请问可以用在6.04中吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-25 20:43:32 | 显示全部楼层
Post by Jeff-cao
请问可以用在6.04中吗?

可以。getfastsources默认使用的就是dapper。apt-axel不受版本影响。
回复 支持 反对

使用道具 举报

发表于 2006-3-30 19:57:41 | 显示全部楼层
谢谢 我想那个多线程我肯定能用上
回复 支持 反对

使用道具 举报

发表于 2006-4-3 00:32:27 | 显示全部楼层
请问一下,这个应该怎样使用? 用什么命令?我是新手,多谢!!
包里3个文件放到那里?
需要装curl 和axal 是不是?
bash脚本 怎样运行?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-3 01:53:25 | 显示全部楼层
Post by joe45
请问大侠,你发表的这两个bash脚本怎样使用?
需要装那些相关的软件?
我也是在局域网,网速非常地幔,我是新手,刚使用ubuntu,多谢指教。

包里3个文件放到那里?
需要装curl 和axal 是不是?
bash脚本 怎样运行?

先说安装的问题:
包里有三个文件,apt-axel, getfastsources, dot-ubuntu_mirrors.list。
getfastsources用来帮你设置最快的软件源。你可以直接将这个文件放到你的主目录下bin目录里。记住将这个文件加上可执行权限。
如果~/bin目录在PATH变量里的话,你就可以命令行里直接执行getfastsources了。getfastsources内部使用sudo来执行需要root权限的操作,所以不用要sudo 来运行getfastsources。apt-axel的设置类似。
这个程序会用到文件".ubuntu_mirrors.list",将包里的dot-ubuntu_mirrors.list改名后放到主目录下即可。程序运行后会生成一个位于主目录下的隐藏文件".ubuntu_mirrors",这个文件就是按速度排序好的ubuntu mirrors列表。第二个程序apt-axel也会用到这个列表。
getfastsources接受两类参数,一种是这样子的:
getfastsources breezy,这样将设置软件源为breezy。如果不加任何参数直接运行的话,将设置软件源为dapper。
另一种是这样子的:getfastsources 2。这样将设置.ubuntu_mirrors里的第二个mirror加到软件源里。前提是你已经运行过getfastsources了。
getfastsources使用curl下验证mirrors速度,在使用它之前你得安装curl。"sudo aptitude install curl"

第二个程序用来多线下载并安装软件包。使用时要安装axel工具。"sudo aptitude install axel"
在运行apt-axel之前,先使用getfastsources来生成.ubuntu_mirrors列表。然后就可以执行如下命令了。
  1. apt-axel install something
  2. apt-axel dist-upgrade
  3. apt-axel upgrade
复制代码

很多FTP源,尤其是国内的,往往后限制同时连接数。apt-axel可以从.ubuntu_mirrors里选取几个不同的源来下载,这有点像flashget的镜像下载功能。apt-axel使用的镜像个数以及线程(其实是进程)数可以在apt-axel文件里设置,前者默认为3,后者为20。

ubuntu的很多源在国外,如果在教育网内使用的话,可供选择的软件源只怕很少。如果使用出国代理的话,情况就会好很多。getfastsources和apt-axel都支持代理,只要在使用之前导出相关的proxy变量就可以使用了。可以这么做:
export http_proxy="http://202.201.5.XX:8080"
export https_proxy="https://202.201.5.XX:8080"
export ftp_proxy="ftp://202.201.5.XX:8080"
export FTP_PROXY="ftp://202.201.5.XX:8080"
export HTTP_PROXY="http://202.201.5.XX:8080"

我还写过几个搜索、验证代理的几个小程序。这次一起附上吧。
一共有三个,getproxy.sh, checkproxy.sh, setproxy。使用时将这几个小东西扔到~/bin目录下。程序里仍然用到了curl。
第一个是getproxy.sh。顾名思义,这个用来从网上下载代理的,运行结束后会生成一个名为.proxylist的隐藏文件。
第二个是checkproxy.sh。这个用来验证代理。运行结束后会生成名为按速度排序的.proxies的隐藏文件。getproxy.sh运行后会自动调用“checkproxy.sh ~/.proxylist”来验证.proxylist中的代理。
setproxy用来在shell里方便的设置代理变量,以供各种命令行程序使用。这个命令必须被source执行,也就是这样来"source setproxy"。最好是将此设置为alias,编辑.bashrc,添加如下alias
  1. alias setproxy='source setproxy'
  2. alias showproxy='export|grep -i proxy'
复制代码

这样使用时就很方便了。setproxy 5,即将选取.proxies里的第五个代理。还可以用-f参数来临时指定代理文件,比如这样:
setproxy -f proxyfile 5
将getproxy.sh和checkproxy.sh加到crontab。下面是我的crontab,供参考:

  1. 15,35,55 * * * * $HOME/bin/checkproxy.sh ~/.proxies
  2. 8  9,13,16,19,23 * * * $HOME/bin/getproxy.sh
复制代码

我曾经改写过一个xyzproxy.xpi,用来在firefox里周期性的读取.proxies文件,方便firefox里的代理使用。需要的话可以email 我。

生成的.proxies也可被flashget导入。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-4-3 10:39:57 | 显示全部楼层
好东西,说明也非常详细
谢谢..
回复 支持 反对

使用道具 举报

发表于 2006-4-3 23:40:48 | 显示全部楼层
多谢ybyygu,学到很多东西!
我把我理解的方式写一遍,ybyygu朋友看看有没有错误的地方:
首先 mv getfastsources /bin/
mv .ubuntu_mirrors.list /root/
sudo aptitude install curl
sudo aptitude install axel
运行: /bin/getfastsources

root@zq:/home/joe45# /bin/getfastsources
Setting dapper for you ...
We have found the top one mirror for you:
http://archive.ubuntu.cz/ubuntu
The speed is:
35015.000
Do you want to include source packages? [y/n]y
Do you want to continue? [y/n]y
Backup your sources.list.
Your sources has been updated, and maybe you want to run "sudo aptitude update" now.

然后 :sudo aptitude update
这个就是getfastsources的使用对不对?
回复 支持 反对

使用道具 举报

发表于 2006-4-4 00:07:14 | 显示全部楼层
root@zq:/home/joe45# apt-axel install something
E: 无法找到软件包 something


apt-axel 命令不能够被执行是怎么回事?
已经执行了 sudo aptitude install axel. 并且 getfastsources找到最快的source,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-4 00:16:54 | 显示全部楼层
Post by joe45
root@zq:/home/joe45# apt-axel install something
E: 无法找到软件包 something


apt-axel 命令不能够被执行是怎么回事?
已经执行了 sudo aptitude install axel. 并且 getfastsources找到最快的source,

把something替换成你要安装的东西。
回复 支持 反对

使用道具 举报

发表于 2006-4-4 00:18:30 | 显示全部楼层
root@zq:/home/joe45# export http_proxy=http://172.18.64.222:80
root@zq:/home/joe45# apt-axel upgrade
The following packages will be installed:
debianutils bash bsdutils diff dpkg findutils grep gzip hostname login mount ncurses-bin perl-modules perl-suid libperl5.8 libdb4.3 perl perl-base sed sysv-rc sysvinit tar lsb-base util-linux base-passwd libncurses5 ncurses-base python-minimal libtext-iconv-perl libtext-charwidth-perl libtext-wrapi18n-perl debconf-i18n debconf console-data console-tools libconsole console-common mawk dash m4 flex zlib1g-dev zlib1g libxml2 foomatic-db ucf foomatic-filters foomatic-db-engine language-pack-en language-pack-gnome-en language-pack-gnome-zh language-pack-zh libglib1.2-dev libglib1.2 pkg-config libgtk1.2-dev libgtk1.2-common libgtk1.2 libncursesw5 libpam-runtime libpam0g passwd screen vnc-common initscripts libattr1 libacl1 libslang2 adduser lsof module-init-tools linux-sound-base alsa-base libasound2 pciutils python alsa-utils libbz2-1.0 bzip2 cpio dhcp3-client dhcp3-common libdevmapper1.01 eject ethtool gettext-base grepmap libiw28 wireless-tools ifrename net-tools ifupdown iproute iputils-ping klibc-utils libklibc sysklogd klogd less libfribidi0 libgpg-error0 libgcrypt11 liblzo1 libopencdk8 libtasn1-2 libgnutls11 libgpmg1 libreiserfs0.3-0 libusb-0.1-4 libwrap0 lsb-release makedev mdadm lvm-common memtest86+ tcpd netbase netcat ntpdate reiser4progs sudo usbutils xfsprogs procps at bsdmainutils dmidecode dmsetup libevms-2.5 evms evms-ncurses fdutils file libmagic1 ftp hdparm hwdata info iptables iputils-arping iputils-tracepath libedit2 libelfg0 libkrb53 libpcap0.8 libssl0.9.7 lshw-common manpages mime-support nano popularity-contest ppp pppconfig psmisc reportbug rsync telnet acpid anjuta-common appres autoconf autotools-dev bc beforelight bicyclerepair binutils binutils-static bison bitmap bittorrent libbluetooth1 bluez-cups libgsl0 bogofilter-common bogofilter-bdb bogofilter cdrecord gcc-3.4 cpp-3.4 gcc-3.4-base cvs dc debconf-utils make dpkg-dev html2text gettext intltool-debian po-debconf debhelper libglib2.0-data libglib2.0-0 desktop-file-utils dh-make dictionaries-common libdiscover1 discover1-data discover1 doc-debian editres emacsen-common emacs21 emacs21-bin-common emacs21-common libjpeg62-dev libjpeg62 libpng12-dev libpng12-0 libtiff4 libungif4g xaw3dg libaudiofile0 libgstreamer0.8-0 gstreamer0.8-esd esound-common esound libesd-alsa0 fakeroot finger foomatic-db-hpijs librecode0 fortunes-min fortune-mod fping freeglut3 fstobdf gamin libgamin0 gcc-3.3-base gimp gimp-data libaa1 libatk1.0-0 libfreetype6-dev libfreetype6 libfontconfig1-dev libfontconfig1 libcairo2 libgtk2.0-common libpango1.0-common libpango1.0-0 libgtk2.0-bin libgtk2.0-0 libgimp2.0 libwmf0.2-7 gimp-python python-gnome2 gnome-btdownload libtool intltool gnome-common gnome-desktop-data hicolor-icon-theme gnome-icon-theme libgnome-keyring0 gnome-keyring libglade2-0 launchpad-integration liblaunchpad-integration0 libidn11 whois gnome-nettool gtk2-engines-pixbuf gtk2-engines-thinice gtk2-engines-crux gtk2-engines-redmond95 gtk2-engines-lighthouseblue gtk2-engines-smooth gtk2-engines-mist gtk2-engines-clearlooks gnome-themes libxslt1.1 libscrollkeeper0 scrollkeeper gnome2-user-guide grub gs-common libgstreamer-plugins0.8-0 gstreamer0.8-alsa gstreamer0.8-audiofile gstreamer0.8-cdparanoia libavc1394-0 libdv4 gstreamer0.8-dv libdvdread3 gstreamer0.8-dvd gstreamer0.8-ffmpeg libflac7 gstreamer0.8-flac gstreamer0.8-gsm hermes1 gstreamer0.8-hermes gstreamer0.8-jpeg gstreamer0.8-lame libmpcdec3 gstreamer0.8-musepack gstreamer0.8-oss gstreamer0.8-tools gstreamer0.8-plugin-apps libsdl1.2debian libsdl1.2debian-oss gstreamer0.8-sdl libspeex1 gstreamer0.8-speex libogg0 gstreamer0.8-theora gstreamer0.8-x gtk2-engines-industrial hotkey-setup xauth xhost xinit xkbutils xpmutils xprop xrandr xsetmode xsetpointer xvinfo xset xmodmap xdriinfo iceauth ico listres oclock smproxy viewres x11perf xbiff xcalc xclipboard xclock xconsole xcursorgen xditview xev xeyes xf86dga xfd xfontsel xgamma xgc xkill xload xlogo xlsatoms xlsclients xlsfonts xmag xman xmessage xmore xrgb xrefresh xsetroot xsm xstdcmap xtrap xvidtune xwd xwininfo xwud sessreg xfonts-utils xutils xbase-clients hwdb-client installation-report iso-codes kde-core kdebase-data kdelibs-data laptop-detect libadns1 libao2 libartsc0 libaudio2 liborbit2 libbonobo2-0 libbonobo2-common libcroco3 libdaemon0 libdb1-compat libdb3 libdb4.2 libeel2-data libfaad2-0 libgnomecanvas2-0 libgnomecanvas2-common libgail17 libgail-common libgd2-noxpm libgeoip1 libgii0 libgii0-target-x libggi2 libglib-perl libgnome-pilot2 libgtk2-perl libgnome2-canvas-perl libgnome2-vfs-perl libgnomecups1.0-1 libgnomeprintui2.2-common libgnomeprintui2.2-0 libgnucrypto-java libgnujaxp-jni libgnujaxp-java libgphoto2-port0 libgphoto2-2 libgtkhtml2-0 libgtksourceview-common libgtksourceview1.0-0 libgtkspell0 libguile-ltdl-1 libservlet2.3-java libhsqldb-java libhtml-tagset-perl libhtml-parser-perl libhtml-tree-perl libijs-0.35 libjessie-java libkpathsea3 liblockfile1 libltdl3 libmdbtools libmyspell3c2 libmysqlclient14 mysql-common libnspr4 libnss-mdns libnss3 liboggflac3 liboil0.3 libpcre3 libpisock8 libpisync0 libportaudio0 libqthreads-12 libsamplerate0 libsane libsensors3 libvorbis0a libshout3 libslp1 libsndfile1 libsnmp-base libsqlite3-0 libstartup-notification0 libstdc++5 libunicode-string-perl libvorbisenc2 libvorbisfile3 libvte4 libvte-common libwnck-common libwnck18 libxerces2-java libxalan2-java libxklavier10 libxosd2 libxt-java libxvidcore4 linux-386 linux-kernel-headers linux-restricted-modules-common makedepend manpages-dev menu-xdg mkisofs module-assistant nautilus-data nvidia-kernel-common odbcinst1debian1 poster powermanagement-interface powermgmt-base powernowd psutils python2.4-adns python-adns python-apt python-cddb python2.4-clientcookie python-clientcookie python-crypto python2.4-egenix-mxtools python2.4-egenix-mxproxy python-egenix-mxproxy python2.4-egenix-mxstack python-egenix-mxstack python2.4-egenix-mxtexttools python-egenix-mxtexttools python-egenix-mxtools python2.4-epydoc python-epydoc python2.4-eunuchs python-eunuchs python-examples python2.4-gadfly python-gadfly python-gdbm python2.4-geoip python-geoip python-gmenu python-gnome2-extras python-gst python2.4-htmlgen python-htmlgen python2.4-htmltmpl python-htmltmpl python-id3lib python2.4-imaging-sane python2.4-imaging python-imaging-sane python-imaging python2.4-jabber python-jabber python2.4-kjbuckets python-kjbuckets python-launchpad-integration python-ldap python2.4-numeric python-numeric python2.4-osd python-osd python2.4-pam python-pam python2.4-pexpect python-pexpect python2.4-egenix-mxdatetime python2.4-pgsql python-pgsql python2.4-pylibacl python-pylibacl python-pyopenssl python2.4-pyorbit python-pyorbit python2.4-pyxattr python-pyxattr python2.4-xml python2.4-reportlab python-xml python-reportlab python2.4-simpletal python-simpletal python2.4-sqlite python-sqlite python2.4-syck python-syck python-tk python2.4-unit python-unit python-xdg python2.4-cairo python2.4-libxml2 python2.4-libxslt1 readahead sane-utils shared-mime-info sox ssh-askpass-gnome system-tools-backends tcl8.4 tk8.4 toshset ttf-arabeyes ttf-arphic-bkai00mp ttf-bengali-fonts ttf-devanagari-fonts ttf-freefont ttf-gujarati-fonts ttf-kannada-fonts ttf-malayalam-fonts ttf-oriya-fonts ttf-punjabi-fonts ttf-tamil-fonts ttf-telugu-fonts ttf-indic-fonts ttf-mgopen ttf-opensymbol ubuntu-docs unifont unzip vbetool wx2.6-examples x-dev x-ttcidfont-conf x-window-system-core xresprobe xsane xsane-common xscreensaver-data xscreensaver xscreensaver-gl xserver-xorg-driver-neomagic xserver-xorg-driver-siliconmotion xserver-xorg-input-citron xserver-xorg-input-kbd xserver-xorg-input-mouse xsltproc zenity zeroconf base-config fastjar foomatic-filters-ppds libaudio-dev liblircclient0 libmotif3 libsmbclient pcmcia-cs python2.4-gd python-gd python-pisock slocate
Do you want to continue? [y/n] y
[ getting debianutils 1 of 615 ]
Package already downloaded. Checking md5sum of debianutils package: correct
[ getting bash 2 of 615 ]
Initializing download: http://archive.ubuntu.cz/ubuntu/ ... 1-2ubuntu8_i386.deb

就停在这里,不动了,是怎么回事呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表