Skip to main content

Posts

Showing posts from January 6, 2019

如何使用 Beamer 创建演示文稿 | Linux 中国

Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。 Beamer [1]  是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的  listings [2]  包。 创建演示文稿 要创建一个 Beamer 文档,输入: \documentclass { beamer } 与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用  listings  包,请输入: \usepackage { listings } 将所有内容放在  document  环境中: \begin { document } Beamer 文档通常时是一系列的  frame  环境。包含代码的  frame  应该被标记为  fragile : \begin { frame }[ fragile ] 使用标题开始你的  frame : \frametitle { Function to Do Stuff } 开始演示前测试你的代码 世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。 解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。 然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为  do_stuff.py  的文件,其中包含代码。你可以在第二个文件中编写  do_stuff.py  代码的测试,你可以将其命名为  test_do_stuff.py ,并且可以使用  pytest [3]  测试。但是, do_stuff.py  中的大多数行都缺乏教学价值,比如定义辅助函数。 要简化你受众看到的东西,你可在演示文稿中只导入你要讨论的行到 frame 中: \lstinputlisting [    language = Python ,    firstline = 8 ,    lastline = 15 ]{ do_stuff . py } 由于你会对这几行(从 8 到

在 Linux 中移除从源代码安装的程序的一种简单的方法 | Linux 中国

不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从源代码中安装一个程序的时候,这个软件包所包含的文件将会复制到本地的多个位置,例如  /usr/local/bin 、 /usr/local/etc/ 。如果从源代码中安装的程序没有内置的卸载程序,当你不再需要这个程序的时候,卸载它就会很麻烦。你可能会花费双倍(甚至更多)的时间找出这些文件然后手动删除它们。我以前一直是这样做的,直到我发现了 GNU Stow。谢天谢地,Stow 有一个很棒的方法可以轻松管理从源代码安装的程序。 引用官方网站里的一段介绍, GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。 简单来说,Stow 帮助你把这些程序文件以一种容易管理的方式组织在了一起。在这个方法中,文件将不会被复制到多个位置。所有的这些文件都会被保存在一个特定的文件夹中,通常是以程序名命名的,然后 Stow 会在一个合适的位置为所有的程序文件创建符号连接。比如  /usr/local/bin  中会包含  /usr/local/stow/vim/bin 、 /usr/local/stow/python/bin  中文件的符号链接。并且同样递归地用于其他的任何的子目录,例如  .../share 、 .../man ,等等。在这篇教程中,我将会举例教你如何轻松地使用 Stow 管理从源中安装的程序。 安装 GNU Stow GNU Stow 在流行 Linux 操作系统的默认库中都可用。 在 Arch Linux 及它的衍生版本中,运行下面的命令安装 Stow。 $ sudo pacman - S stow 在 Debian、Ubuntu、Linux Mint 上: $ sudo apt install stow 在 Fedora 上: $ sudo dnf install stow 在 RHEL/CentOS 上: $ sudo yum install epel - release $ sudo yum install stow 在 Linux 上轻松移除

如何使用 Ansible 管理你的工作站配置 | Linux 中国

在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。 配置管理是服务器管理和 DevOps 的一个非常重要的方面。“ 基础架构即代码 infrastructure as code ”方法可以轻松地以各种配置部署服务器,并动态扩展组织的资源以满足用户需求。但是,对于希望自动设置自己的笔记本电脑和台式机(工作站)的个人管理员的关注较少。 在本系列中,我将向你展示如何通过  Ansible [1]  自动化你的工作站设置,如果你想要或需要重新安装你的机器,这可以让你轻松恢复整个配置。此外,如果你有多个工作站,则可以使用相同的方法在每个工作站上进行相同的配置。在第一篇文章中,我们将为个人或工作计算机设置基本的配置管理,并为本系列的其余部分奠定基础。到本文结束时,你将会因此得到一个可以工作的环境。本系列之后的每篇文章都会自动化更多内容并增加复杂性。 为什么用 Ansible? 有许多配置管理解决方案,包括 Salt Stack、Chef 和 Puppet。我更喜欢 Ansible,因为它在资源利用方面更轻量级,语法更容易阅读,并且如果正确使用它可以彻底改变你的配置管理。Ansible 的轻量级特性与这个主题特别相关,因为我们可能不希望运行一整台服务器而只是为了自动化我们的笔记本电脑和台式机的设置。一般我们总是想要快一些;我们可以使用某些东西来快速启动和运行,以在我们需要恢复的工作站或在多台机器之间同步我们的配置。我使用 Ansible 的具体方法(我将在本文中演示)非常适用于此,而不需要维护服务器。你只需下载配置并运行它。 我的方法 通常,Ansible 运行于中央服务器。它使用一个 库存清单 inventory 文件,该文件是一个文本文件,其中包含我们希望 Ansible 管理的所有主机及其 IP 地址或域名的列表。这对于静态环境非常有用,但对于工作站来说并不理想。原因是我们真的不知道我们的工作站在某一时刻的状态。也许我关闭了台式电脑,或者笔记本电脑可能会被挂起并放在我的包里。在任何一种情况下,Ansible 服务器都会抱怨,因为如果它们处于脱机状态,Ansible 就无法联系到我的机器。我们更需要的是按需方式,我们通过利用  ansible-pull  来实现这一目标。 ansible-pull  命令是 An