分类目录归档:CentOS

CentOS

如何解决SSH远程执行命令找不到环境变量的问题

通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题。但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的。两种相似的方法,得到的结果却截然不同,看起来很诡异的现象,根本原因在于这两种方式使用的bash模式不同!

1. 通过SSH登录后再执行命令和脚本

这种方式会使用Bash的interactive + login shell模式,这里面有两个概念需要解释:interactive和login。

继续阅读如何解决SSH远程执行命令找不到环境变量的问题

如何解决sudo命令找不到环境变量的问题

在通过sudo运行命令时,系统会默认重置环境变量为安全的环境变量,也就是说,先前设置的变量都会失效,只有少数配置文件中指定的环境变量能够保存下来。

sudo的配置文件是/etc/sudoers,需要root权限才能读取,运行以下命令:

  1. sudo sed '/^#/d;/^$/d' /etc/sudoers

继续阅读如何解决sudo命令找不到环境变量的问题

如何在CentOS/RHEL上设置SSH免密码登录

作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A 能自动登录到主机 B。自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码。

本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。

继续阅读如何在CentOS/RHEL上设置SSH免密码登录

从头构建Linux系统之五 —— 构建一个临时系统

本章将会详述如何构建一个最小化的Linux系统。这个系统只会包含足够用于构建最终LFS系统(第6章的内容)的工具,并且它能提供的工作环境比最小化环境要便利得多。

构建这个最小化系统需要两个步骤。第一步,编译一个新的、不依赖于宿主机的工具链(编译器、汇编器、连接器和程序库,以及一些实用工具)。第二步,使用上述的工具链编译其他的重要工具。

继续阅读从头构建Linux系统之五 —— 构建一个临时系统

从头构建Linux系统之四 —— 构建临时系统之前的最终准备

在构建临时系统之前,还需要做一些最终的准备。本章会在$LFS目录中创建一个目录,用于安装临时工具链;然后创建一个专用于编译LFS系统的无特权用户,这样便能减少宿主机系统的风险;最后为上述用户创建一个合适的编译环境。本章还会介绍用于测量LFS各个源码包的编译时间的时间单位,也被称为SBU(Standard Build Unit,标准构建单位)。除此之外,本章还会简单介绍LFS源码包的测试套件。

一、创建临时工具目录

继续阅读从头构建Linux系统之四 —— 构建临时系统之前的最终准备

从头构建Linux系统之三 —— 下载源码包和补丁

本章将会下载所有用于编译基本Linux系统的必要源码包和补丁,此处列出的源码包版本适用于本系列教程的操作步骤,不推荐使用其他版本的源码包!

某些源码包的下载链接并不总是能够访问的,有的开源项目会在新版本发布的时候,就把旧版本的源码包删除(例如file开源项目)。如果碰到这种情况,那么也可以访问LFS项目的FTP站点(ftp://ftp.lfs-matrix.net/pub/lfs/lfs-packages/7.10/),在此处也可以下载本系列教程需要的所有源码包和补丁。

继续阅读从头构建Linux系统之三 —— 下载源码包和补丁

通过screen解决终端模拟器断开连接之后丢失会话的问题

当使用Xshell、putty、SecureCRT等终端模拟器远程连接至Linux服务器时,如果需要执行一个耗时很长的命令或脚本,在尚未执行完毕之前,客户端突然断开网络连接,或者终端模拟器发生死锁,此时客户端便会失去先前和Linux服务器建立的会话。由于不能实时查看脚本或命令的执行日志,因此也就很难判断它们的执行状态,应该如何解决这个问题呢?

继续阅读通过screen解决终端模拟器断开连接之后丢失会话的问题

从头构建Linux系统之二 —— 搭建宿主机系统

本章会描述如何搭建宿主机系统,大致分为以下三个步骤:

  • 首先,宿主机系统需要安装一些特定版本的工具才能正确编译LFS系统。
  • 然后,还需要创建若干个LFS系统专用的磁盘分区。
  • 最后,还需要在这些磁盘分区上创建相应的文件系统,然后再将这些文件系统挂载至宿主机系统。

继续阅读从头构建Linux系统之二 —— 搭建宿主机系统