[转载]Ubuntu环境变量——添加与删除

一、什么是环境变量?

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等[1]。因为一些参数可以被当做系统默认的设置,如此以来,在运行某个程序的时候就不需要再指定这些参数了。比如你总是使用某个程序,在命令行中使用时,每次运行这个程序你都要进入程序所在的目录启动程序。如果你将程序所在的目录加入环境变量后,运行程序时你只需要输入程序的名称,系统就会自动搜索到你程序的位置,而不会再出现command not found这样的问题了。

二、如何设置环境变量?

  • /etc/profile – 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录下的配置文件中搜集shell的设置
  • /etc/environment – 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量
  • /etc/bashrc – 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取;
  • ~/.profile – 每个用户都可以使用该文件输入专用于自己使用的shell信息,当用户登陆时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行用户的.bashrc文件;
  • ~/.bashrc – 该文件包含专用的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

认识了以上五个文件之后,我们设置环境变量的方法也就有了。

  • 方法一:直接修改/etc/environment文件,这样的方法是全局的,永久性的。
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • 方法二:修改/etc/profile文件,这种方法的作用域是全局的,永久性的。
    export PATH=$PATH:[your path0]:[your path1]:[...]

    这个文件不是保存环境变量信息的文件,在登陆时,系统只是根据它的内容对环境变量进行设置。

  • 方法三:修改/etc/bashrc或者~/.bashrc文件,这样的方法是非全局的,永久的
    这两个文件同样不是为了保存环境变量,只是在使用bash shell时进行设置而已,所以设置和方法二中一样:

    export PATH=$PATH:[your path0]:[your path1]:[...]

    对于/etc/bashrc文件,修改的作用于所有用户,但对于~/.bashrc文件,修改的仅仅作用于当前用户。

  • 方法四:修改~/.profile文件
    这种方法和修改/etc/profile本质上是一样的,这种只不过是仅仅修改了当前用户自己的配置文件。所以作用仅限于当前用户,但同样也是永久性的。
  • 方法五:在Terminal中使用export命令
    export PATH=$PATH:[your path0]:[your path1]:[...]

    这种方法是暂时性的,关闭终端这个设置也就失效了,而且作用仅仅限于当前终端,其他终端中这个设置不会起作用。

三、查看环境变量值

evn # 打印所以环境变量
echo $PATH # 打印$PATH环境变量

四、删除环境变量值

将上述方法中对配置文件的修改还原回去即可。另外,由于第五种方法由于是临时性且局部的,只要关闭这个Terminal就好了。

来源:http://beanocean.github.io/tool/2013/11/09/shell_environment_variable/

Gitlab Server Mail Setting

一、配置环境

Ubuntu + Gitlab + 腾讯企业邮箱

二、配置

配置文件:/etc/gitlab/gitlab.rb

### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'XXXXXX@XXXX.com'
gitlab_rails['gitlab_email_display_name'] = 'XXXXXX'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@XXXXX.com'
gitlab_rails['gitlab_email_subject_suffix'] = ''

#### IMAP Settings
gitlab_rails['incoming_email_host'] = "imap.exmail.qq.com"

### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "XXXXXX@XXXXXX.com"
gitlab_rails['smtp_password'] = "XXXXXX"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

三、测试

gitlab-rails console
Notify.test_email('xxxxx@qq.com', '邮件标题', '邮件正文').deliver_now

四、配置生效

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

gitlab 配置文档