linux中国_ 发布的文章

提问: 当我用wget获取一个重定向到URL Y的URL X的时候,wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。

在HTTP标准中,重定向响应(带3XX的HTTP响应)说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。

像常规的HTTP客户端,wget支持URL重定向(也叫URL转发),意味着当你尝试下载一个重定向的URL时,wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向,并停止3XX的状态码,你可以使用wget的“--max-redirect=number”选项。这个选项用来指定最大(递归)重定向的数字,默认是20。

如果你想要禁用wget中的HTTP重定向,使用“--max-redirect=0”

$ wget --max-redirect=0 http://www.aaa.com/a.html

--2014-10-31 23:08:58--  http://www.aaa.com/a.html
Resolving aaa.com (aaa.com)... 1.2.3.4
Connecting to aaa.com (aaa.com)|1.2.3.4|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.bbb.com/b.html [following]
0 redirections exceeded.

如你所见,当wget遇到HTTP重定向响应时,它不会跟着重定向,并以“0 redirections exceeded”(超出0次重定向)的错误信息停止。它同样会显示一个HTTP的状态码(比如301)。

注意一下curl,另外一个类似的HTTP客户端,行为正好相反。默认上,curl并不会跟随URL重定向。要强制使cutl重定向到一个URL,你要使用“-L”选项。


via: http://ask.xmodulo.com/disable-http-redirect-wget.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

提问: 当我尝试在虚拟机中安装一个新的Linux时,虚拟机不能启动且报了下面这个错误:"unsupported configuration: hda-duplex not supported in this QEMU binary."(“不支持的配置:hda-duplex在此QEMU文件中不支持。”) 我该如何修复?

这个错误可能来自一个当默认声卡型号不能被识别时的一个qemu bug。

无法完成安装:‘不支持的配置:hda-duplex在此QEMU文件中不支持’

要解决这个问题,按照下面的做。

方案一: virt-manager

virt-manager中,打开虚拟机的虚拟硬件详细菜单,进入声卡选项,改变默认的设备型号为ac97。

点击“应用”按钮并保存设置。看一下虚拟机现在是否可以启动了。

方案二: Virsh

如果你使用的是virsh 而不是virt-manager, 你可以编辑VM相应的配置文件。在节点中查找sound节点,并按照下面的默认声卡型号改成ac97

<devices>
  . . .
  <sound model='ac97'>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
  </sound>
  . . .
</device>

via: http://ask.xmodulo.com/hda-duplex-not-supported-in-this-qemu-binary.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

作为开发人员的你们,还记得你学会的第一种编程语言吗?跟大家聊聊你最爱的编程语言,或者分享一下你在敲代码过程中遇到过的趣事儿。小编为大家准备了9本编程语言图书,转发微博参与互动(微博地址见活动详情),11月21-11月29每天从参与活动的用户中抽取一位中奖用户,赠送图书一本(图书按照图片顺序)

活动详情:

活动时间:2014年11月21日-2014年11月29日

活动内容:在新浪微博转发微博参与互动,活动期间每天从参与活动的用户中抽取一位中奖用户,赠送图书一本(图书按照图片顺序)。

微博地址:http://weibo.com/1772191555/Bxh8CkGac

特此注意:

微博用户参与活动,注意查看@LINUX中国 官方微博公布的中奖名单或留意您的微博私信。我们会通过微博私信的方式获取您的邮寄信息。

1、《Go并发编程实战》

试读地址:http://www.ituring.com.cn/book/1525

2、《Python基础教程(第2版•修订版)》

试读地址:http://www.ituring.com.cn/book/1396

3、《Ruby基础教程(第4版)》

试读地址:http://www.ituring.com.cn/book/1237

4、《Groovy程序设计》

试读地址:http://www.ituring.com.cn/book/1294

5、《Swift开发指南(修订版)》

试读地址:http://www.ituring.com.cn/book/1517

6、《嗨翻C语言》

试读地址:http://www.ituring.com.cn/book/1004

7、《精通C#》

试读地址:http://www.ituring.com.cn/book/1046

8、《学习R》

试读地址:http://www.ituring.com.cn/book/1187

9、《C++程序设计:现代方法》

试读地址:http://www.ituring.com.cn/book/1263

更多图灵图书:请点击:http://jmall.jd.com/p151429.html

鉴于大家对Linux中国的赠书活动有各种提问,在这里我们整理了一些大家的问题,作出统一的答复,如果有其它疑问,我们文中没有列出,可以在评论中提问。

Q1:我没有看过这本书,如何写评论?

A:我们的每一期点评赠书活动都会在活动详情链接中附加图书样张链接,可以试读样张后稍作点评,说说你喜爱这本书的理由,这本书会对你有什么帮助等等。

Q2:图书什么时候派送?

A:通常我们会在活动结束后一周内统一寄出,特殊情况(如法定假日或大部分获奖用户未及时回复)除外。

Q3:发什么快递?

A:不指定快递,所以中奖用户回复地址时要尽量的详细明确,我们会根据您的地址选择可以送达的快递。

Q4:微博的转发赠书每天抽取一本,需要每天都转发吗?

A:不需要,我们每天会在全部转发用户中抽取中奖用户,不是只限当天转发用户。同一ID多次转发只统计一次。

Q5:图书寄送邮费谁来承担?

A:邮寄费用由Linux中国承担,邮寄范围仅限中国大陆地区。

注:

一、参与活动须知:

站内评论方式参与的用户,评论前需登录您的Linux中国账号,匿名评论无效。

二、用户信息的收集:

1、微博用户参与活动,活动结束后注意查看@LINUX中国 官方微博公布的中奖名单或留意您的微博私信。

2、本站用户参与活动,注意查看您注册Linux中国时所填写的邮箱。我们会通过电子邮件的方式获取您的邮寄信息。

三、用户信息的确认:

1、微博用户通过微博私信发送个人信息后,以小编回复“收到”为准,确认收到消息。

2、本站用户通过邮件发送个人信息后,以收件人邮件回复“收到”为准,确认收到消息。

提问: 我使用libvirt和virt-manager在我的Linux系统上创建虚拟机。我注意到虚拟机镜像位于/var/lib/libvirt/images目录。有没有办法改变虚拟机镜像的默认路径?

libvirt和它的GUI前端virt-manager可以使用不同的虚拟机管理程序创建和管理VM,例如LVM和Xen。默认上所有的虚拟机镜像通过libvirt创建到/var/lib/libvirt/images目录。然而,这有时并不是我们希望的。比如 /var/lib/libvirt/images 此处的磁盘分区大小有限。或者你想要存储所有的虚拟机镜像到一个特定的用于管理的仓库中。

实际上,你可以非常容易地改变libvirt镜像的默认目录,或者称之为“存储池”。

有两种方法可以改变默认存储池。

方法一: Virt-Manager GUI

如果你正在使用virt-manager GUI程序,改变默认存储池非常容易。

进入virt-manager的菜单GUI “编辑” -> "连接细节"。

你可以看到如下所是的默认存储池。在窗口的左下角,点击叉形按钮,将会停止默认的存储池。存储池一旦停止后,点击右边的垃圾桶,将会删除存储池。注意这个动作不会删除池中的镜像。

现在点击左边的加号增加一个新的存储池。

输入新的存储池的名字(比如:default),并且选择存储池的类型。本例中,因为我们只是改变存储池目录所以选择“文件系统目录”。

输入新的存储池路径(比如,/storage)。

这时,新的存储池应该启动了,并且自动在你创建一个新的虚拟机的时候使用。

方法二: Virsh 命令行

另外一个改变默认存储池目录的方法是使用来自libvirt包的virsh 命令行工具。

首先,运行下面的命令来导出默认存储池的XML定义。

 $ virsh pool-dumpxml default > pool.xml 

用文本编辑器打开XML文件,并且改变节点中的/var/lib/libvirt/images改成新的地址。

<pool type='dir'>
  <name>default</name>
  <uuid>0ec0e393-28a2-e975-feec-0c7356f38d08</uuid>
  <capacity unit='bytes'>975762788352</capacity>
  <allocation unit='bytes'>530052247552</allocation>
  <available unit='bytes'>445710540800</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0711</mode>
      <owner>-1</owner>
      <group>-1</group>
    </permissions>
  </target>
</pool>

移除现在的默认池。

$ virsh pool-destroy default 

Pool default destroyed

现在创建一个基于更新后的XML文件的新存储池。

$ virsh pool-create pool.xml 

Pool default created from pool.xml

这时,默认池已经改变到新的地址了,并且可以使用了。


via: http://ask.xmodulo.com/change-default-location-libvirt-vm-images.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题: 我听说一个牛X的文件系统XFS,打算在我的磁盘上试试XFS。那格式化和挂载XFS文件系统的Linux命令是什么呢?

XFS是高性能文件系统,SGI为他们的IRIX平台而设计。自从2001年移植到Linux内核上,由于它的高性能,XFS成为了许多企业级系统的首选,特别是有大量数据,需要结构化伸缩性和稳定性的。例如,RHEL/CentOS 7 和Oracle Linux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持。

XFS有许多独特的性能提升功能使他从众多文件系统中脱颖而出,像可伸缩/并行 IO,元数据日志,热碎片整理,IO 暂停/恢复,延迟分配等。

如果你想要创建和挂载XFS文件系统到你的Linux平台,下面是相关的操作命令。

安装 XFS系统工具集

首先,你需要安装XFS系统工具集,这样允许你执行许多XFS相关的管理任务。(例如:格式化,扩展,修复,设置配额,改变参数等)

Debian, Ubuntu , Linux Mint系统:

$ sudo apt-get install xfsprogs 

Fedora, CentOS, RHEL系统:

$ sudo yum install xfsprogs 

其他版本Linux:

$ sudo pacman -S xfsprogs 

创建 XFS格式分区

先准备一个分区来创建XFS。假设你的分区在/dev/sdb,如下:

$ sudo fdisk /dev/sdb 

假设此创建的分区叫/dev/sdb1。

接下来,格式化分区为XFS,使用mkfs.xfs命令。如果已有其他文件系统创建在此分区,必须加上"-f"参数来覆盖它。

$ sudo mkfs.xfs -f /dev/sdb1 

至此你已经准备好格式化后分区来挂载。假设/storage是XFS本地挂载点。使用下述命令挂载:

$ sudo mount -t xfs /dev/sdb1 /storage 

验证XFS挂载是否成功:

$ df -Th /storage 

如果你想要启动时自动挂载XFS分区在/storage上,加入下列行到/etc/fstab:

/dev/sdb1  /storage xfs  defaults  0  0

via: http://ask.xmodulo.com/create-mount-xfs-file-system-linux.html

译者:Vic\_\_\_/VicYu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出