[--command-options] [arguments]
-
- Global Options
- ....
-
-42. Generate quiet output at installation.
-
- # zypper --quiet in mariadb
-
- The following NEW package is going to be installed:
- mariadb
-
- 1 new package to install.
- Overall download size: 0 B. Already cached: 7.8 MiB After the operation, additional 71.8 MiB will be used.
- Continue? [y/n/? shows all options] (y):
- ...
-
-43. Generate quiet output at UN-installation.
-
- # zypper --quiet rm mariadb
-
-44. Auto agree to Licenses/Agreements.
-
- # zypper patch --auto-agree-with-licenses
-
- Loading repository data...
- Reading installed packages...
- Resolving package dependencies...
-
- Nothing to do.
-
-#### Clean Zypper Cache and View History ####
-
-45. If you want to clean zypper cache only, you can use following command.
-
- # zypper clean
-
- All repositories have been cleaned up.
-
-If you want to clean metadata and package cache at once you may like to pass –all/-a with zypper as.
-
- # zypper clean -a
-
- All repositories have been cleaned up.
-
-46. To view logs of any installed, updated or removed packages through zypper, are logged in /var/log/zypp/history. You may cat it to view or may use filter to get a custom output.
-
- # cat /var/log/zypp/history
-
- 2015-05-07 15:43:03|install|boost-license1_54_0|1.54.0-10.1.3|noarch||openSUSE-13.2-0|0523b909d2aae5239f9841316dafaf3a37b4f096|
- 2015-05-07 15:43:03|install|branding-openSUSE|13.2-3.6.1|noarch||openSUSE-13.2-0|6609def94b1987bf3f90a9467f4f7ab8f8d98a5c|
- 2015-05-07 15:43:03|install|bundle-lang-common-en|13.2-3.3.1|noarch||openSUSE-13.2-0|ca55694e6fdebee6ce37ac7cf3725e2aa6edc342|
- 2015-05-07 15:43:03|install|insserv-compat|0.1-12.2.2|noarch||openSUSE-13.2-0|6160de7fbf961a279591a83a1550093a581214d9|
- 2015-05-07 15:43:03|install|libX11-data|1.6.2-5.1.2|noarch||openSUSE-13.2-0|f1cb58364ba9016c1f93b1a383ba12463c56885a|
- 2015-05-07 15:43:03|install|libnl-config|3.2.25-2.1.2|noarch||openSUSE-13.2-0|aab2ded312a781e93b739b418e3d32fe4e187020|
- 2015-05-07 15:43:04|install|wireless-regdb|2014.06.13-1.2|noarch||openSUSE-13.2-0|be8cb16f3e92af12b5ceb977e37e13f03c007bd1|
- 2015-05-07 15:43:04|install|yast2-trans-en_US|3.1.0-2.1|noarch||openSUSE-13.2-0|1865754e5e0ec3c149ac850b340bcca55a3c404d|
- 2015-05-07 15:43:04|install|yast2-trans-stats|2.19.0-16.1.3|noarch||openSUSE-13.2-0|b107d2b3e702835885b57b04d12d25539f262d1a|
- 2015-05-07 15:43:04|install|cracklib-dict-full|2.8.12-64.1.2|x86_64||openSUSE-13.2-0|08bd45dbba7ad44e3a4837f730be76f55ad5dcfa|
- ......
-
-#### Upgrade Suse Using Zypper ####
-
-47. You can use ‘dist-upgrade‘ option with zypper command to upgrade your current Suse Linux to most recent version.
-
- # zypper dist-upgrade
-
- You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
- Building repository 'openSUSE-13.2-0' cache .....................................................................[done]
- Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
- Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
- Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ..........................................................[done]
- Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]
-
-That’s all for now. Hope this article would help you in managing you SUSE System and Server specially for newbies. If you feel that I left certain commands (Human are erroneous) you may provide us with the feedback in the comments so that we can update the article. Keep Connected, Keep Commenting, Stay tuned. Kudos!
-
---------------------------------------------------------------------------------
-
-via: http://www.tecmint.com/zypper-commands-to-manage-suse-linux-package-management/
-
-作者:[Avishek Kumar][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]:http://www.tecmint.com/author/avishek/
-[1]:http://www.tecmint.com/installation-of-suse-linux-enterprise-server-12/
+45 个用于 ‘Suse‘ Linux 包管理的 Zypper 命令
+======================================================================
+SUSE( Software and System Entwicklung,即软件和系统开发。其中‘entwicklung‘是德语,意为开发)Linux是 Novell 公司在 Linux 内核基础上发布的操作系统。SUSE Linux 有两个发行分支。其中之一名为 OpenSUSE,这是一款自由而且免费的操作系统。该系统由开源社区开发维护,支持一些最新版本的应用软件,其最新的稳定版本为 13.2。
+
+另外一个分支是SUSE Linux 企业版。该分支是一个为企业及商业化产品设计的 Linux 发行版,包含了大量的企业应用以及适用于商业产品生产环境的特性。其最新的稳定版本为 12。
+
+以下的链接包含了安装企业版 SUSE Linux 服务器的详细信息。
+
+- [如何安装企业版 SUSE Linux 12][1]
+
+Zypper 和 Yast 是 SUSE Linux 平台上的软件包管理工具,他们的底层使用了 RPM(译者注:RPM 最初指 Redhat Pacakge Manager ,现普遍解释为递归短语 RPM Package Manager 的缩写)。
+
+Yast(Yet another Setup Tool )是 OpenSUSE 以及企业版 SUSE 上用于系统管理、设置和配置的工具。
+
+Zypper 是软件包管理器ZYpp的命令行接口,可用于安装、删除SUSE Linux上的软件以及进行系统更新。ZYpp为Zypper和Yast提供底层支持。
+
+本文将介绍实际应用中常见的一些Zypper命令。这些命令用来进行安装、更新、删除等任何软件包管理器所能够胜任的工作。
+
+**重要** : 切记所有的这些指令都将在系统全局范围内产生影响,所以必须以 root 身份执行,否则命令将失败。
+
+### 获取基本的 Zypper 帮助信息 ###
+
+1. 不带任何选项的执行 zypper, 将输出该命令的全局选项以及子命令列表(译者注:全局选项,global option,控制台命令的输入分为可选参数和位置参数两大类。按照习惯,一般可选参数称为选项'option',而位置参数称为参数 'argument')。
+
+ %> zypper
+ Usage:
+ zypper [--global-options]
+
+2. 获取一个具体的子命令的帮助信息,比如 'in' (install),可以执行下面的命令
+
+ %> zypper help in
+ 或者
+ %> zypper help install
+ install (in) [options] {capability | rpm_file_uri}
+
+ Install packages with specified capabilities or RPM files with specified
+ location. A capability is NAME[.ARCH][OP], where OP is one
+ of <, <=, =, >=, >.
+
+ Command options:
+ --from Select packages from the specified repository.
+ -r, --repo Load only the specified repository.
+ -t, --type Type of package (package, patch, pattern, product, srcpackage).
+ Default: package.
+ -n, --name Select packages by plain name, not by capability.
+ -C, --capability Select packages by capability.
+ -f, --force Install even if the item is already installed (reinstall),
+ downgraded or changes vendor or architecture.
+ --oldpackage Allow to replace a newer item with an older one.
+ Handy if you are doing a rollback. Unlike --force
+ it will not enforce a reinstall.
+ --replacefiles Install the packages even if they replace files from other,
+ already installed, packages. Default is to treat file conflicts
+ as an error. --download-as-needed disables the fileconflict check.
+ ......
+
+3. 安装之前搜索一个安转包(以 gnome-desktop 为例 )
+
+ # zypper se gnome-desktop
+
+ Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
+ Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
+ Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ......................................................... [done]
+ Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]
+ Retrieving repository 'openSUSE-13.2-Oss' metadata ..............................................................[done]
+ Building repository 'openSUSE-13.2-Oss' cache ...................................................................[done]
+ Retrieving repository 'openSUSE-13.2-Update' metadata ...........................................................[done]
+ Building repository 'openSUSE-13.2-Update' cache ................................................................[done]
+ Retrieving repository 'openSUSE-13.2-Update-Non-Oss' metadata ...................................................[done]
+ Building repository 'openSUSE-13.2-Update-Non-Oss' cache ........................................................[done]
+ Loading repository data...
+ Reading installed packages...
+
+ S | Name | Summary | Type
+ --+---------------------------------------+-----------------------------------------------------------+-----------
+ | gnome-desktop2-lang | Languages for package gnome-desktop2 | package
+ | gnome-desktop2 | The GNOME Desktop API Library | package
+ | libgnome-desktop-2-17 | The GNOME Desktop API Library | package
+ | libgnome-desktop-3-10 | The GNOME Desktop API Library | package
+ | libgnome-desktop-3-devel | The GNOME Desktop API Library -- Development Files | package
+ | libgnome-desktop-3_0-common | The GNOME Desktop API Library -- Common data files | package
+ | gnome-desktop-debugsource | Debug sources for package gnome-desktop | package
+ | gnome-desktop-sharp2-debugsource | Debug sources for package gnome-desktop-sharp2 | package
+ | gnome-desktop2-debugsource | Debug sources for package gnome-desktop2 | package
+ | libgnome-desktop-2-17-debuginfo | Debug information for package libgnome-desktop-2-17 | package
+ | libgnome-desktop-3-10-debuginfo | Debug information for package libgnome-desktop-3-10 | package
+ | libgnome-desktop-3_0-common-debuginfo | Debug information for package libgnome-desktop-3_0-common | package
+ | libgnome-desktop-2-17-debuginfo-32bit | Debug information for package libgnome-desktop-2-17 | package
+ | libgnome-desktop-3-10-debuginfo-32bit | Debug information for package libgnome-desktop-3-10 | package
+ | gnome-desktop-sharp2 | Mono bindings for libgnome-desktop | package
+ | libgnome-desktop-2-devel | The GNOME Desktop API Library -- Development Files | packag
+ | gnome-desktop-lang | Languages for package gnome-desktop | package
+ | libgnome-desktop-2-17-32bit | The GNOME Desktop API Library | package
+ | libgnome-desktop-3-10-32bit | The GNOME Desktop API Library | package
+ | gnome-desktop | The GNOME Desktop API Library | srcpackage
+
+4. 获取一个模式包的信息(以 lamp_server 为例)。
+
+ %> zypper info -t pattern lamp_server
+
+ Loading repository data...
+ Reading installed packages...
+
+
+ Information for pattern lamp_server:
+ ------------------------------------
+ Repository: openSUSE-13.2-Update
+ Name: lamp_server
+ Version: 20141007-5.1
+ Arch: x86_64
+ Vendor: openSUSE
+ Installed: No
+ Visible to User: Yes
+ Summary: Web and LAMP Server
+ Description:
+ Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL,
+ and scripting languages such as PHP, Python, Ruby on Rails, or Perl.
+ Contents:
+
+ S | Name | Type | Dependency
+ --+-------------------------------+---------+-----------
+ | apache2-mod_php5 | package |
+ | php5-iconv | package |
+ i | patterns-openSUSE-base | package |
+ i | apache2-prefork | package |
+ | php5-dom | package |
+ | php5-mysql | package |
+ i | apache2 | package |
+ | apache2-example-pages | package |
+ | mariadb | package |
+ | apache2-mod_perl | package |
+ | php5-ctype | package |
+ | apache2-doc | package |
+ | yast2-http-server | package |
+ | patterns-openSUSE-lamp_server | package |
+
+5. 开启一个Zypper Shell 的会话。
+
+ %>zypper shell
+ 或者
+ %>zypper sh
+
+ zypper> help
+ Usage:
+ zypper [--global-options]
+
+**注意**:在 Zypper shell里面可以通过键入 ‘help‘ 获得全局选项以及子命令的列表。
+### Zypper 软件库管理 ###
+
+#### 列举已定义的软件库 ####
+
+6. 使用 'zypper repos' 或者 'zypper lr' 来列举所有已定以的软件库。
+
+ %> zypper repos
+ 或者
+ %> zypper lr
+ | Alias | Name | Enabled | Refresh
+ --+---------------------------+------------------------------------+---------+--------
+ 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Yes | No
+ 2 | repo-debug | openSUSE-13.2-Debug | Yes | Yes
+ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | No | Yes
+ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | Yes
+ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | Yes
+ 6 | repo-oss | openSUSE-13.2-Oss | Yes | Yes
+ 7 | repo-source | openSUSE-13.2-Source | No | Yes
+ 8 | repo-update | openSUSE-13.2-Update | Yes | Yes
+ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | Yes
+
+7. 在表格里面显示 zypper URI
+
+ # zypper lr -u
+ | Alias | Name | Enabled | Refresh | URI
+ --+---------------------------+------------------------------------+---------+---------+----------------------------------------------------------------
+ 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Yes | No | cd:///?devices=/dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376
+ 2 | repo-debug | openSUSE-13.2-Debug | Yes | Yes | http://download.opensuse.org/debug/distribution/13.2/repo/oss/
+ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | No | Yes | http://download.opensuse.org/debug/update/13.2/
+ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | Yes | http://download.opensuse.org/debug/update/13.2-non-oss/
+ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.2/repo/non-oss/
+ 6 | repo-oss | openSUSE-13.2-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.2/repo/oss/
+ 7 | repo-source | openSUSE-13.2-Source | No | Yes | http://download.opensuse.org/source/distribution/13.2/repo/oss/
+ 8 | repo-update | openSUSE-13.2-Update | Yes | Yes | http://download.opensuse.org/update/13.2/
+ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | Yes | http://download.opensuse.org/update/13.2-non-oss/
+
+8. 根据优先级列举软件库。
+
+ %> zypper lr -P
+ | Alias | Name | Enabled | Refresh | Priority
+ --+---------------------------+------------------------------------+---------+---------+---------
+ 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Yes | No | 99
+ 2 | repo-debug | openSUSE-13.2-Debug | Yes | Yes | 99
+ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | No | Yes | 99
+ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | Yes | 99
+ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | Yes | 85
+ 6 | repo-oss | openSUSE-13.2-Oss | Yes | Yes | 99
+ 7 | repo-source | openSUSE-13.2-Source | No | Yes | 99
+ 8 | repo-update | openSUSE-13.2-Update | Yes | Yes | 99
+ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | Yes | 99
+
+#### 刷新软件库 ####
+
+9. 使用 'zypper refresh' or 'zypper ref' 来刷新 zypper 软件库。
+
+ %> zypper refresh
+ 或者
+ %> zypper ref
+ Repository 'openSUSE-13.2-0' is up to date.
+ Repository 'openSUSE-13.2-Debug' is up to date.
+ Repository 'openSUSE-13.2-Non-Oss' is up to date.
+ Repository 'openSUSE-13.2-Oss' is up to date.
+ Repository 'openSUSE-13.2-Update' is up to date.
+ Repository 'openSUSE-13.2-Update-Non-Oss' is up to date.
+ All repositories have been refreshed.
+
+10. 刷新一个指定的软件库(以 'repo-non-oss' 为例 )。
+
+ %> zypper refresh repo-non-oss
+ Repository 'openSUSE-13.2-Non-Oss' is up to date.
+ Specified repositories have been refreshed.
+
+11. 强制更新一个软件库(以 'repo-non-oss' 为例 )。
+
+ %> zypper ref -f repo-non-oss
+ Forcing raw metadata refresh
+ Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ............................................................[done]
+ Forcing building of repository cache
+ Building repository 'openSUSE-13.2-Non-Oss' cache ............................................................[done]
+ Specified repositories have been refreshed.
+
+#### 修改软件库 ####
+
+本文中我们使用‘zypper modifyrepo‘ 或者 ‘zypper mr‘ 来关闭或者开启 zypper 软件库。
+
+12. 在关闭一个软件库之前,我们需要知道在 zypper中,每一个软件库有一个唯一的标示数字与之关联,该数字用于打开或者关闭与之相联系的软件库。假设我们需要关闭 'repo-oss' 软件库,那么我们可以通过以下的法来获得该软件库的标志数字。
+
+ %> zypper lr
+ | Alias | Name | Enabled | Refresh
+ --+---------------------------+------------------------------------+---------+--------
+ 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Yes | No
+ 2 | repo-debug | openSUSE-13.2-Debug | Yes | Yes
+ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | No | Yes
+ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | Yes
+ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | Yes
+ 6 | repo-oss | openSUSE-13.2-Oss | No | Yes
+ 7 | repo-source | openSUSE-13.2-Source | No | Yes
+ 8 | repo-update | openSUSE-13.2-Update | Yes | Yes
+ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | Yes
+从以上输出的列表中我们可以看到 'repo-oss' 库的标示数字是 6,因此通过以下的命令来关闭该库。
+
+ %> zypper mr -d 6
+ Repository 'repo-oss' has been successfully disabled.
+
+13. 如果需要再次开启软件库 ‘repo-oss‘, 接上例,与之相关联的标示数字为 6。
+
+ %> zypper mr -e 6
+ Repository 'repo-oss' has been successfully enabled.
+
+14. 针对某一个软件库(以 'repo-non-oss' 为例 )开启自动刷新( auto-refresh )和 rpm 缓存,并设置该软件库的优先级,比如85。
+
+ %> zypper mr -rk -p 85 repo-non-oss
+ Repository 'repo-non-oss' priority has been left unchanged (85)
+ Nothing to change for repository 'repo-non-oss'.
+
+15. 对所有的软件库关闭 rpm 文件缓存。
+
+ %> zypper mr -Ka
+ RPM files caching has been disabled for repository 'openSUSE-13.2-0'.
+ RPM files caching has been disabled for repository 'repo-debug'.
+ RPM files caching has been disabled for repository 'repo-debug-update'.
+ RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
+ RPM files caching has been disabled for repository 'repo-non-oss'.
+ RPM files caching has been disabled for repository 'repo-oss'.
+ RPM files caching has been disabled for repository 'repo-source'.
+ RPM files caching has been disabled for repository 'repo-update'.
+ RPM files caching has been disabled for repository 'repo-update-non-oss'.
+
+16. 对所有的软件库开启 rpm 文件缓存。
+ zypper mr -ka
+ RPM files caching has been enabled for repository 'openSUSE-13.2-0'.
+ RPM files caching has been enabled for repository 'repo-debug'.
+ RPM files caching has been enabled for repository 'repo-debug-update'.
+ RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
+ RPM files caching has been enabled for repository 'repo-non-oss'.
+ RPM files caching has been enabled for repository 'repo-oss'.
+ RPM files caching has been enabled for repository 'repo-source'.
+ RPM files caching has been enabled for repository 'repo-update'.
+ RPM files caching has been enabled for repository 'repo-update-non-oss'.
+
+17. 关闭远程库的rpm 文件缓存
+ %> zypper mr -Kt
+ RPM files caching has been disabled for repository 'repo-debug'.
+ RPM files caching has been disabled for repository 'repo-debug-update'.
+ RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
+ RPM files caching has been disabled for repository 'repo-non-oss'.
+ RPM files caching has been disabled for repository 'repo-oss'.
+ RPM files caching has been disabled for repository 'repo-source'.
+ RPM files caching has been disabled for repository 'repo-update'.
+ RPM files caching has been disabled for repository 'repo-update-non-oss'.
+
+18. 开启远程软件库的 rpm 文件缓存。
+ %> zypper mr -kt
+ RPM files caching has been enabled for repository 'repo-debug'.
+ RPM files caching has been enabled for repository 'repo-debug-update'.
+ RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
+ RPM files caching has been enabled for repository 'repo-non-oss'.
+ RPM files caching has been enabled for repository 'repo-oss'.
+ RPM files caching has been enabled for repository 'repo-source'.
+ RPM files caching has been enabled for repository 'repo-update'.
+ RPM files caching has been enabled for repository 'repo-update-non-oss'.
+
+#### 增加新的软件库 ####
+
+可以通过这两个 zypper 指令 – 'zypper addrepo' 和 'zypper ar' 来增加新的软件库。在此过程中可以使用 URL 或者软件库的别名。
+
+19. 增加一个新的软件库( 以 “http://download.opensuse.org/update/12.3/” 为例 )。
+
+ %> zypper ar http://download.opensuse.org/update/11.1/ update
+ Adding repository 'update' .............................................................................................................................................................[done]
+ Repository 'update' successfully added
+ Enabled : Yes
+ Autorefresh : No
+ GPG check : Yes
+ URI : http://download.opensuse.org/update/11.1/
+
+20. 更改一个软件库的名字,这将仅仅改变软件库的别名。 命令 'zypper namerepo' 或者 'zypperr nr' 可以胜任此工作。例如更改标示数字为10的软件库的名字为 'upd8',或者说将标示数字为10的软件库的别名改为 'upd8',可以使用下面的命令。
+
+ %> zypper nr 10 upd8
+ Repository 'update' renamed to 'upd8'.
+
+#### 删除软件库 ####
+
+21. 删除一个软件库。要从系统删除一个软件库可以使 'zypper removerepo' 或者 'zypper rr'。例如以下的命令可以删除软件库 'upd8'
+
+ %> zypper rr upd8
+ # Removing repository 'upd8' .........................................................................................[done]
+ Repository 'upd8' has been removed.
+
+### 使用 zypper 进行软件包管理 ###
+
+#### 用 zypper 安装一个软件包 ####
+
+22. 在 zypper 中,我们可以通过软件包的功能名称来安装一个软件包。以 Firefox 为例,以下的命令可以用来安装该软件包。
+ %> zypper in MozillaFirefox
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 128 NEW packages are going to be installed:
+ adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2-core cantarell-fonts cups-libs desktop-file-utils fontconfig gdk-pixbuf-query-loaders gstreamer gstreamer-fluendo-mp3
+ gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese gtk2-metatheme-adwaita
+ gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openSUSE libasound2 libatk-1_0-0 libatk-bridge-2_0-0
+ libatspi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-module libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-common libcdda_interface0
+ libcdda_paranoia0 libcolord2 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libFLAC8 libfreebl3 libgbm1 libgdk_pixbuf-2_0-0 libgraphite2-3 libgstapp-1_0-0 libgstaudio-1_0-0
+ libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_0-0 libgtk-2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg8 libjson-c2
+ liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0-0 libpciaccess0 libpixman-1-0 libpulse0 libsndfile1 libsoftokn3 libspeex1
+ libsqlite3-0 libstartup-notification-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0
+ libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1
+ libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 libXv1 libXxf86vm1 Mesa Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0
+ metatheme-adwaita-common MozillaFirefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop
+
+ The following 10 recommended packages were automatically selected:
+ gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese libcanberra0 libpulse0
+ PackageKit-gstreamer-plugin
+
+ 128 new packages to install.
+ Overall download size: 77.2 MiB. Already cached: 0 B After the operation, additional 200.0 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+ Retrieving package cantarell-fonts-0.0.16-1.1.noarch (1/128), 74.1 KiB (115.6 KiB unpacked)
+ Retrieving: cantarell-fonts-0.0.16-1.1.noarch.rpm .........................................................................................................................[done (63.4 KiB/s)]
+ Retrieving package hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40.1 KiB ( 50.5 KiB unpacked)
+ Retrieving: hicolor-icon-theme-0.13-2.1.2.noarch.rpm ...................................................................................................................................[done]
+ Retrieving package sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372.6 KiB (460.3 KiB unpacked)
+
+23. 安装指定版本号的软件包,(以 gcc 5.1 为例)。
+ %>zypper in 'gcc<5.1'
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 13 NEW packages are going to be installed:
+ cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49
+
+ 13 new packages to install.
+ Overall download size: 14.5 MiB. Already cached: 0 B After the operation, additional 49.4 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+
+24. 为特定的CPU架构安装软件包(以兼容 i586 的 gcc 为例)。
+
+ %> zypper in gcc.i586
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 13 NEW packages are going to be installed:
+ cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49
+
+ 13 new packages to install.
+ Overall download size: 14.5 MiB. Already cached: 0 B After the operation, additional 49.4 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+ Retrieving package libasan0-4.8.3+r212056-2.2.4.x86_64 (1/13), 74.2 KiB (166.9 KiB unpacked)
+ Retrieving: libasan0-4.8.3+r212056-2.2.4.x86_64.rpm .......................................................................................................................[done (79.2 KiB/s)]
+ Retrieving package libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64 (2/13), 14.3 KiB ( 26.1 KiB unpacked)
+ Retrieving: libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ...............................................................................................................[done (55.3 KiB/s)]
+
+25. 为特定的CPU架构安装指定版本号的软件包(以兼容 i586 且版本低于5.1的 gcc 为例)
+
+ %> zypper in 'gcc.i586<5.1'
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 13 NEW packages are going to be installed:
+ cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49
+
+ 13 new packages to install.
+ Overall download size: 14.4 MiB. Already cached: 129.5 KiB After the operation, additional 49.4 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+ In cache libasan0-4.8.3+r212056-2.2.4.x86_64.rpm (1/13), 74.2 KiB (166.9 KiB unpacked)
+ In cache libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm (2/13), 14.3 KiB ( 26.1 KiB unpacked)
+ In cache libgomp1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm (3/13), 41.1 KiB ( 90.7 KiB unpacked)
+
+26. 从指定的软件库里面安装一个软件包,例如从 amarok 中安装 libxine。
+ %> zypper in amarok upd:libxine1
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+ The following 202 NEW packages are going to be installed:
+ amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query-loaders ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme
+ hicolor-icon-theme-branding-openSUSE htdig hunspell hunspell-tools icoutils ispell ispell-american kde4-filesystem kdebase4-runtime kdebase4-runtime-branding-openSUSE kdelibs4
+ kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l
+ .....
+
+27. 通过指定软件包的名字安装软件包。
+
+ %> zypper in -n git
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 35 NEW packages are going to be installed:
+ cvs cvsps fontconfig git git-core git-cvs git-email git-gui gitk git-svn git-web libserf-1-1 libsqlite3-0 libXft2 libXrender1 libXss1 perl-Authen-SASL perl-Clone perl-DBD-SQLite perl-DBI
+ perl-Error perl-IO-Socket-SSL perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-Net-SSLeay perl-Params-Util perl-PlRPC perl-SQL-Statement perl-Term-ReadKey subversion subversion-perl tcl
+ tk xhost
+
+ The following 13 recommended packages were automatically selected:
+ git-cvs git-email git-gui gitk git-svn git-web perl-Authen-SASL perl-Clone perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-PlRPC perl-SQL-Statement
+
+ The following package is suggested, but will not be installed:
+ git-daemon
+
+ 35 new packages to install.
+ Overall download size: 15.6 MiB. Already cached: 0 B After the operation, additional 56.7 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+
+28. 通过通配符来安装软件包,例如,安装所有 php5 的软件包。
+ %> zypper in php5*
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ Problem: php5-5.6.1-18.1.x86_64 requires smtp_daemon, but this requirement cannot be provided
+ uninstallable providers: exim-4.83-3.1.8.x86_64[openSUSE-13.2-0]
+ postfix-2.11.0-5.2.2.x86_64[openSUSE-13.2-0]
+ sendmail-8.14.9-2.2.2.x86_64[openSUSE-13.2-0]
+ exim-4.83-3.1.8.i586[repo-oss]
+ msmtp-mta-1.4.32-2.1.3.i586[repo-oss]
+ postfix-2.11.0-5.2.2.i586[repo-oss]
+ sendmail-8.14.9-2.2.2.i586[repo-oss]
+ exim-4.83-3.1.8.x86_64[repo-oss]
+ msmtp-mta-1.4.32-2.1.3.x86_64[repo-oss]
+ postfix-2.11.0-5.2.2.x86_64[repo-oss]
+ sendmail-8.14.9-2.2.2.x86_64[repo-oss]
+ postfix-2.11.3-5.5.1.i586[repo-update]
+ postfix-2.11.3-5.5.1.x86_64[repo-update]
+ Solution 1: Following actions will be done:
+ do not install php5-5.6.1-18.1.x86_64
+ do not install php5-pear-Auth_SASL-1.0.6-7.1.3.noarch
+ do not install php5-pear-Horde_Http-2.0.1-6.1.3.noarch
+ do not install php5-pear-Horde_Image-2.0.1-6.1.3.noarch
+ do not install php5-pear-Horde_Kolab_Format-2.0.1-6.1.3.noarch
+ do not install php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch
+ do not install php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch
+ do not install php5-pear-Horde_Mime-2.0.2-6.1.3.noarch
+ do not install php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch
+ do not install php5-pear-Horde_Pdf-2.0.1-6.1.3.noarch
+ ....
+
+29. 使用模式名称(模式名称是一类软件包的名字)来批量安装软件包
+
+ %> zypper in -t pattern lamp_server
+ ading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 29 NEW packages are going to be installed:
+ apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork patterns-openSUSE-lamp_server perl-Data-Dump perl-Encode-Locale perl-File-Listing perl-HTML-Parser
+ perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux-Pid
+ perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl-TimeDate perl-URI perl-WWW-RobotRules yast2-http-server
+
+ The following NEW pattern is going to be installed:
+ lamp_server
+
+ The following 10 recommended packages were automatically selected:
+ apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork perl-Data-Dump perl-IO-Socket-SSL perl-LWP-Protocol-https perl-TimeDate yast2-http-server
+
+ 29 new packages to install.
+ Overall download size: 7.2 MiB. Already cached: 1.2 MiB After the operation, additional 34.7 MiB will be used.
+ Continue? [y/n/? shows all options] (y):
+
+30. 使用一行命令安转一个软件包同时卸载另一个软件包,例如在安装 nano 的同时卸载 vi
+
+ # zypper in nano -vi
+ Loading repository data...
+ Reading installed packages...
+ '-vi' not found in package names. Trying capabilities.
+ Resolving package dependencies...
+
+ The following 2 NEW packages are going to be installed:
+ nano nano-lang
+
+ The following package is going to be REMOVED:
+ vim
+
+ The following recommended package was automatically selected:
+ nano-lang
+
+ 2 new packages to install, 1 to remove.
+ Overall download size: 550.0 KiB. Already cached: 0 B After the operation, 463.3 KiB will be freed.
+ Continue? [y/n/? shows all options] (y):
+ ...
+
+31. 使用 zypper 安装 rpm 软件包。
+
+ %> zypper in teamviewer*.rpm
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 24 NEW packages are going to be installed:
+ alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49-32bit libICE6-32bit libjpeg62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit
+ libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bit libXfixes3-32bit libXinerama1-32bit libXrandr2-32bit libXrender1-32bit libXtst6-32bit
+ libz1-32bit teamviewer
+
+ The following recommended package was automatically selected:
+ alsa-oss-32bit
+
+ 24 new packages to install.
+ Overall download size: 41.2 MiB. Already cached: 0 B After the operation, additional 119.7 MiB will be used.
+ Continue? [y/n/? shows all options] (y):
+ ..
+
+#### 使用 zypper 卸载软件包 ####
+
+32. 命令 ‘zypper remove‘ 和 ‘zypper rm‘ 用于卸载软件包。例如卸载 apache2:
+
+ %> zypper remove apache2
+ 或者
+ %> zypper rm apache2
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following 2 packages are going to be REMOVED:
+ apache2 apache2-prefork
+
+ 2 packages to remove.
+ After the operation, 4.2 MiB will be freed.
+ Continue? [y/n/? shows all options] (y): y
+ (1/2) Removing apache2-2.4.10-19.1 ........................................................................[done]
+ (2/2) Removing apache2-prefork-2.4.10-19.1 ................................................................[done]
+
+#### 使用Zypper 进行软件包更新 ####
+
+33. 更新所有的软件包,可以使用 ‘zypper update‘ 或者 ‘zypper up‘。
+
+ %> zypper up
+ 或者
+ %> zypper update
+
+ Loading repository data...
+ Reading installed packages...
+ Nothing to do.
+
+34. 更新指定的软件包,例如更新 apache2 以及 openssh。
+
+ zypper up apache2 openssh
+ Loading repository data...
+ Reading installed packages...
+ No update candidate for 'apache2-2.4.10-19.1.x86_64'. The highest available version is already installed.
+ No update candidate for 'openssh-6.6p1-5.1.3.x86_64'. The highest available version is already installed.
+ Resolving package dependencies...
+
+ Nothing to do.
+
+35. 安装一个软件库,例如 ariadb,如果该库存在则更新之。
+
+ %> zypper in mariadb
+ Loading repository data...
+ Reading installed packages...
+ 'mariadb' is already installed.
+ No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
+ Resolving package dependencies...
+
+ Nothing to do.
+
+#### 安装源文件并且构建依赖关系 ####
+
+命令 ‘zypper source-install‘ 或者 ‘zypper si‘ 可以用于从源文件编译软件包
+
+36. 安装某一个软件包的源文件及其依赖关系,例如 mariadb。
+
+ %> zypper si mariadb
+ Reading installed packages...
+ Loading repository data...
+ Resolving package dependencies...
+
+ The following 36 NEW packages are going to be installed:
+ autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10
+ libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel
+
+ The following source package is going to be installed:
+ mariadb
+
+ 36 new packages to install, 1 source package.
+ Overall download size: 71.5 MiB. Already cached: 129.5 KiB After the operation, additional 183.9 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+
+37. 仅为某一个软件包安装源文件,例如 mariadb
+
+ %> zypper in -D mariadb
+ Loading repository data...
+ Reading installed packages...
+ 'mariadb' is already installed.
+ No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
+ Resolving package dependencies...
+
+ Nothing to do.
+
+38. 仅为某一个软件包安装依赖关系,例如 mariadb
+
+ %> zypper si -d mariadb
+ Reading installed packages...
+ Loading repository data...
+ Resolving package dependencies...
+
+ The following 36 NEW packages are going to be installed:
+ autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10
+ libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel
+
+ The following package is recommended, but will not be installed due to conflicts or dependency issues:
+ readline-doc
+
+ 36 new packages to install.
+ Overall download size: 33.7 MiB. Already cached: 129.5 KiB After the operation, additional 144.3 MiB will be used.
+ Continue? [y/n/? shows all options] (y): y
+
+#### Zypper in Scripts and Applications ####
+
+39. 安装一个软件包,并且在安装过程中跳过与用户的交互, 例如 mariadb。
+
+ %> zypper --non-interactive in mariadb
+ Loading repository data...
+ Reading installed packages...
+ 'mariadb' is already installed.
+ No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
+ Resolving package dependencies...
+
+ Nothing to do.
+
+40. 卸载一个软件包,并且在卸载过程中跳过与用户的交互,例如 mariadb
+
+ %> zypper --non-interactive rm mariadb
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ The following package is going to be REMOVED:
+ mariadb
+
+ 1 package to remove.
+ After the operation, 71.8 MiB will be freed.
+ Continue? [y/n/? shows all options] (y): y
+ (1/1) Removing mariadb-10.0.13-2.6.1 .............................................................................[done]
+
+41. 将 zypper 输出用 XML 格式打印。
+
+ %> zypper --xmlout
+ Usage:
+ zypper [--global-options] [--command-options] [arguments]
+
+ Global Options
+ ....
+
+42. 禁止详细信息输出到屏幕。
+
+ %> zypper --quiet in mariadb
+ The following NEW package is going to be installed:
+ mariadb
+
+ 1 new package to install.
+ Overall download size: 0 B. Already cached: 7.8 MiB After the operation, additional 71.8 MiB will be used.
+ Continue? [y/n/? shows all options] (y):
+ ...
+
+43. 在卸载过程中禁止详细信息输出到屏幕
+
+ %> zypper --quiet rm mariadb
+
+44. 自动地同意版权或者协议。
+ %> zypper patch --auto-agree-with-licenses
+ Loading repository data...
+ Reading installed packages...
+ Resolving package dependencies...
+
+ Nothing to do.
+
+#### 清除 Zypper 缓存以及查看历史信息 ####
+
+45. 以下指令可以用来清理Zypper缓存。
+
+ %> zypper clean
+ All repositories have been cleaned up.
+
+如果需要一次性地清理元数据以及软件包缓存,可以通过 -all/-a 选项来达到目的
+
+ %> zypper clean -a
+ All repositories have been cleaned up.
+
+46. 查看 Zypper 的历史信息。籍由 Zypper 所有的软件包管理动作,包括安装、更新以及卸载都会在 /var/log/zypp/history中保留历史信息。可以通过 cat 来查看此文件,或者通过过滤器来筛选希望看到的信息。
+
+ cat /var/log/zypp/history
+ 2015-05-07 15:43:03|install|boost-license1_54_0|1.54.0-10.1.3|noarch||openSUSE-13.2-0|0523b909d2aae5239f9841316dafaf3a37b4f096|
+ 2015-05-07 15:43:03|install|branding-openSUSE|13.2-3.6.1|noarch||openSUSE-13.2-0|6609def94b1987bf3f90a9467f4f7ab8f8d98a5c|
+ 2015-05-07 15:43:03|install|bundle-lang-common-en|13.2-3.3.1|noarch||openSUSE-13.2-0|ca55694e6fdebee6ce37ac7cf3725e2aa6edc342|
+ 2015-05-07 15:43:03|install|insserv-compat|0.1-12.2.2|noarch||openSUSE-13.2-0|6160de7fbf961a279591a83a1550093a581214d9|
+ 2015-05-07 15:43:03|install|libX11-data|1.6.2-5.1.2|noarch||openSUSE-13.2-0|f1cb58364ba9016c1f93b1a383ba12463c56885a|
+ 2015-05-07 15:43:03|install|libnl-config|3.2.25-2.1.2|noarch||openSUSE-13.2-0|aab2ded312a781e93b739b418e3d32fe4e187020|
+ 2015-05-07 15:43:04|install|wireless-regdb|2014.06.13-1.2|noarch||openSUSE-13.2-0|be8cb16f3e92af12b5ceb977e37e13f03c007bd1|
+ 2015-05-07 15:43:04|install|yast2-trans-en_US|3.1.0-2.1|noarch||openSUSE-13.2-0|1865754e5e0ec3c149ac850b340bcca55a3c404d|
+ 2015-05-07 15:43:04|install|yast2-trans-stats|2.19.0-16.1.3|noarch||openSUSE-13.2-0|b107d2b3e702835885b57b04d12d25539f262d1a|
+ 2015-05-07 15:43:04|install|cracklib-dict-full|2.8.12-64.1.2|x86_64||openSUSE-13.2-0|08bd45dbba7ad44e3a4837f730be76f55ad5dcfa|
+ ......
+
+#### 使用 Zypper 进行SUSE系统升级 ####
+
+47. 可以使用 Zypper 命令的 'dist-upgrade' 选项来将当前的SUSE Linux升级至最新版本。
+ # zypper dist-upgrade
+ You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
+ Building repository 'openSUSE-13.2-0' cache .....................................................................[done]
+ Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
+ Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
+ Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ..........................................................[done]
+ Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]
+
+正文至此结束。希望本文可以帮助读者尤其是新手们管理SUSE Linux系统和服务器。如果您觉得某些比较重要的命令被作者漏掉了,请在评论部分写下您的返回,作者将根据评论对文章进行更新。保持联络,保持评论,多谢支持。
+
+--------------------------------------------------------------------------------
+
+原文地址: http://www.tecmint.com/zypper-commands-to-manage-suse-linux-package-management/
+
+作者:[Avishek Kumar][a]
+译者:[张博约](https://github.com/zhangboyue)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://www.tecmint.com/author/avishek/
+[1]:http://www.tecmint.com/installation-of-suse-linux-enterprise-server-12/
diff --git a/translated/tech/20150518 70 Expected Shell Scripting Interview Questions and Answers.md b/translated/tech/20150518 70 Expected Shell Scripting Interview Questions and Answers.md
new file mode 100644
index 0000000000..b5ccd63e0a
--- /dev/null
+++ b/translated/tech/20150518 70 Expected Shell Scripting Interview Questions and Answers.md
@@ -0,0 +1,399 @@
+70 个可能的 Shell 脚本面试问题及解答
+================================================================================
+我们为你的面试准备选择了 70 个可能的 shell 脚面问题及解答。了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务。在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能。
+
+### 1) 如何向脚本传递参数 ? ###
+
+./script argument
+
+**例子** : 显示文件名称脚本
+
+./show.sh file1.txt
+
+ cat show.sh
+ #!/bin/bash
+ cat $1
+
+### 2) 如何在脚本中使用参数 ? ###
+
+第一个参数: $1,
+第二个参数 : $2
+
+例子 : 脚本会复制文件(arg1) 到目标地址(arg2)
+
+./copy.sh file1.txt /tmp/
+
+ cat copy.sh
+ #!/bin/bash
+ cp $1 $2
+
+### 3) 如何计算传递进来的参数 ? ###
+
+$#
+
+### 4) 如何在脚本中获取脚本名称 ? ###
+
+$0
+
+### 5) 如何检查之前的命令是否运行成功 ? ###
+
+$?
+
+### 6) 如何获取文件的最后一行 ? ###
+
+tail -1
+
+### 7) 如何获取文件的第一行 ? ###
+
+head -1
+
+### 8) 如何获取一个文件每一行的第三个元素 ? ###
+
+awk '{print $3}'
+
+### 9) 假如第一个等于 FIND,如何获取文件中每行的第二个元素 ###
+
+awk '{ if ($1 == "FIND") print $2}'
+
+### 10) 如何调试 bash 脚本 ###
+
+Add -xv to #!/bin/bash
+
+例子
+
+#!/bin/bash –xv
+
+### 11) 举例如何写一个函数 ? ###
+
+function example {
+echo "Hello world!"
+}
+
+### 12) 如何向 string 添加 string ? ###
+
+V1="Hello"
+V2="World"
+V3=$V1+$V2
+echo $V3
+
+Output
+
+Hello+World
+
+### 13) 如何进行两个整数相加 ? ###
+
+V1=1
+V2=2
+V3=$V1+$V2
+echo $V3
+
+Output
+3
+
+### 14) 如何检查文件系统中是否存在某个文件 ? ###
+
+if [ -f /var/log/messages ]
+then
+echo "File exists"
+fi
+
+### 15) 写出 shell 脚本中所有循环语法 ? ###
+
+#### for loop : ####
+
+for i in $( ls ); do
+echo item: $i
+done
+
+#### while loop : ####
+
+#!/bin/bash
+COUNTER=0
+while [ $COUNTER -lt 10 ]; do
+echo The counter is $COUNTER
+let COUNTER=COUNTER+1
+done
+
+#### untill oop : ####
+
+#!/bin/bash
+COUNTER=20
+until [ $COUNTER -lt 10 ]; do
+echo COUNTER $COUNTER
+let COUNTER-=1
+done
+
+### 16) 每个脚本开始的 #!/bin/sh 或 #!/bin/bash 表示什么意思 ? ###
+
+这一行说明要使用的 shell。#!/bin/bash 表示脚本使用 /bin/bash。对于 python 脚本,就是 #!/usr/bin/python
+
+### 17) 如何获取文本文件的第 10 行 ? ###
+
+head -10 file|tail -1
+
+### 18) bash 脚本文件的第一个符号是什么 ###
+
+#
+
+### 19) 命令:[ -z "" ] && echo 0 || echo 1 的输出是什么 ###
+
+0
+
+### 20) 命令 “export” 有什么用 ? ###
+
+使变量在子 shell 中公有
+
+### 21) 如何在后台运行脚本 ? ###
+
+在脚本后面添加 “&”
+
+### 22) "chmod 500 script" 做什么 ? ###
+
+使脚本所有者拥有可执行权限
+
+### 23) ">" 做什么 ? ###
+
+重定向输出流到文件或另一个流。
+
+### 24) & 和 && 有什么区别 ###
+
+& - 希望脚本在后台运行的时候使用它
+&& - 当第一个脚本成功完成才执行命令/脚本的时候使用它
+
+### 25) 什么时候要在 [ condition ] 之前使用 “if” ? ###
+
+当条件满足时需要运行多条命令的时候。
+
+### 26) 命令: name=John && echo 'My name is $name' 的输出是什么 ###
+
+My name is $name
+
+### 27) bash shell 脚本中哪个符号用于注释 ? ###
+
+#
+
+### 28) 命令: echo ${new:-variable} 的输出是什么 ###
+
+variable
+
+### 29) ' 和 " 引号有什么区别 ? ###
+
+' - 当我们不希望把变量转换为值的时候使用它。
+" - 会计算所有变量的值并用值代替。
+
+### 30) 如何在脚本文件中重定向标准输入输出流到 log.txt 文件 ? ###
+
+在脚本文件中添加 "exec >log.txt 2>&1" 命令
+
+### 31) 如何只用 echo 命令获取 string 变量的一部分 ? ###
+
+echo ${variable:x:y}
+x - 起始位置
+y - 长度
+例子:
+variable="My name is Petras, and I am developer."
+echo ${variable:11:6} # 会显示 Petras
+
+### 32) 如果给定字符串 variable="User:123:321:/home/dir" 如何只用 echo 命令获取 home_dir ? ###
+
+echo ${variable#*:*:*:}
+或
+echo ${variable##*:}
+
+### 33) 如何从上面的字符串中获取 “User” ? ###
+
+echo ${variable%:*:*:*}
+或
+echo ${variable%%:*}
+
+### 34) 如何使用 awk 列出 UID 小于 100 的用户 ? ###
+
+awk -F: '$3<100' /etc/passwd
+
+### 35) 写程序为用户计算主组数目并显示次数和组名 ###
+
+cat /etc/passwd|cut -d: -f4|sort|uniq -c|while read c g
+do
+{ echo $c; grep :$g: /etc/group|cut -d: -f1;}|xargs -n 2
+done
+
+### 36) 如何在 bash shell 中更改标注域分隔符为 ":" ? ###
+
+IFS=":"
+
+### 37) 如何获取变量长度 ? ###
+
+${#variable}
+
+### 38) 如何打印变量的最后 5 个字符 ? ###
+
+echo ${variable: -5}
+
+### 39) ${variable:-10} 和 ${variable: -10} 有什么区别? ###
+
+${variable:-10} - 如果之前没有给 variable 赋值则输出 10
+${variable: -10} - 输出 variable 的最后 10 个字符
+
+### 40) 如何只用 echo 命令替换字符串的一部分 ? ###
+
+echo ${variable//pattern/replacement}
+
+### 41) 哪个命令将命令替换为大写 ? ###
+
+tr '[:lower:]' '[:upper:]'
+
+### 42) 如何计算本地用户数目 ? ###
+
+wc -l /etc/passwd|cut -d" " -f1
+或者
+cat /etc/passwd|wc -l
+
+### 43) 不用 wc 命令如何计算字符串中的单词数目 ? ###
+
+set ${string}
+echo $#
+
+### 44) "export $variable" 或 "export variable" 哪个正确 ? ###
+
+export variable
+
+### 45) 如何列出第二个字母是 a 或 b 的文件 ? ###
+
+ls -d ?[ab]*
+
+### 46) 如何将整数 a 加到 b 并赋值给 c ? ###
+
+c=$((a+b))
+或
+c=`expr $a + $b`
+或
+c=`echo "$a+$b"|bc`
+
+### 47) 如何去除字符串中的所有空格 ? ###
+
+echo $string|tr -d " "
+
+### 48) 重写命令输出变量转换为复数的句子: item="car"; echo "I like $item" ? ###
+
+item="car"; echo "I like ${item}s"
+
+### 49) 写出输出数字 0 到 100 中 3 的倍数(0 3 6 9 …)的命令 ? ###
+
+for i in {0..100..3}; do echo $i; done
+或
+for (( i=0; i<=100; i=i+3 )); do echo "Welcome $i times"; done
+
+### 50) 如何打印传递给脚本的所有参数 ? ###
+
+echo $*
+或
+echo $@
+
+### 51) [ $a == $b ] 和 [ $a -eq $b ] 有什么区别 ###
+
+[ $a == $b ] - 用于字符串比较
+[ $a -eq $b ] - 用于数字比较
+
+### 52) = 和 == 有什么区别 ###
+
+= - 用于为变量复制
+== - 用于字符串比较
+
+### 53) 写出测试 $a 是否大于 12 的命令 ? ###
+
+[ $a -gt 12 ]
+
+### 54) 写出测试 $b 是否小于等于 12 的命令 ? ###
+
+[ $b -le 12 ]
+
+### 55) 如何检查字符串是否以字母 "abc" 开头 ? ###
+
+[[ $string == abc* ]]
+
+### 56) [[ $string == abc* ]] 和 [[ $string == "abc*" ]] 有什么区别 ###
+
+[[ $string == abc* ]] - 检查字符串是否以字母 abc 开头
+[[ $string == "abc* " ]] - 检查字符串是否完全等于 abc*
+
+### 57) 如何列出以 ab 或 xy 开头的用户名 ? ###
+
+egrep "^ab|^xy" /etc/passwd|cut -d: -f1
+
+### 58) bash 中 $! 表示什么意思 ? ###
+
+后台最近命令的 PID
+
+### 59) $? 表示什么意思 ? ###
+
+前台最近命令的结束状态
+
+### 60) 如何输出当前 shell 的 PID ? ###
+
+echo $$
+
+### 61) 如何获取传递给脚本的参数数目 ? ###
+
+echo $#
+
+### 62) $* 和 $@ 有什么区别 ###
+
+$* - 以一个字符串形式输出所有传递到脚本的参数
+$@ - 以 $IFS 为分隔符列出所有传递到脚本中的参数
+
+### 63) 如何在 bash 中定义数组 ? ###
+
+array=("Hi" "my" "name" "is")
+
+### 64) 如何打印数组的第一个元素 ? ###
+
+echo ${array[0]}
+
+### 65) 如何打印数组的所有元素 ? ###
+
+echo ${array[@]}
+
+### 66) 如何输出所有数组索引 ? ###
+
+echo ${!array[@]}
+
+### 67) 如何移除数组中索引为 2 的元素 ? ###
+
+unset array[2]
+
+### 68) 如何在数组中添加 id 为 333 的元素 ? ###
+
+array[333]="New_element"
+
+### 69) shell 脚本如何获取输入的值 ? ###
+
+a) 通过参数
+
+./script param1 param2
+
+b) 通过 read 命令
+
+read -p "Destination backup Server : " desthost
+
+### 70) 在脚本中如何使用 "expect" ? ###
+
+/usr/bin/expect << EOD
+spawn rsync -ar ${line} ${desthost}:${destpath}
+expect "*?assword:*"
+send "${password}\r"
+expect eof
+EOD
+
+好运 !! 如果你有任何疑问或者问题需要解答都可以在下面的评论框中写下来。让我们知道这对你的面试有所帮助:-)
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-shell-script/shell-scripting-interview-questions-answers/
+
+作者:[Petras Liumparas][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/petrasl/
\ No newline at end of file
diff --git a/translated/tech/20150518 Linux FAQs with Answers--How to fix '404 Not Found' error with 'apt-get update' on old Ubuntu.md b/translated/tech/20150518 Linux FAQs with Answers--How to fix '404 Not Found' error with 'apt-get update' on old Ubuntu.md
new file mode 100644
index 0000000000..9880f7953f
--- /dev/null
+++ b/translated/tech/20150518 Linux FAQs with Answers--How to fix '404 Not Found' error with 'apt-get update' on old Ubuntu.md
@@ -0,0 +1,45 @@
+Linux有问必答——在旧的Ubuntu上如何修复“apt-get update”的“404 Not Found”错误
+================================================================================
+> **问题**: 我的PC上安装了旧版的Ubuntu 13.04(急切的浣熊)。当我在上面运行“sudo apt-get update”时,它丢给了我一大堆“404 Not Found”错误,结果是我不能使用apt-get或aptitude来安装或更新任何软件包了。由于该错误的原因,我甚至不能将它升级到更新的版本。我怎样才能修复这个问题啊?
+>
+
+
+每个Ubuntu版本都有生命结束周期(EOL)时间;常规的Ubuntu发行版提供18个月的支持,而LTS(长期支持)版本则长达3年(服务器版本)和5年(桌面版本)。当某个Ubuntu版本达到生命结束周期时,其仓库就不能再访问了,你也不能再从Canonical获取任何维护更新和安全补丁。在撰写本文时,Ubuntu 13.04(急切的浣熊)已经达到了它的生命结束周期。
+
+如果你所使用的Ubuntu系统已经被结束生命周期,你就会从apt-get或aptitude得到以下404错误,因为它的仓库已经被遗弃了。
+
+ W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/multiverse/binary-i386/Packages 404 Not Found [IP: 91.189.91.13 80]
+
+ W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/main/binary-amd64/Packages 404 Not Found
+
+ W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/binary-i386/Packages 404 Not Found [IP: 91.189.88.149 80]
+
+ E: Some index files failed to download. They have been ignored, or old ones used instead
+
+对于那些还在使用旧版本Ubuntu的用户,Canonical维护了一个old-releases.ubuntu.com的网站,这里包含了结束生命周期的仓库归档。因此,当Canonical对你安装的Ubuntu版本结束支持时,你需要将仓库切换到old-releases.ubuntu.com(除非你在结束生命周期之前想要升级)。
+
+这里,通过切换到旧版本仓库提供了一个快速修复“404 Not Found”错误的便捷方式。
+
+首先,使用旧版本仓库替换main/security仓库,就像下面这样。
+
+ $ sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
+ $ sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
+
+然后,使用文本编辑器打开/etc/apt/sources.list,并查找extras.ubuntu.com。该仓库也不再支持Ubuntu 13.04了,所以你需要使用“#”号将extras.ubuntu.com注释掉。
+
+ #deb http://extras.ubuntu.com/ubuntu raring main
+ #deb-src http://extras.ubuntu.com/ubuntu raring main
+
+现在,你应该可以在旧版不受支持的Ubuntu上安装或更新软件包了。
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/404-not-found-error-apt-get-update-ubuntu.html
+
+作者:[Dan Nanni][a]
+译者:[GOLinux](https://github.com/GOLinux)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
diff --git a/translated/tech/20150518 Linux FAQs with Answers--How to fix 'Encountered a section with no Package--header' error on Raspbian.md b/translated/tech/20150518 Linux FAQs with Answers--How to fix 'Encountered a section with no Package--header' error on Raspbian.md
new file mode 100644
index 0000000000..54e0f393d1
--- /dev/null
+++ b/translated/tech/20150518 Linux FAQs with Answers--How to fix 'Encountered a section with no Package--header' error on Raspbian.md
@@ -0,0 +1,31 @@
+Linux 有问必答--如何修复 Raspbian 上的 “Encountered a section with no Package: header” 错误
+================================================================================
+> **问题**: 我在 Raspberry Pi 上安装新版的 Rasbian。但当我使用 sudo apt-get update 命令更新 APT 软件包索引的时候,它抛出下面的错误:
+
+ E: Encountered a section with no Package: header
+ E: Problem with MergeList /var/lib/dpkg/status
+ E: The package lists or status file could not be parsed or opened.
+
+> 之后我不能在 Raspbian 上安装任何软件包。我怎样才能解决这个错误?
+
+
+
+错误说 "Problem with MergeList /var/lib/dpkg/status" 表示由于某些原因状态文件损坏了,因此无法解释。这个状态文件包括了已经安装的 deb 软件包的信息,因此需要小心备份。
+
+在这种情况下,由于这是新安装的 Raspbian,你可以安全地删除状态文件,然后用下面的命令重新生成。
+
+ $ sudo rm /var/lib/dpkg/status
+ $ sudo touch /var/lib/dpkg/status
+ $ sudo apt-get update
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/encountered-section-with-no-package-header-error.html
+
+作者:[Dan Nanni][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
\ No newline at end of file
diff --git a/translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md b/translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md
new file mode 100644
index 0000000000..0e2d0ab54c
--- /dev/null
+++ b/translated/tech/20150518 Linux FAQs with Answers--How to fix 'fatal error--security or pam_modules.h--No such file or directory'.md
@@ -0,0 +1,33 @@
+Linux 有问必答--如何修复 “fatal error: security/pam_modules.h: No such file or directory”
+================================================================================
+> **问题**: 我尝试在 [插入你的 Linux 发行版] 上编译程序,但是出现下面的编译错误:
+>
+> "pam_otpw.c:27:34: fatal error: security/pam_modules.h: No such file or directory"
+>
+> 我怎样才能修复这个错误?
+
+缺失的头文件 'security/pam_modules.h' 是 libpam 开发版的一部分,一个 PAM(Pluggable Authentication Modules:插入式验证模块)库。因此要修复这个错误,你需要安装 libpam 开发包,如下所示。
+
+对于 Debian、 Ubuntu 或者 Linux Mint:
+
+ $ sudo apt-get install libpam0g-dev
+
+对与 CentOS、 Fedora 或者 RHEL:
+
+ $ sudo yum install gcc pam-devel
+
+现在验证缺失的头文件是否安装到了 /usr/include/security。
+
+
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/fatal-error-security-pam-modules.html
+
+作者:[Dan Nanni][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
\ No newline at end of file
diff --git a/translated/tech/20150518 Linux FAQs with Answers--How to view threads of a process on Linux.md b/translated/tech/20150518 Linux FAQs with Answers--How to view threads of a process on Linux.md
new file mode 100644
index 0000000000..a91a2b3ed3
--- /dev/null
+++ b/translated/tech/20150518 Linux FAQs with Answers--How to view threads of a process on Linux.md
@@ -0,0 +1,57 @@
+Linux有问必答——Linux上如何查看某个进程的线程
+================================================================================
+> **问题**: 我的程序创建并在它里头执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。
+
+线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量花销IPC(进程间通信)频道。这些功能让线程在并发执行时成为一个高效的机制。
+
+在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内核调度器而言,线程不过是恰好共享特定资源的标准的进程。经典的命令行工具,如ps或top,都可以用来显示线程级别的信息,默认情况下它们会显示进程级别的信息。
+
+这里提供了**在Linux上显示某个进程的线程**的几种方式。
+
+### 方法一:PS ###
+
+在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。
+
+ $ ps -T -p
+
+
+
+“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。
+
+### 方法二: Top ###
+
+top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
+
+ $ top -H
+
+
+
+要让top输出某个特定进程并检查该进程内运行的线程状况:
+
+ $ top -H -p
+
+
+
+### 方法三: Htop ###
+
+一个对用户更加友好的方式是,通过htop查看单个进程的线程,它是一个基于ncurses的交互进程查看器。该程序允许你在树状视图中监控单个独立线程。
+
+要在htop中启用线程查看,请开启htop,然后按来进入htop的设置菜单。选择“设置”栏下面的“显示选项”,然后开启“树状视图”和“显示自定义线程名”选项。按退出设置。
+
+
+
+现在,你就会看到下面这样单个进程的线程视图。
+
+
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/view-threads-process-linux.html
+
+作者:[Dan Nanni][a]
+译者:[GOLinux](https://github.com/GOLinux)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
diff --git a/translated/tech/20150518 Linux FAQs with Answers--What is the Apache error log location on Linux.md b/translated/tech/20150518 Linux FAQs with Answers--What is the Apache error log location on Linux.md
new file mode 100644
index 0000000000..c43ac481e7
--- /dev/null
+++ b/translated/tech/20150518 Linux FAQs with Answers--What is the Apache error log location on Linux.md
@@ -0,0 +1,81 @@
+Linux有问必答——Linux上Apache错误日志的位置在哪里?
+================================================================================
+> **问题**: 我尝试着解决我 Linux 系统上的 Apache 网络服务器的错误,Apache的错误日志文件放在[你的 Linux 版本]的哪个位置呢?
+
+错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为网络服务器排障,[保护][1]系统不受各种各样的恶意活动侵犯,或者只是进行[各种各样的][2][分析][3]以监控 HTTP 服务器。根据你网络服务器配置的不同,其错误/访问日志可能放在你系统中不同位置。
+
+本文可以帮助你**找到Linux上的Apache错误日志**。
+
+
+
+### Debian,Ubuntu或Linux Mint上的Apache错误日志位置 ###
+
+#### 默认的错误日志 ####
+
+在基于Debian的Linux上,系统范围的Apache错误日志默认位置是**/var/log/apache2/error.log**。默认位置可以通过编辑Apache的配置文件进行修改。
+
+#### 自定义的错误日志 ####
+
+要找到自定义的错误日志位置,请用文本编辑器打开 /etc/apache2/apache2.conf,然后查找以 ErrorLog 开头的行,该行指定了自定义的 Apache 错误日志文件的位置。例如,在未经修改的 Apache 配置文件中可以找到以下行:
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+
+在本例中,该位置使用 APACHE_LOG_DIR 环境变量进行配置,该变量在 /etc/apache2/envvars 中已被定义。
+
+ export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
+
+在实际情况中, ErrorLog 可能会指向你 Linux 系统中任意路径。
+
+#### 使用虚拟主机自定义的错误日志 ####
+
+如果在 Apache 网络服务器中使用了虚拟主机, ErrorLog 指令可能会在虚拟主机容器内指定,在这种情况下,上面所说的系统范围的错误日志位置将被忽略。
+
+启用了虚拟主机后,各个虚拟主机可以定义其自身的自定义错误日志位置。要找出某个特定虚拟主机的错误日志位置,你可以打开 /etc/apache2/sites-enabled/.conf,然后查找 ErrorLog 指令,该指令会显示站点指定的错误日志文件。
+
+### CentOS,Fedora或RHEL上的Apache错误日志位置 ###
+
+#### 默认的错误日志 ####
+
+在基于 Red Hat 的Linux中,系统范围的 Apache 错误日志文件默认被放置在**/var/log/httpd/error_log**。该默认位置可以通过修改 Apache 配置文件进行自定义。
+
+#### 自定义的错误日志 ####
+
+要找出 Apache 错误日志的自定义位置,请用文本编辑器打开 /etc/httpd/conf/httpd.conf,然后查找 ServerRoot,该参数显示了 Apache 服务器目录树的顶层,日志文件和配置都位于该目录树中。例如:
+
+ ServerRoot "/etc/httpd"
+
+现在,查找 ErrorLog 开头的行,该行指出了 Apache 网络服务器将错误日志写到了哪里去。注意,指定的位置是 ServerRoot 值的相对位置。例如:
+
+ ErrorLog "log/error_log"
+
+结合上面的两个指令,可以获得完整的错误日志路径,默认情况下该路径就是 /etc/httpd/logs/error_log。在全新安装的Apache中,这是一个到 /var/log/httpd/error_log 的符号链接。
+
+在实际情况中, ErrorLog 可能指向你 Linux 系统中的任意位置。
+
+#### 使用虚拟主机自定义的错误日志 ####
+
+如果你启用了虚拟主机,你可以通过检查 /etc/httpd/conf/httpd.conf(或其它任何定义了虚拟主机的文件)来找到各个虚拟主机的错误日志位置。在独立的虚拟主机部分查找 ErrorLog。如,在下面的虚拟主机部分,错误日志的位置是 /var/www/xmodulo.com/logs/error_log。
+
+
+ ServerAdmin webmaster@xmodulo.com
+ DocumentRoot /var/www/xmodulo.com/public_html
+ ServerName www.xmodulo.com
+ ServerAlias xmodulo.com
+ ErrorLog /var/www/xmodulo.com/logs/error_log
+ CustomLog /var/www/xmodulo.com/logs/access_log
+
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/apache-error-log-location-linux.html
+
+作者:[Dan Nanni][a]
+译者:[GOLinux](https://github.com/GOLinux)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
+[1]:http://xmodulo.com/configure-fail2ban-apache-http-server.html
+[2]:http://xmodulo.com/interactive-apache-web-server-log-analyzer-linux.html
+[3]:http://xmodulo.com/sql-queries-apache-log-files-linux.html
diff --git a/translated/tech/20150520 How to Use tmpfs on RHEL or CentOS 7.0.md b/translated/tech/20150520 How to Use tmpfs on RHEL or CentOS 7.0.md
new file mode 100644
index 0000000000..7f3e37b3fe
--- /dev/null
+++ b/translated/tech/20150520 How to Use tmpfs on RHEL or CentOS 7.0.md
@@ -0,0 +1,64 @@
+如何在RHEL/CentOS 7.0中使用tmpfs
+================================================================================
+ 7中的tmpfs,这是一个将所有文件和文件夹写到虚拟内存中而不是实际写到磁盘中的虚拟文件系统。这意味中tmpfs中所有的内容都是临时的,在取消挂载、系统重启或者电源切断后内容都将会丢失。技术的角度上来说,tmpfs将搜有的内容放在内核内部缓存中并且会增大或者缩小来容纳文件并可从交换空间中交换处不需要的页。
+
+CentOS默认使用tmpfs做的事可用df -h命令的输出来看:
+
+ # df –h
+
+
+
+/dev - 含有针对所有设备的设备文件的目录
+/dev/shm – 包含共享内存分配
+/run - 用于系统日志
+/sys/fs/cgroup - 用于cgrpups, 一个针对特定进程限制、管制和审计资源利用的内核特性
+
+/tmp目录, 你可以用下面的两种方法来做到:
+
+### 使用systemctl来在/tmp中启用tmpfs ###
+
+你可以使用systemctl命令在tmp目录启用tmpfs, 首先用下面的命令来检查这个特性是否可用:
+
+ # systemctl is-enabled tmp.mount
+
+这会显示当先的状态,你可以使用下面的命令来启用它:
+
+ # systemctl enable tmp.mount
+
+
+
+这会控制/tmp目录并挂载tmpfs。
+
+### 手动挂载/tmp/文件系统 ###
+
+你可以在/etc/fstab中添加下面这行在/tmp挂载tmpfs。
+
+ tmpfs /tmp tmpfs size=512m 0 0
+
+接着运行这条命令
+
+ # mount –a
+
+
+
+这应该就会在df -h中显示tmpfs了,同样也会在你下次重启是会自动挂载。
+
+### 立即创建tmpfs ###
+
+如果由于一些原因,你写昂立即创建tmpfs,你可以使用下面的命令:
+
+ # mount -t tmpfs -o size=1G tmpfs /mnt/mytmpfs
+
+当然你可以在size选项中指定你希望的大小和希望的挂载点,只要记住是有效的目录就行了。
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/file-system/use-tmpfs-rhel-centos-7-0/
+
+作者:[Adrian Dinu][a]
+译者:[geekpi](https://github.com/geekpi)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/adriand/
diff --git a/translated/tech/20150520 How to compile and install wxWidgets on Ubuntu or Debian or Linux Mint.md b/translated/tech/20150520 How to compile and install wxWidgets on Ubuntu or Debian or Linux Mint.md
new file mode 100644
index 0000000000..1f733207f3
--- /dev/null
+++ b/translated/tech/20150520 How to compile and install wxWidgets on Ubuntu or Debian or Linux Mint.md
@@ -0,0 +1,167 @@
+如何在Ubuntu/Debian/Linux Mint中编译和安装wxWidgets
+================================================================================
+### wxWidgets ###
+
+wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、Linux中使用相同的代码跨平台开发。
+
+它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、Ruby。
+
+本教程中我将向你展示如何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidgets 3.0+。
+
+从源码编译wxWidgets并不困难,仅仅需要几分钟。
+
+库可以按不同的方式来编译,比如静态或者动态库。
+
+### 1. 下载 wxWidgets ###
+
+第一步你需要从[wxwidgets.org][1]下载wxWidgets源码文件。
+
+做完后,解压到目录。
+
+### 2. 设置编译环境 ###
+
+要编译wxwidgets,我们需要一些工具包括C++编译器, 在Linux上是g++。所有这些可以通过apt-get工具从仓库中安装。
+
+我们还需要wxWidgets依赖的GTK开发库。
+
+ $ sudo apt-get install libgtk-3-dev build-essential checkinstall
+
+>checkinstall工具允许我们为wxwidgets创建一个安装包,这样之后就可以轻松的使用包管理器来卸载。
+
+### 3. 编译 wxWidgets ###
+
+进入到wxWidgets解压后的目录。为了保持清洁,创建一个编译用的目录。
+
+ $ mkdir gtk-build
+ $ cd gtk-build/
+
+现在运行configure和make命令。每个将花费一些时间来完成。
+
+ $ ../configure --disable-shared --enable-unicode
+ $ make
+
+"--disable-shared"选项将会编译静态库而不是动态库。
+
+make命令完成后,编译也成功了。是时候安装wxWidgets到正确的目录。
+
+更多信息请参考install.txt和readme.txt,这可在wxwidgets中的/docs/gtk/目录下找到。
+
+### 4. 安装 checkinstall ###
+
+现在我们不使用"make install"命令,我们使用checkinstall命令来创建一个wxwidgets的deb安装包。运行命令:
+
+ $ sudo checkinstall
+
+checkinstall会询问几个问题,请保证在提问后提供一个版本号,否则将会失败。
+
+完成这一切后,wxWidgets就安装好了,deb文件也会创建在相同的目录下。
+
+### 5. 追踪安装的文件 ###
+
+如果你想要检查文件安装的位置,使用dpkg命令后面跟上checkinstall提供的报名。
+
+ $ dpkg -L package_name
+ /.
+ /usr
+ /usr/local
+ /usr/local/lib
+ /usr/local/lib/libwx_baseu-3.0.a
+ /usr/local/lib/libwx_gtk3u_propgrid-3.0.a
+ /usr/local/lib/libwx_gtk3u_html-3.0.a
+ /usr/local/lib/libwxscintilla-3.0.a
+ /usr/local/lib/libwx_gtk3u_ribbon-3.0.a
+ /usr/local/lib/libwx_gtk3u_stc-3.0.a
+ /usr/local/lib/libwx_gtk3u_qa-3.0.a
+ /usr/local/lib/libwx_baseu_net-3.0.a
+ /usr/local/lib/libwxtiff-3.0.a
+
+### 6. 编译示例 ###
+
+编译wxWidgets完成后就可以马上编译示例程序了。在相同的目录下,一个新的sample目录已经创建了。
+
+进入它并运行下面的命令
+
+ $ compile samples
+ $ cd samples/
+ $ make
+
+make命令完成后,进入sampl子目录,这里就有一个可以马上运行的Demo程序了。
+
+### 7. 编译你的第一个程序 ###
+
+你完成编译demo程序后,可以写你自己的程序来编译了。这个也很简单。
+
+假设你用的是C++这样你可以使用编辑器的高亮特性。比如gedit、kate、kwrite等等。或者用全功能的IDE像Geany、Codelite、Codeblocks等等。
+
+然而你的第一个程序只需要用一个文本编辑器来快速完成。
+
+这里就是
+
+ #include
+
+ class Simple : public wxFrame
+ {
+ public:
+ Simple(const wxString& title)
+ : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))
+ {
+ Centre();
+ }
+ };
+
+ class MyApp : public wxApp
+ {
+ public:
+ bool OnInit()
+ {
+ Simple *simple = new Simple(wxT("Simple"));
+ simple->Show(true);
+ return true;
+ }
+ };
+
+ wxIMPLEMENT_APP(MyApp);
+
+现在保存并用下面的命令编译。
+
+ # compile
+ $ g++ basic.cpp `wx-config --cxxflags --libs std` -o program
+
+ # run
+ $ ./program
+
+#### 和非标准的库一起编译 ####
+
+面展示的wx-config命令默认只支持标准的库。如果你使用的是Aui库,那么你需要指定额外用到的库。
+
+ $ g++ code.cpp `wx-config --cxxflags --libs std,aui` -o program
+
+更多的信息参考这里[这里][2]。
+
+### 资源 ###
+
+下载wxWidgets的源码和帮助
+[https://www.wxwidgets.org/downloads/][3]
+
+wxWidgets编译的wiki页面
+[https://wiki.wxwidgets.org/Compiling_and_getting_started][4]
+
+使用wxWidgets最新版本(3.0+)的事项
+[https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets][5]
+
+--------------------------------------------------------------------------------
+
+via: http://www.binarytides.com/install-wxwidgets-ubuntu/
+
+作者:[Silver Moon][a]
+译者:[geekpi](https://github.com/geekpi)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:https://plus.google.com/117145272367995638274/posts
+[1]:https://www.wxwidgets.org/downloads/
+[2]:https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets#The_wx-config_script
+[3]:https://www.wxwidgets.org/downloads/
+[4]:https://wiki.wxwidgets.org/Compiling_and_getting_started
+[5]:https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets
diff --git a/translated/tech/20150520 Shell Script to Backup Files or Directories Using rsync.md b/translated/tech/20150520 Shell Script to Backup Files or Directories Using rsync.md
new file mode 100644
index 0000000000..639e58ede9
--- /dev/null
+++ b/translated/tech/20150520 Shell Script to Backup Files or Directories Using rsync.md
@@ -0,0 +1,170 @@
+Shell脚本:使用rsync备份文件/目录
+================================================================================
+本文,我们带来了shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上。使用该脚本实施备份会是一个交互的方式,你需要提供远程备份服务器的主机名/ip地址和文件夹位置。我们保留了一个独立文件,在这个文件中你需要提供需要备份的文件/目录。我们添加了两个脚本,**第一个脚本**在每次拷贝完一个文件后询问密码(如果你启用了ssh验证密钥,那么就不会询问密码),而第二个脚本中,则只会提示一次输入密码。
+
+我们打算备份bckup.txt,dataconfig.txt,docs和orcledb。
+
+ [root@Fedora21 tmp]# ls -l
+ total 12
+ -rw-r--r--. 1 root root 0 May 15 10:43 bckrsync.sh
+ -rw-r--r--. 1 root root 0 May 15 10:44 bckup.txt
+ -rw-r--r--. 1 root root 0 May 15 10:46 dataconfig.txt
+ drwxr-xr-x. 2 root root 4096 May 15 10:45 docs
+ drwxr-xr-x. 2 root root 4096 May 15 10:44 oracledb
+
+该文件包含了备份文件/目录的详情
+
+ [root@Fedora21 tmp]# cat /tmp/bckup.txt
+ /tmp/oracledb
+ /tmp/dataconfig.txt
+ /tmp/docs
+ [root@Fedora21 tmp]#
+
+### 脚本 1: ###
+
+ #!/bin/bash
+
+ #We will save path to backup file in variable
+ backupf='/tmp/bckup.txt'
+
+ #Next line just prints message
+ echo "Shell Script Backup Your Files / Directories Using rsync"
+
+ #next line check if entered value is not null, and if null it will reask user to enter Destination Server
+ while [ x$desthost = "x" ]; do
+
+ #next line prints what userd should enter, and stores entered value to variable with name desthost
+ read -p "Destination backup Server : " desthost
+
+ #next line finishes while loop
+ done
+
+ #next line check if entered value is not null, and if null it will reask user to enter Destination Path
+ while [ x$destpath = "x" ]; do
+
+ #next line prints what userd should enter, and stores entered value to variable with name destpath
+ read -p "Destination Folder : " destpath
+
+ #next line finishes while loop
+ done
+
+ #Next line will start reading backup file line by line
+ for line in `cat $backupf`
+
+ #and on each line will execute next
+ do
+
+ #print message that file/dir will be copied
+ echo "Copying $line ... "
+ #copy via rsync file/dir to destination
+
+ rsync -ar "$line" "$desthost":"$destpath"
+
+ #this line just print done
+ echo "DONE"
+
+ #end of reading backup file
+ done
+
+#### 运行带有输出结果的脚本 ####
+
+ [root@Fedora21 tmp]# ./bckrsync.sh
+ Shell Script Backup Your Files / Directories Using rsync
+ Destination backup Server : 104.*.*.41
+ Destination Folder : /tmp
+ Copying /tmp/oracledb ...
+ The authenticity of host '104.*.*.41 (104.*.*.41)' can't be established.
+ ECDSA key fingerprint is 96:11:61:17:7f:fa:......
+ Are you sure you want to continue connecting (yes/no)? yes
+ Warning: Permanently added '104.*.*.41' (ECDSA) to the list of known hosts.
+ root@104.*.*.41's password:
+ DONE
+ Copying /tmp/dataconfig.txt ...
+ root@104.*.*.41's password:
+ DONE
+ Copying /tmp/docs ...
+ root@104.*.*.41's password:
+ DONE
+ [root@Fedora21 tmp]#
+
+### 脚本 2: ###
+
+ #!/bin/bash
+
+ #We will save path to backup file in variable
+ backupf='/tmp/bckup.txt'
+
+ #Next line just prints message
+ echo "Shell Script Backup Your Files / Directories Using rsync"
+
+ #next line check if entered value is not null, and if null it will reask user to enter Destination Server
+ while [ x$desthost = "x" ]; do
+
+ #next line prints what userd should enter, and stores entered value to variable with name desthost
+ read -p "Destination backup Server : " desthost
+
+ #next line finishes while loop
+ done
+
+ #next line check if entered value is not null, and if null it will reask user to enter Destination Path
+ while [ x$destpath = "x" ]; do
+
+ #next line prints what userd should enter, and stores entered value to variable with name destpath
+ read -p "Destination Folder : " destpath
+
+ #next line finishes while loop
+ done
+
+ #next line check if entered value is not null, and if null it will reask user to enter password
+ while [ x$password = "x" ]; do
+ #next line prints what userd should enter, and stores entered value to variable with name password. #To hide password we are using -s key
+ read -sp "Password : " password
+ #next line finishes while loop
+ done
+
+ #Next line will start reading backup file line by line
+ for line in `cat $backupf`
+
+ #and on each line will execute next
+ do
+
+ #print message that file/dir will be copied
+ echo "Copying $line ... "
+ #we will use expect tool to enter password inside script
+ /usr/bin/expect << EOD
+ #next line set timeout to -1, recommended to use
+ set timeout -1
+ #copy via rsync file/dir to destination, using part of expect — spawn command
+
+ spawn rsync -ar ${line} ${desthost}:${destpath}
+ #as result of previous command we expect “password” promtp
+ expect "*?assword:*"
+ #next command enters password from script
+ send "${password}\r"
+ #next command tells that we expect end of file (everything finished on remote server)
+ expect eof
+ #end of expect pard
+ EOD
+ #this line just print done
+ echo "DONE"
+
+ #end of reading backup file
+ done
+
+#### 运行第二个带有输出结果的脚本的屏幕截图 ####
+
+
+
+希望这些脚本对你备份会有帮助!!
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-shell-script/shell-script-backup-files-directories-rsync/
+
+作者:[Yevhen Duma][a]
+译者:[GOLinux](https://github.com/GOLinux)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/yevhend/
diff --git a/translated/tech/20150521 Linux FAQs with Answers--How to change system proxy settings from the command line on Ubuntu desktop.md b/translated/tech/20150521 Linux FAQs with Answers--How to change system proxy settings from the command line on Ubuntu desktop.md
new file mode 100644
index 0000000000..526de3549e
--- /dev/null
+++ b/translated/tech/20150521 Linux FAQs with Answers--How to change system proxy settings from the command line on Ubuntu desktop.md
@@ -0,0 +1,71 @@
+Linux 有问必答--如何在桌面版 Ubuntu 中用命令行更改系统代理设置
+================================================================================
+> **问题**: 我经常需要在桌面版 Ubuntu 中更改系统代理设置,但我不想通过繁琐的 GUI 菜单链:"系统设置" -> "网络" -> "网络代理"。在命令行中有更方便的方法更改桌面版的代理设置吗?
+
+在桌面版 Ubuntu 中,它的桌面环境设置,包括系统代理设置,都存储在 DConf 数据库,这是简单的键值对存储。如果你想通过系统设置菜单修改桌面属性,更改会持久保存在后端的 DConf 数据库。在 Ubuntu 中更改 DConf 数据库有基于图像用户界面和非图形用户界面的两种方式。系统设置或者 dconf-editor 是访问 DConf 数据库的图形方法,而 gsettings 或 dconf 就是能更改数据库的命令行工具。
+
+下面介绍如何用 gsettings 从命令行更改系统代理设置。
+
+
+
+gsetting 读写特定 Dconf 设置的基本用法如下:
+
+更改 DConf 设置:
+
+ $ gsettings set
+
+读取 DConf 设置:
+
+ $ gsettings get
+
+### 通过命令行更改系统代理设置为手动 ###
+
+桌面版 Ubuntu 中下面的命令会更改 HTTP 代理设置为 "my.proxy.com:8000"。
+
+ $ gsettings set org.gnome.system.proxy.http host 'my.proxy.com'
+ $ gsettings set org.gnome.system.proxy.http port 8000
+ $ gsettings set org.gnome.system.proxy mode 'manual'
+
+如果你还想更改 HTTPS/FTP 代理为手动,用这些命令:
+
+ $ gsettings set org.gnome.system.proxy.https host 'my.proxy.com'
+ $ gsettings set org.gnome.system.proxy.https port 8000
+ $ gsettings set org.gnome.system.proxy.ftp host 'my.proxy.com'
+ $ gsettings set org.gnome.system.proxy.ftp port 8000
+
+更改套接字主机设置为手动:
+
+ $ gsettings set org.gnome.system.proxy.socks host 'my.proxy.com'
+ $ gsettings set org.gnome.system.proxy.socks port 8000
+
+上面的更改都只适用于当前的桌面用户。如果你想在系统范围内使用代理设置更改,在 gsettings 命令面前添加 sudo。例如:
+
+ $ sudo gsettings set org.gnome.system.proxy.http host 'my.proxy.com'
+ $ sudo gsettings set org.gnome.system.proxy.http port 8000
+ $ sudo gsettings set org.gnome.system.proxy mode 'manual'
+
+### 在命令行中更改系统代理设置为自动 ###
+
+如果你正在使用 [自动配置代理][1] (proxy auto configuration,PAC),输入以下命令更改为 PAC。
+
+ $ gsettings set org.gnome.system.proxy mode 'auto'
+ $ gsettings set org.gnome.system.proxy autoconfig-url http://my.proxy.com/autoproxy.pac
+
+### 在命令行中清除系统代理设置 ###
+
+最后,清除所有 手动/自动 代理设置,还原为无代理设置:
+
+ $ gsettings set org.gnome.system.proxy mode 'none'
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/change-system-proxy-settings-command-line-ubuntu-desktop.html
+
+作者:[Dan Nanni][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
+[1]:http://xmodulo.com/how-to-set-up-proxy-auto-config-on-ubuntu-desktop.html
\ No newline at end of file
diff --git a/translated/tech/20150521 Linux FAQs with Answers--How to install Unity Tweak Tool on Ubuntu desktop.md b/translated/tech/20150521 Linux FAQs with Answers--How to install Unity Tweak Tool on Ubuntu desktop.md
new file mode 100644
index 0000000000..def6860616
--- /dev/null
+++ b/translated/tech/20150521 Linux FAQs with Answers--How to install Unity Tweak Tool on Ubuntu desktop.md
@@ -0,0 +1,42 @@
+Linux 有问必答--如何在桌面版 Ubuntu 中安装 Unity Tweak Tool
+================================================================================
+> **问题**: 我试着给刚安装的桌面版 Ubuntu 自定制桌面。我想使用 Unity Tweak Tool。我怎样才能在 Ubuntu 上安装 Unity Tweak Tool 呢?
+
+[Unity Tweak Tool][1] 是个流行的 Unity 桌面自定制工具。顾名思义,该工具只适用于 Ubuntu 的默认桌面环境(例如,基于 Unity 的 GNOME 桌面)。这个多功能的工具允许你通过非常直观和简单易用的图形用户界面自定义多种 Unity 桌面特性。它的菜单看起来类似于 Ubuntu 的官方系统设置,但它的桌面自定制能力远远超过默认的系统设置。通过使用 Unity Tweak Tool,你可以自定制外观、行为以及很多桌面组件的配置,例如工作区、窗口、图标、主题、光标、字体、滑动、热键等等。如果你是 Unity 桌面用户,Unity Tweak Tool 一定是个必不可少的应用程序。
+
+
+
+尽管 Unity Tweak Tool 是桌面版 Ubuntu 的重要工具,并没有在桌面版 Ubuntu 中预安装。为了能自定制 Unity 桌面,下面介绍一下如何在桌面版 Ubuntu 中安装 Unity Tweak Tool。
+
+### 在 Ubuntu 13.04 或更高版本中安装 Unity Tweak Tool ###
+
+从 Ubuntu 13.04 开始, Ubuntu 的基础库中就有 Unity Tweak Tool 了。因此它的安装非常简单:
+
+ $ sudo apt-get install unity-tweak-tool
+
+启动 Unity Tweak Tool:
+
+ $ unity-tweak-tool
+
+如果你想使用最新版本的 Unity Tweak Tool,你可以从它的 PPA 中安装(如下所述)。
+
+### 在 Ubuntu 12.10 中安装 Unity Tweak Tool ###
+
+注意,Unity Tweak Tool 要求 Ubuntu 12.10 或更高的版本。如果你想着 Ubuntu 上安装它,你可以安装下面方法使用 PPA。当你想测试最新的开发版的时候这个 PPA 库也非常有用。
+
+ $ sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily
+ $ sudo apt-get update
+ $ sudo apt-get install unity-tweak-tool
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/install-unity-tweak-tool-ubuntu-desktop.html
+
+作者:[Dan Nanni][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
+[1]:https://launchpad.net/unity-tweak-tool
\ No newline at end of file