下载软件是Linux">系统管理员最经常要做的事情。这通常非常简单。这节将介绍最常用的几种方法。
用基于web的FTP获取软件
有很多网站都提供软件的链接,你可以通过它们下载软件。获取软件的这种方法通常是相同的:
浏览网站,直到你找到要的软件包的链接。 点击想要的软件包的链接。 将那个文件保存在你的硬盘上。
有的浏览器,比如Firefox,会自动地将文件下载到你的桌面上,那桌面在哪里呢?在Linux里,桌面通常是一个在你的home或~目录下的一个叫Desktop(桌面)的子目录。在这里我们可以看到,在根用户的桌面上已经有一个下载下来的RPM文件。
[root@bigboy tmp]# cd ~/Desktop/ [root@bigboy Desktop]# ls ElectricFence-2.2.2-20.2.i386.rpm [root@bigboy Desktop]# pwd /root/Desktop [root@bigboy Desktop]#
用命令行匿名FTP获取软件
上面介绍的基于web的方法显然是使用匿名文件传输协议(FTP)。匿名FTP使你使用匿名用户名或更短的用户名ftp和符合你e-mail地址的密码,就可以登录FTP服务器并下载文件。任何人都可以通过这种方法获取数据。我们可以用一个用匿名FTP从download.fedora.redhat.com下载SSH软件包的例子来说明:
1)首先我们在命令行中向download.fedora.redhat.com发出FTP命令。
[root@bigboy tmp]# ftp download.fedora.redhat.comTrying 66.187.232.35...Connected to download.fedora.redhat.com (66.187.232.35).220 Fedora FTP server ready. All transfers are logged.Name (download.fedora.redhat.com:root): anonymous331 Please specify the password.Password:230 Login successful. Have fun.Using binary mode to transfer files.ftp> pwd257 "/"ftp> ls227 Entering Passive Mode (66,187,232,35,57,155)150 Here comes the directory listing.drwxr-xr-x 3 ftp ftp 4096 Oct 29 15:59 pub226 Directory send OK.ftp>
2)登录成功后,我们可以用help命令来查看我们可以做的事情。
ftp> helpCommands may be abbreviated. Commands are:(命令可能是缩写形式,有如下命令:)! cr mdir proxy send$ delete mget sendport siteaccount debug mkdir put sizeappend dir mls pwd statusascii disconnect mode quit structbell form modtime quote systembinary get mput recv suniquebye glob newer reget tenexcase hash nmap rstatus traceccc help nlist rhelp typecd idle ntrans rename usercdup image open reset umaskchmod lcd passive restart verboseclear ls private rmdir ?close macdef prompt runiquecprotect mdelete protect safeftp>
列举了一些常用命令:
FTP命令
命令 描述 binary 在二进制模式下拷贝文件 cd 改变FTP服务器上的目录 dir 列出当前远程目录里的文件的名称 exit 退出 get 从FTP服务器获取文件 lcd 改变本地计算机上的目录 ls 同dir mget 同get,
但是你可以使用如“*”的通配符 mput 同put,但是你可以使用如“*”的通配符 passive 使文件传输为被动模式 put 将本地计算机上的文件上传到FTP服务器 pwd 获取本地计算机的目录名
3)通过之前对网站上网页的浏览,我们可以知道Fedora Core 2 RPM包在pub/fedora/linux/core/2/i386/os/Fedora/RPMS/目录下。我们将使用cd命令将我们的目录改变到那里去。然后我们可以使用ls命令来获取那个目录下的文件的列表。
ftp> cd pub/fedora/linux/core/2/i386/os/Fedora/RPMS/
250 Directory successfully changed.ftp> ls open*227 Entering Passive Mode (66,187,232,35,58,3)150 Here comes the directory listing.......-rw-r--r-- ... ... 184281 Oct 28 23:29 openssh-3.6.1p2-34.i386.rpm......226 Directory send OK.ftp>
4)接下来,我们下载我们需要的文件并将其放置于本地的/usr/rpm目录下。hash命令会在下载时,在屏幕上打印井号“#”。
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> lcd /usr/rpm
Local directory now /usr/rpm
ftp> get openssh-3.6.1p2-34.i386.rpm
local: openssh-3.6.1p2-34.i386.rpm remote: openssh-3.6.1p2-34.i386.rpm
227 Entering Passive Mode (66,187,232,35,58,25)
150 Opening BINARY mode data connection for openssh-3.6.1p2-34.i386.rpm (184281 bytes).
###########################################################
226 File send OK.
184281 bytes received in 3.41 secs (53 Kbytes/sec)
ftp>
注意: 你也可以使用mget命令,从而在下载RPM时使用通配符。计算机会提示你每个符合的RPM文件名。在下个例子中,我通过键入n来中断这个下载。
ftp> mget openssh-3.6*mget openssh-3.6.1p2-34.i386.rpm? nftp>
5)最后我们用exit命令退出FTP
ftp> exit221 Goodbye.root@bigboy tmp]#
用wget获取软件
当你已经知道RPM的URL地址时,你可以使用wget很快地下载该文件。如果你在别机器上通过浏览器登录到了Linux系统中,这种方法尤为方便。你可以浏览下载网站来找到你要的RPM,右键点击其链接然后选择复制快捷方式(Windows)或者复制链接位置(Linux)。这一步完成后,你然后可以选择你的SSH/telnet/Linux终端登录窗口然后键入wget URL命令。这里有一个从Fedora下载DHCP更新的例子。
[root@bigboy tmp]# wget http://linux.stanford.edu/pub/mirrors/fedora/linux/core/2/i386/os/Fedora/RPMS/dhcp-3.0pl2-6.16.i386.rpm
--17:38:36-- ftp://linux.stanford.edu/pub/mirrors/fedora/linux/core/2/i386/os/Fedora/RPMS/dhcp-3.0pl2-6.16.i386.rpm
=> `dhcp-3.0pl2-6.16.i386.rpm.5'
Resolving linux.stanford.edu... done.
Connecting to linux.stanford.edu[171.66.2.18]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/mirrors/fedora/linux/core/2/i386/os/Fedora/RPMS ... done.
==> PASV ... done. ==> RETR dhcp-3.0pl2-6.16.i386.rpm ... done.
Length: 529,890 (unauthoritative)
100%[===============================>] 529,890 889.12K/s ETA 00:00
17:38:36 (889.12 KB/s) - `dhcp-3.0pl2-6.16.i386.rpm.5' saved [529890]
[root@bigboy tmp]#