linux中国_ 发布的文章

问题: 前段时间,我的Ubuntu增加了一个第三方的PPA仓库,如何才能移除这个PPA仓库呢?

个人软件包档案(PPA)是Ubuntu独有的解决方案,允许独立开发者和贡献者构建、贡献任何定制的软件包来作为通过启动面板的第三方APT仓库。如果你是Ubuntu用户,有可能你已经增加一些流行的第三方PPA仓库到你的Ubuntu系统。如果你需要删除掉已经预先配置好的PPA仓库,下面将教你怎么做。

假如你想增加一个叫“ppa:webapps/preview”第三方PPA仓库到你的系统中,如下:

$ sudo add-apt-repository ppa:webapps/preview

如果你想要 单独地删除某个PPA仓库,运行下面的命令:

 $ sudo add-apt-repository --remove ppa:someppa/ppa 

注意,上述命令不会同时删除任何已经安装或更新的软件包。

如果你想要 完整的删除一个PPA仓库并包括来自这个PPA安装或更新过的软件包,你需要ppa-purge命令。

首先要安装ppa-purge软件包:

$ sudo apt-get install ppa-purge 

然后使用如下命令删除PPA仓库和与之相关的软件包:

$ sudo ppa-purge ppa:webapps/preview 

特别滴,在发行版更新后,当你分辨和清除已损坏的PPA仓库时这个方法特别有用!


via: http://ask.xmodulo.com/how-to-remove-ppa-repository-from-command-line-on-ubuntu.html

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

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

问题:我想要在我的CentOS桌面上试试Shutter屏幕截图程序,但是,当我试着用yum来安装Shutter时,它总是告诉我“没有shutter包可用”。我怎样才能在CentOS上安装Shutter啊?

Shutter是一个用于Linux桌面的开源(GPLv3)屏幕截图工具。它打包有大量用户友好的功能,这让它成为Linux中功能最强大的屏幕截图程序之一。你可以用Shutter来捕捉一个规则区域、一个窗口、整个桌面屏幕、或者甚至是来自任意专用地址的一个网页的截图。除此之外,你也可以用它内建的图像编辑器来对捕获的截图进行编辑,应用不同的效果,将图像导出为不同的图像格式(svg,pdf,ps),或者上传图片到公共图像主机或者FTP站点。

Shutter 在 CentOS (截止至版本 7)上没有预先构建好的软件包。幸运的是,有一个第三方提供的叫做 Nux Dextop 的 RPM 中提供了 Shutter 软件包。 所以在 CentOS 上启用 Nux Dextop 软件库,然后使用下列命令来安装它:

 $ sudo yum --enablerepo=nux-dextop install shutter 


via: http://ask.xmodulo.com/install-shutter-centos.html

译者:GOLinux 校对:wxy

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

问题:我想要检查一下我用brctl工具创建的Linux网桥的MAC地址学习状态。请问,我要怎样才能查看Linux网桥的MAC学习表(或者转发表)?

Linux网桥是网桥的软件实现,这是Linux内核的内核部分。与硬件网桥相类似,Linux网桥维护了一个2层转发表(也称为MAC学习表,转发数据库,或者仅仅称为FDB),它跟踪记录了MAC地址与端口的对应关系。当一个网桥在端口N收到一个包时(源MAC地址为X),它在FDB中记录为MAC地址X可以从端口N到达。这样的话,以后当网桥需要转发一个包到地址X时,它就可以从FDB查询知道转发到哪里。构建一个FDB常常称之为“MAC学习”或仅仅称为“学习”过程。

你可以使用以下命令来检查Linux网桥当前转发表或MAC学习表。

$ sudo brctl showmacs <bridge-name>

该命令将显示一个学习到的MAC地址与关联端口的列表。各个条目都有一个相关的附于其上的老化计时器,因此转发条目可以在一定时间后刷新,以使MAC学习表更新到最新。


via: http://ask.xmodulo.com/show-mac-learning-table-linux-bridge.html

译者:GOLinux 校对:wxy

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

CUPS 是一个基于标准的、开源打印系统,是由 苹果公司 为 OS X® 和其它的 UNIX® 类的操作系统所开发的。CUPS 使用互联网打印协议 (IPP) 来支持本地和网络打印机。

CUPS 发布于十五年前

CUPS 1.0 发布于 1999/10/1,在十五年后的今天发布了2.0.0,与1.0相比,已经有了很多改变。最初发布的 1.0 支持 IPP/1.0、PostScript 和 CUPS Raster 驱动,支持网络打印机、并口打印机、串口打印机和 SCSI 打印机。它甚至还包括了一份 GNU Ghostscript 的副本,以支持当时的业界标准 PostScript。

十五年后的今天,它支持了 IPP/2.1、 PDF 工作流、Bonjour、 USB 打印机、 持久任务历史、多文件任务、认证、加密、策略、限额、每打印机共享控制,以及 Web 管理界面。甚至连官网 CUPS.org 也大幅度的改版了,您可以从上面的链接查看 Wayback Machine 存储的网站历史归档。

今天我们对打印的关注点和1999年不同了,无线打印和移动计算已经无所不在。我们不再需要到处去找打印机驱动,而是希望打印机可以通过标准的协议和格式以完美的品质输出,这是我们十五年来一直梦想的。现今,我们的打印作品也更加引人注目和独具风格。

感谢每一位让 CUPS 今天这样成功的人,请继续帮助我们做的更好!

Happy Printing!

-- Mike Sweet,CUPS 的创造者

下载

点此下载最新的 2.0.0 正式版驱动: https://www.cups.org/software/2.0.0/cups-2.0.0-source.tar.bz2

FAQ

如果您遇到了问题,可以看看这个: https://www.cups.org/faq.php

提问: 我需要通过使用Perl的自定义信号处理程序来处理一个中断信号。在一般情况下,我怎么在Perl程序中捕获并处理各种信号(如INT,TERM)?

作为POSIX标准的异步通知机制,信号由操作系统发送给进程某个事件来通知它。当产生信号时,操作系统会中断目标程序的执行,并且该信号被发送到该程序的信号处理函数。可以定义和注册自己的信号处理程序或使用默认的信号处理程序。

在Perl中,信号可以被捕获,并由一个全局的%SIG哈希变量指定处理函数。这个%SIG哈希变量的键名是信号值,键值是对应的信号处理程序的引用。因此,如果你想为特定的信号定义自己的信号处理程序,你可以直接在%SIG中设置信号的哈希值。

下面是一个代码段来处理使用自定义信号处理程序中断(INT)和终止(TERM)的信号。

$SIG{INT}  = \&signal_handler;
$SIG{TERM} = \&signal_handler;

sub signal_handler {
    print "This is a custom signal handler\n";
    die "Caught a signal $!";
}

%SIG其他的可用的键值有'IGNORE'和'DEFAULT'。当所指定的键值是'IGNORE'(例如,$SIG{CHLD}='IGNORE')时,相应的信号将被忽略。指定'DEFAULT'的键值(例如,$SIG{HUP}='DEFAULT'),意味着我们将使用一个(系统)默认的信号处理程序。


via: http://ask.xmodulo.com/catch-handle-interrupt-signal-perl.html

译者:geekpi 校对:wxy

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

问题:在CentOS/RHEL 7上修改主机名的正确方法是什么(永久或临时)?

在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan's Computer)。

在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

要查看主机名相关的设置:

$ hostnamectl status 

只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。

 $ hostnamectl status [--static|--transient|--pretty] 

要同时修改所有三个主机名:静态、瞬态和灵活主机名:

$ sudo hostnamectl set-hostname <host-name> 

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。

如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项。

例如,要永久修改主机名,你可以修改静态主机名:

 $ sudo hostnamectl --static set-hostname <host-name> 

注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。


via: http://ask.xmodulo.com/change-hostname-centos-rhel-7.html

译者:GOLinux 校对:Caroline

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