2014年11月

Zypper是SUSE Linux中用于安装,升级,卸载,管理仓库、进行各种包查询的命令行接口。本篇将会讨论zypper的几个不同命令的例子。

语法:

# zypper [--global-opts] <command> [--command-opts] [command-arguments]

中括号中的部分可以不需要。执行zypper最简单的方法是输入 zypper 及 。

例子1:列出可用的全局选项和命令

打开终端,输入zypper并按回车,它会显示所有可用的全局选项和命令。

linux-xa3t:~ # zypper

例子2:获得zypper的某个命令的帮助

语法: zypper help [command]

linux-xa3t:~ # zypper help remove
remove (rm) [options] <capability> ...

Remove packages with specified capabilities.
A capability is NAME[.ARCH][OP<VERSION>], where OP is one of <, <=, =, >=, >.

Command options:
-r, --repo <alias|#|URI> Load only the specified repository.
-t, --type <type> Type of package (package, patch, pattern, product).

 Default: package.
-n, --name Select packages by plain name, not by capability.
-C, --capability Select packages by capability.
--debug-solver Create solver test case for debugging.
-R, --no-force-resolution Do not force the solver to find solution,let it ask.
--force-resolution Force the solver to find a solution (even an aggressive one).
-u, --clean-deps Automatically remove unneeded dependencies.
-U, --no-clean-deps No automatic removal of unneeded dependencies.
-D, --dry-run Test the removal, do not actually remove.

例子3:打开zypper shell/会话

linux-xa3t:~ # zypper sh
zypper>

linux-xa3t:~ # zypper shell
zypper>

例子4:列出已定义的仓库

linux-xa3t:~ # zypper repos

linux-xa3t:~ # zypper lr

4.1) 以表格的形式列出仓库的URI

4.2) 以优先级列出仓库

linux-xa3t:~ # zypper lr -p

例子5:刷新仓库

linux-xa3t:~ # zypper ref
Repository 'openSUSE-13.1-Non-Oss' is up to date.
Repository 'openSUSE-13.1-Oss' is up to date.
Repository 'openSUSE-13.1-Update' is up to date.
Repository 'openSUSE-13.1-Update-Non-Oss' is up to date.
All repositories have been refreshed.

例子6:修改zypper仓库

zypper仓库可以通过别名、数字或者URI或者通过‘–all、 –remote、 –local、 –medium-type’这些选项修改。

linux-xa3t:~ # zypper mr -d 6 #禁用6号仓库 linux-xa3t:~ # zypper mr -rk -p 70 upd #启用自动书信并为‘upd’仓库设置rpm文件‘缓存’,且设置它的优先级为70 linux-xa3t:~ # zypper mr -Ka #为所有的仓库禁用rpm文件缓存 linux-xa3t:~ # zypper mr -kt #为远程仓库设置rpm文件缓存

例子7:添加仓库

语法: zypper addrepo 或者 zypper ar <仓库的URL或者别名>

linux-xa3t:~ # zypper ar http://download.opensuse.org/update/13.1/ update
Adding repository 'update' .............................................[done]
Repository 'update' successfully added
Enabled: Yes
Autorefresh: No
GPG check: Yes
URI: http://download.opensuse.org/update/13.1/

例子8:移除仓库

语法: zypper removerepo <仓库名> <别名>

或者

zypper rr <仓库名> <别名>

linux-xa3t:~ # zypper rr openSUSE-13.1-1.10 openSUSE-13.1-1.10
Removing repository 'openSUSE-13.1-1.10' ............................[done]
Repository 'openSUSE-13.1-1.10' has been removed.

例子9:安装软件包

语法: zypper install <包名> 或者 zypper in <包名>

linux-xa3t:~ # zypper install vlc

例子10:卸载软件包

语法: zypper remove <包名> 或者 zypper rm <包名>

linux-xa3t:~ # zypper remove sqlite

例子11:导出和导入仓库

导出仓库的语法 : zypper repos –export 或者 zypper lr -e

linux-xa3t:~ # zypper lr --export repo-backup/back.repo
Repositories have been successfully exported to repo-backup/back.repo.

导入仓库的语法 :

linux-xa3t:~ # zypper ar repo-backup/back.repo

例子12:更新一个软件包

语法: zypper update <包名> 或者 zypper up <包名>

linux-xa3t:~ # zypper update bash

例子13:安装源码包

语法: zypper source-install <源码包> 或 zypper si <源码包>

linux-xa3t:~ # zypper source-install zypper

例子14:只安装依赖包

例子13中的命令会安装和构建特定包的依赖。如果你想要安装源码包就用-D选项

# zypper source-install -D package_name

只安装依赖就使用-d

# zypper source-install -d package_name

via: http://www.linuxtechi.com/suse-linux-zypper-command-examples/

作者:Pradeep Kumar 译者:geekpi 校对:wxy

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

Question:我该如何在CentOS或者RHEL中配置REMI仓库,并安装其中的包?

REMI 仓库提供了CentOS和RHEL的核心包的更新版本,尤其是最新的PHP/MySQL系列(LCTT 译注:当你需要一个更新包,而 CentOS/RHEL 没有及时提供更新时, REMI 仓库可以帮助你)。

安装REMI仓库要记住的一件事是不要在启用了REMI仓库时运行yum update。因为REMI仓库的包名与RHEL/CentOS中的相同,运行yum update可能会触发意外的更新。一个好办法是禁用REMI仓库,在你需要安装RMEI仓库中独有的包时再启用。

预备工作

安装REMI仓库之前,你首先需要启用EPEL仓库,因为REMI中的一些包依赖于EPEL。按照这份指南在CentOS或者RHEL中设置EPEL仓库。

安装REMI仓库

现在按照下面的步骤安装REMI仓库。

在CentOS 7上:

$ sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

在CentOS 6上:

$ sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

默认地,REMI是禁用的。要检查REMI是否已经成功安装,使用这个命令。你会看到几个REMI仓库,比如remi、remi-php55和remi-php56。

$ yum repolist disabled | grep remi 

从REMI仓库中安装一个包

如上所述,最好保持禁用REMI仓库,只有在需要的时候再启用

要搜索或安装REMI仓库中的包,使用这些命令:

$ sudo yum --enablerepo=remi search <keyword>
$ sudo yum --enablerepo=remi install <package-name> 

via: http://ask.xmodulo.com/install-remi-repository-centos-rhel.html

译者:geekpi 校对:wxy

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

有些人只体验过Ubuntu或Mint的安装,却鼓起勇气想要安装Arch Linux,他们的学习道路是那样的陡峭和严峻,安装过程中半途而废的人数可能要比顺利过关的人多得多。如果你成功搭建并按你所需的配置好了Arch Linux,那么它已经把你培养成了一个饱经风霜的Linux用户。

即使有可以帮助你的维基为新手提供指南,对于那些想要征服Arch的人而言要求仍然太高。你需要至少熟悉诸如fdisk或mkfs之类的终端命令,并且听过mc、nano或chroot这些,并努力掌握它们。这让我回想起了10年前的Debian安装。

对于那些满怀抱负而又缺乏知识的生灵,有一个叫Evo/Lution Live ISO的ISO镜像格式安装器可以拯救他们。即便它貌似像发行版一样启动,但它其实除了辅助安装Arch Linux准系统之外啥都不干。Evo/Lution是一个项目,它旨在通过提供Arch的简单安装方式来为Arch的增加更多的用户基数,就像为那些用户提供全面帮助和文档的社区一样。在这样一个组合中,Evo是Live CD(不可安装),而Lution是个安装器本身。项目创立者看到了Arch及其衍生发行版的开发者和用户之间的巨大鸿沟,而想要在所有参与者之间构筑一个身份平等的社区。

项目的软件部分是命令行安装器Lution-AIS,它负责解释一个普通的纯净的Arch安装过程中的每一步。安装完毕后,你将获得Arch提供的没有从AUR添加任何东西的最新软件或其它任何自定义的包。

启动这个422MB大小的ISO镜像后,一个由显示在右边的带有选项快捷方式的Conky和一个左边等待运行安装器的LX-Terminal组成的工作区便呈现在我们眼前。

在通过右击桌面或使用ALT-i启动实际的安装器后,一个写满了16个等待运行的任务列表就出现在你面前了。除非你知道你在做什么,否则请将这些任务全部运行一遍。你可以一次运行,也可以进行选择,如1 3 6,或者1-4,也可以一次将它们全部运行,输入1-16。大多数步骤需要‘y’,即‘yes’,来确认,敲击回车即可。在此期间,你有足够的时间来阅读安装指南,它可以通过ALT-g来打开。当然,你也可以出去溜达一圈再回来。

这16个步骤分成“基础安装”和“桌面安装”两组。第一个组安装主要关注本地化、分区,以及安装启动器。

安装器带领你穿越分区世界,你可以选择使用gparted、gdisk,以及cfdisk。

创建完分区后(如,像截图中所示,用gparted划分/dev/sda1用于root,/dev/sda2用于swap),你可以在10个文件系统中选择其中之一。在下一步中,你可以选择内核(最新或长期支持LTS)和基础系统。

安装完你喜爱的启动加载器后,第一部分安装就完成了,这大约需要花费12分钟。这是在普通的Arch Linux中你第一次重启进入系统所处之处。

在Lution的帮助下,继续进入第二部分,在这一部分中将安装Xorg、声音和图形驱动,然后进入桌面环境。

安装器会检测是否在VirtualBox中安装,并且会自动为VM安装并加载正确的通用驱动,然后相应地设置systemd

在下一步中,你可以选择KDE、Gnome、Cinnamon、LXDE、Englightenment、Mate或XFCE作为你的桌面环境。如果你不喜欢臃肿的桌面,你也可以试试这些窗口管理器:Awesome、Fluxbox、i3、IceWM、Openbox或PekWM。

在使用Cinnamon作为桌面环境的情况下,第二部分安装将花费不到10分钟的时间;而选择KDE的话,因为要下载的东西多得多,所以花费的时间也会更长。

Lution-AIS在Cinnamon和Awesome上像个妩媚的小妖精。在安装完成并提示重启后,它就带我进入了我所渴望的环境。

我要提出两点批评:一是在安装器要我选择一个镜像列表时,以及在创建fstab文件时。在这两种情况下,它都另外开了一个终端,给出了一些文本信息提示。这让我花了点时间才搞清楚,原来我得把它关了,安装器才会继续。在创建fstab后,它又会提示你,而你需要关闭终端,并在问你是否想要保存文件时回答‘是’。

我碰到的第二个问题,可能与VirtualBox有关了。在启动的时候,你可以看到没有网络被检测到的提示信息。点击顶部左边的图标,将会打开我们所使用的网络管理器wicd。点击“断开”,然后再点击“连接”并重启安装器,就可以让它自动检测到了。

Evo/Lution看起来是个有价值的项目,在这里Lution工作一切顺利,目前还没有什么可告诉社区的。他们开启了一个全新的网站、论坛和维基,需要填充内容进去啊。所以,如果你喜欢这主意,加入他们的论坛并告诉他们吧。本文中的ISO镜像可以从此网站下载。


via: http://xmodulo.com/2014/09/install-arch-linux-easy-way-evolution.html

作者:Ferdinand Thommes 译者:GOLinux 校对:wxy

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

问题: 在 Linux 上, 我怎样通过命令行来改变日期和时间?

在 Linux 系统中保持日期和时间的同步是每一个 Linux 用户和系统管理员的重要责任. 很多程序都依靠精确的时间信息得以正常工作. 另外, 不精确的日期和时间会使得日志文件中的时间戳变得毫无意义, 减弱了它们在系统检查和检修中的作用. 对于生产系统来说, 精确的日期和时间甚至更为重要. 例如, 在零售公司中, 所有产品必须时刻准确地计数(并储存在数据库服务器中)以便于财政部门计算每天及每周,每月,每年的支出和收入.

我们必须注意, 在 Linux 机器上有两种时钟: 由内核维持的软件时钟(又称系统时钟)和在机器关机后记录时间的(电池供电的)硬件时钟. 启动的时候, 内核会把系统时钟与硬件时钟同步. 之后, 两个时钟各自独立运行.

方法一: Date 命令

在 Linux 中, 你可以通过 date 命令来更改系统的日期和时间:

# date --set='NEW_DATE' 

其中 NEW\_DATE 是诸如 "Sun, 28 Sep 2014 16:21:42" 或者 "2014-09-29 16:21:42" 的可读格式的日期字符串.

日期格式也可以手动指定以获得更精确的结果:

# date +FORMAT --set='NEW_DATE' 

例如:

# date +’%Y%m%d %H%m’ --set='20140928 1518' 

你也可以用相对的方式地增加或减少一定的天数,周数,月数和秒数,分钟数,小时数。 你也可以把日期和时间的参数放到一个命令中。

# date --set='+5 minutes'
# date --set='-2 weeks'
# date --set='+3 months'
# date --set='-3 months +2 weeks -5 minutes' 

最后, 把硬件时钟设置为当前系统时钟:

# hwclock --systohc 

运行 hwclock --systohc 的目的是将硬件时钟同软件时钟同步, 这可以更正硬件时钟的系统漂移(即时钟按照一定的速度走快或走慢).

另一方面, 如果硬件时钟是正确的, 但系统时钟有误, 可以用下面的命令更正:

 # hwclock --hctosys

在两种情况下, hwclock 命令都是将两个时钟同步. 否则, 重启后时间会是错误的, 因为当电源关闭时硬件时钟会记忆时间. 然而, 这对于虚拟机器并不适用, 因为虚拟机器并不能访问硬件时钟.

如果你的 Linux 系统上的默认时区是错误的, 你可以按照这个指导进行更正.

方法二: NTP

另一种使系统日期和时间保持精确的方法是使用 NTP (网络时间协议). 在 Linux 上, ntpdate 命令通过 NTP 将系统时钟和公共 NTP 服务器同步.

你可以使用如下命令来安装 ntpdate:

在 Debian 及基于 Debian 的发行版上:

# aptitude install ntpdate

在基于 Ret Hat 的发行版上:

# yum install ntpdate

使用 NTP 同步系统时钟:

# ntpdate -u <NTP 服务器名或IP>
# hwclock --systohc 

除了一次性使用 ntpdate 来同步时钟, 你也可以使用 NTP 守护进程(ntpd), 它会始终在后台运行, 不断地通过 NTP 来调整系统时钟. 关于 NTP 的设置, 请参考这个指导.


via: http://ask.xmodulo.com/change-date-time-command-line-linux.html

译者:wangjiezhe 校对:wxy

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

在软件开发者 Yitao Li (李逸韬) 的 GitHub 仓库中,几乎所有的项目都是在他的 Linux 机器上开发完成的。它们没有一个是必须特定需要 Linux 的,但李逸韬说他使用 Linux 来做“任何事情”。

文章中是称主人公为 Yitao Li,还是李逸韬?他似乎是美国人,“李逸韬”是看的他的个人主页上的名字。

举些例子:“编码/脚本设计,网页浏览,网站托管,任何云相关的,发送/接收 PGP 签名的邮件,调整防火墙规则,将 OpenWrt 镜像刷入路由器,运行某版本的 Linux kernel 的同时编译另一个版本,从事研究,完成功课(例如,用 Tex 输入数学公式),以及其他许多......” Li 在邮件里如是说。

在李逸韬的 GitHub 仓库里所有项目中他的最爱是一个学校项目,调用 libpthread 和 libfuse 库,使用 C++ 开发,用来理解和正确执行基于 PAXOS 的分布式加锁,键值对服务,最终实现一个分布式文件系统。他使用若干测试脚本分别在单核和多核的机器上对这个项目进行测试。

"可以借助正确地实现(或者至少大部分正确)PAXOS 协议,并且通过了所有测试,来学习关于分布式共识协议的知识,"他说,“当然一旦这完成了,他就可以获得一些炫耀的权利。除此之外,一个分布式文件系统在其他许多编程项目中也可以很有用。”

Li 是在 16 岁的时候第一次开始使用 Linux,或是者说大约 7.47 年之前,他说,通过使用网站 linuxfromscratch.org ,从 Scratch book 中获得的免费可下载的 Linux 中学习了大量知识。那么他为什么会使用 Linux?

"1. Linux 是黑客的天才工具,所以我没看到任何不用它的理由,"他写道,“2. 大脑的前额叶皮质(可能)在我16岁时正变得很发达。”

他现在为 eBay工作,主要进行 Java 编程但有时也使用 Hadoop, Pig, Zookeeper, Cassandra, MongoDB,以及其他一些需要 POSIX 兼容平台的软件来工作。他主要通过给 Wikipedia 页面和 Linux 相关的论坛做贡献来支持 Linux 社区,另外当然还成为了 Linux 基金会的个人会员。

他紧跟最新的 Linux 发展动态,最近还对 GCC 4.9 及之后版本新增的 “-fstack-protector-strong” 选项印象深刻。

"虽然这并不与我的任何项目直接相关,但它对于安全和性能问题十分重要。"他说,“这个选项比 ‘-fstack-protector-all’ 更高效的多,却在安全上几乎没有影响,同时比 ‘-fstack-protector’ 选项提供了更好的栈溢出防护覆盖。”

欢迎来到 Linux 基金会,Yitao !

了解更多关于成为 Linux 基金会个人会员的内容。基金会将为每位 6 月份期间的新个人会员捐赠 $25 给 Code.org。


Libby Clark


via: http://www.linux.com/news/featured-blogs/200-libby-clark/778559-the-people-who-support-linux-hacking-on-linux-since-age-16

译者:jabirus 校对:wxy

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

当你早晨醒来的时候,你可能没有期望在网上看到‘Mozilla’、‘新的’,‘浏览器’这样的词。

但是我手上的正是你要找的。

Mozilla – 推动前沿

Mozilla一直处于推动开源,开放标准和开放访问的最前沿。他们引导了世界上最流行的桌面浏览器之一。他们的开源的基于Linux的移动操作系统在24个国家的13个运营商的12款手机上出售。他们甚至可以在谷歌的Chromecast上运行

他们将 Web 推广到每个角落的追求依然旺盛。在Mozilla博客上发布的一篇文章传达了公司宣布在推动前沿上的努力- 这次是针对开发者而不是用户而言的。

这被打趣为“独特但又熟悉”,公司打算发布基于Firefox、由开发人员设计、针对开发人员提供的全新的浏览器。 Mozilla说它集成了“像WebIDEFirefox工具适配器这样强大的新工具。

“在构建Web时,开发人员倾向于使用不同的工具,但这往往不能很好地协同工作。这意味着你不用在不同的工具、平台和浏览器等这些会减缓你开发效率的工作中切换了

Fx10

“Firefox开发者”版声称会在11.10发布。 现在还不知道它支持的平台,但是第一它是Mozilla推出的,第二针对的是开发者,所以如果在那天没有Linux版本的话将会是一件很意外的事情。

Mozilla说感兴趣的人可以注册他们的黑客简讯来在浏览器发布的时候收到通知。


via: http://www.omgubuntu.co.uk/2014/11/mozilla-launch-brand-new-developer-focused-web-browser

作者:Joey-Elijah Sneddon 译者:geekpi 校对:wxy

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