是否可以在 Linux 中为主机名设置别名?
jmillikin 在各种 Ubuntu 论坛上提出的问题如下:
# Real host # Aliases
realhost fakehost1 fakehost2 fakehost3
Run Code Online (Sandbox Code Playgroud)
有人回答了 ssh,但没有回答 ping 等问题。我的主要目的是将它用作Subversion服务器的别名。就我而言,realhost 位于动态 IP 地址下。因此,“/etc/hosts”别名不起作用。我想访问我的 Subversion 服务器svn://my_svnserver/my_repos
而不是
svn://realhost/my_repos
.
配置 Windows 环境以允许我使用 DNS CNAME 来引用服务器需要什么过程?
我想这样做,以便我可以将我的服务器命名为 SRV001,但仍然\\file
指向该服务器,因此当 SRV002 替换它时,我不必更新人们拥有的任何链接,只需更新 DNS CNAME 和每个人将指向新服务器。
是否可以在 Windows 主机文件 (C:\Windows\System32\drivers\etc\hosts) 中输入某种 CNAME 记录或别名?
基本上我想将所有对主机 A 的请求转发到主机 B,而不必对 IP 地址(经常更改)进行硬编码。
我正在将站点移动到在 NGINX 上运行的新服务器。旧站点的 Apache2 VirtualHost 已ServerAlias
配置,我想在 NGINX 配置中复制。
从我在 NGINX Docs 上读到的内容来看,这似乎可以通过server_name
.
我只是想确保我拥有的是正确的。
从 APACHE2
ServerAlias our-domain.com www1.our-domain.com our-domain.ie
Run Code Online (Sandbox Code Playgroud)
到 NGINX
server_name www.our-domain.com our-domain.com www.our-domain.ie our-domain.ie;
Run Code Online (Sandbox Code Playgroud) 我有一个别名,可以将一些参数传递给我经常使用的工具。有时我以自己的身份运行,有时在 sudo 下运行。不幸的是,当然,sudo 无法识别别名。
有没有人有关于如何传递别名的提示?
在这种情况下,我在调试时有很多 perl 选项:
alias pd='perl -Ilib -I/home/myuser/lib -d'
Run Code Online (Sandbox Code Playgroud)
有时,我必须以 root 身份调试我的工具,所以,而不是运行:
pd ./mytool --some params
Run Code Online (Sandbox Code Playgroud)
我需要在 sudo 下运行它。我尝试了很多方法:
sudo eval $(alias pd)\; pd ./mytool --some params
sudo $(alias pd)\; pd ./mytool --some params
sudo bash -c "$(alias pd)\; pd ./mytool --some params"
sudo bash -c "$(alias pd); pd ./mytool --some params"
sudo bash -c eval\ "$(alias pd)\; pd ./mytool --some params"
sudo bash -c eval\ "'$(alias pd)\; pd ./mytool --some params'"
Run Code Online (Sandbox Code Playgroud)
我希望有一个不错的、简洁的方法来确保我当前的 pd 别名被充分使用(以防我以后需要调整它),尽管我的一些尝试根本不简洁。我最后的手段是将它放入一个 shell …
我已经重新阅读了关于这个的文档以及这里的其他帖子,这对我来说仍然很不清楚。我一直在测试各种事物理解之间的区别alias_maps
,并virtual_alias_maps
和我没有看到后缀使用这2个单独的设置。这是我到目前为止发现的(注意 - 我在与我的 Web 服务器相同的服务器中使用 postfix 作为空客户端来仅发送电子邮件):
1) /etc/aliases 文件:
root: me@somedomain.com
Run Code Online (Sandbox Code Playgroud)
当我将上述内容添加到alias_maps
. 但是,我也注意到一些其他服务(如mail
命令)不尊重这一点,并尝试将电子邮件直接发送到不存在的 root@mydomain.com(我认为myorigin
这是添加@mydomain.com的后缀设置) . 为了解决这个问题,我然后添加了virtual_alias_maps
2) /etc/postfix/virtual
root me@someotherdomain.com
Run Code Online (Sandbox Code Playgroud)
添加上述内容后,所有服务都使用此虚拟别名电子邮件。我还注意到,一旦我添加了上述内容,即使fail2ban 也开始忽略我在/etc/aliases/
文件中的初始设置并开始遵循虚拟文件中给出的电子邮件地址。
现在这让我更加困惑——
/etc/aliases/
当虚拟别名映射中的电子邮件似乎覆盖它时,为什么我们需要?
拥有这两个单独的别名映射的目的是什么,我们何时决定何时使用什么?
为什么fail2ban(配置为发送到root@localhost
)首先遵循alias_maps
(/etc/aliases/) 中给出的电子邮件地址,然后决定忽略virtual_alias_maps
添加过的那个地址?
为什么并非所有服务都读取 /etc/aliases 中提到的电子邮件别名,而它们仅在将电子邮件别名添加到虚拟别名映射中时才起作用?
从昨天开始,我已经花了几个小时,但仍然不确定。有人可以帮我清除我的困惑吗?
编辑:
这是使用mail root
命令将电子邮件发送到 root 时的邮件日志。在 /etc/aliases/ 中提到了 root 的别名电子邮件。但是直到我将此根别名电子邮件从 移动aliases_maps
到virtual_aliases_maps
在提及根电子邮件别名时记录/etc/aliases/
:
Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root> …
Run Code Online (Sandbox Code Playgroud) 当我在 Powershell 中输入 dir 时,我想看到彩色的文件名。所以,我从这里将Set-ChildItemColor函数添加到我的配置文件中。我还在配置文件的末尾添加了这一行来覆盖 dir 别名:
Set-Alias dir Get-ChildItemColor
Run Code Online (Sandbox Code Playgroud)
现在,当我打开 Powershell 时,出现此错误:
Set-Alias : The AllScope option cannot be removed from the alias 'dir'.
At C:\Users\joe\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:82
char:10
+ Set-Alias <<<< dir Get-ChildItemColor
+ CategoryInfo : WriteError: (dir:String) [Set-Alias], SessionStateUna
uthorizedAccessException
+ FullyQualifiedErrorId : AliasAllScopeOptionCannotBeRemoved,Microsoft.PowerShe
ll.Commands.SetAliasCommand
Run Code Online (Sandbox Code Playgroud)
这是什么AllScope?如何删除该选项以获得彩色目录?
我试图建立一个简单的基于亚马逊AWS S3网站,如解释在这里。
我已经设置了 S3 存储桶 (simples3websitetest.com),给了它(希望)正确的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::simples3websitetest.com/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我上传了 index.html,设置了网站访问,它可以通过http://simples3websitetest.com.s3-website-us-west-2.amazonaws.com/index.html访问
到目前为止一切顺利,现在我想设置 Amazon Route53 访问,这就是我卡住的地方。
我已经在我拥有的域 (resourcesbox.net) 上设置了一个托管区域,然后单击了“创建记录集”,然后进入了“设置别名”步骤,但是当我在 S3 网站端点下看到“没有可用的目标”时尝试设置别名目标。
我错过了什么??
我有一些命令.profile
,我想从我的crontab
.
例如,如果我有,
alias notify-me="~/bin/notify.pl -u user1"
alias notify-team="~/bin/notify.pl -u user1 user2 user3 user4 ...."
Run Code Online (Sandbox Code Playgroud)
我只想调用别名
0 11 * * * notify-team
Run Code Online (Sandbox Code Playgroud)
因此,如果 my 中的列表.profile
已更新,我也不必更新crontab
. 但是,我似乎无法在我的crontab
. 有解决办法吗?
我尝试了这里的建议来设置环境(例如 /bin/bash -lc 和脚本包装器脚本)。似乎这适用于脚本但不适用于别名。
有任何想法吗?
在安装 RVM手册中,我看到很多以“\”开头的行:
使用 ruby 安装 RVM:
$ \curl -L https://get.rvm.io | bash -s stable --ruby
我认为这只是错误输入,但他们重复了很多次。
那是什么原因呢?