【Ubuntu】在Ubuntu中设置永久的DNS
1、问题描述
ping不通域名,比如“ping www.baidu.com”时,报错“ping: unknown host www.baidu.com”。这是因为ubuntu默认情况下没有设置DNS。
在ubuntu上设置DNS的方法,修改“/etc/resolv.conf”,添加“nameserver 8.8.8.8”,但是重启后就失效了。
2、原因查找
在“/etc/resolv.conf”中开头有如下内容:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
这里已经明确说明,resolv.conf是由resolvconf命令动态生成的,不要编辑这个文件。
resolvconf是什么?
resolvconf 是"域名服务信息"管理工具,说白了就是管理ubuntu系统的DSN,包括添加、删除、更新、使能或禁止更新等。
使用方法:resolvconf (-d IFACE|-a IFACE|-u|–enable-updates|–disable-updates|–updates-are-enabled)
可以使用man查看详细信息:man resolvconf
如何生成的resolv.conf?
ubunut启动后调用初始化脚本:/etc/init.d/resolvconf start
83 start)84 # The "start" method should only be used at boot time.85 # Don't run this on package upgrade, for example.86 log_action_begin_msg "Setting up resolvconf"87 # Wipe runtime directories in case they aren't on a tmpfs88 wipe_runtime_directories89 # Create runtime directories in case they are on a tmpfs90 create_runtime_directories91 # Request a postponed update (needed in case the base file has content).92 :> "$POSTPONED_UPDATE_FLAGFILE" || log_action_end_msg_and_exit 1 "failed requesting update"93 # Enable updates and perform the postponed update.94 resolvconf --enable-updates || log_action_end_msg_and_exit 1 "failed to enable updates"95 log_action_end_msg_and_exit 096 ;;
对上面这段脚本的解释:
首先,注释里面提示==/etc/init.d/resolvconf start==只能在系统启动时调用一次,因为它会在/run/中创建resolvconf及相关文件目录。
wipe_runtime_directories:清除/run/resolvconf目录
create_runtime_directories:创建/run/resolvconf/interface目录
:> “$POSTPONED_UPDATE_FLAGFILE” 创建文件 /run/resolvconf/postponed-update,这个文件下面会用到。
resolvconf --enable-updates:resolvconf路径是/sbin/resolvconf
/sbin/resolvconf也是一个脚本,执行 --enable-updates 选项
--enable-updates): >| "$ENABLE_UPDATES_FLAGFILE" || exit 1if [ -e "$POSTPONED_UPDATE_FLAGFILE" ] ; then(update_and_exit -u) || :fiexit 0
对上面这段脚本的解释:
创建文件 /run/resolvconf/enable-updates;
如果文件 /run/resolvconf/postponed-update存在,则执行(update_and_exit -u),这个文件在上面的步骤中已经创建;
update_and_exit函数如下
56 update_and_exit()57 {58 rm -f "$POSTPONED_UPDATE_FLAGFILE"59 exec run-parts ${1:+--arg="$1"} ${2:+--arg="$2"} /etc/resolvconf/update.d60 }
删除:/run/resolvconf/postponed-update
run-parts功能:批量执行目录下的脚本;
/etc/resolvconf/update.d下只有一个脚本libc;
libc功能是用 /etc/resolvconf/resolv.conf.d 目录下的三个文件head、base、tail生成/run/resolvconf/resolv.conf,并创建软链接/etc/resolv.conf
3、解决方法
要想设置永久的DNS,一个正经的办法是修改 /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 8.8.4.4
修改完后执行:
/sbin/resolvconf -u
再重启后就不用再设置DNS了
相关文章:

实习期间问题总结
主要针对实习期间,接触的部分问题进行总结,后续会不间断的补充,作为实习期间的回顾。 1,git ,github和gitlab的关系 git 是一个版本控制工具,github是一个用git做版本控制的项目托管平台,他是一个网站&…

在windows sever 2008系统中如何添加桌面体验功能
1.开启THEMES服务:运行-services.msc -找到Themes服务项,默认是禁用,改为自动。 2.运行服务器管理器:左窗口选择功能-右边点“添加功能”在弹出的“添加功能向导”窗口中拖到最下面,…

17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)
整理 | 阿司匹林出品 | AI科技大本营(公众号id:rgznai100)计算机视觉和模式识别大会CVPR 2019即将于6月在美国长滩召开,作为人工智能领域计算机视觉方向的重要学术会议,CVPR每年都会吸引全球最顶尖的学术机构和公司的研…

【GStreamer】在x264enc中设置profile级别
1、问题描述 在使用GStreamer生成h.264的rtmp流时,不知道怎么设置h.264的profile级别。默认一直是“high”: video/x-h264, ... profile=(string)high, ...2、解决方法 查看官网手册中,有如下解释 The H264 profile that is eventually used depends on a few settings. …

js 使用a标签 下载资源
文档 let data new Blob([hello ajanuw], {type: application/text})let src window.URL.createObjectURL(data)let dl document.createElement(a)dl.href src;dl.download hello.txtdl.click() 切片下载 let data new Blob([hello ajanuw], {type: application/text }) …

linux 新增swap分区
由于用vmware 物理机转换成虚拟机时 忘记把swap 分区转过来了,只能手动在系统里添加了 1建立1G 大小的交换分区 # dd if/dev/zore of/opt/swapfile bs1M count1024 2,设置交换分区文件 # mkswap /opt/swapfile 3.立即启用交换分区文件 # swapon /opt/swapfile 4.使系…

通过cookies跳过验证码登陆页面,直接访问网站的其它URL
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL”转载虫…

可视化深入理解损失函数与梯度下降 | 技术头条
作者 | Hugegene译者 | 刘畅责编 | Rachel出品 | AI科技大本营(id:rgznai100)【导语】本文对梯度函数和损失函数间的关系进行了介绍,并通过可视化方式进行了详细展示。另外,作者对三种常见的损失函数和两种常用的激活函…

【Qt】Linux上设置自启动后qApp->applicationDirPath()的返回值问题
1、问题描述 开发程序过程中,使用qApp->applicationDirPath()返回程序所在目录,一直没问题。但是在设置自启动后,qApp->applicationDirPath()返回的目录不是程序所在目录。 2、原因分析 查看qApp->applicationDirPath()官方手册&…

sqlserver 行转列
还写了一篇Linq 实现 DataTable 行转列有时间大家可以看一下 sqlserver把行转成列在我们编码中是经常遇到的我做一个小例子大家看一下 1 --创建一个表 2 create table PayPhoneMoney 3 ( 4 id int identity(1,1), 5 userName Nvarchar(20), 6 payType nvarchar(20)…

Javascript闭包和闭包的几种写法及用途
好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了。好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法、用法和用途。 一、什么是闭包和闭…

【GStreamer】使用capsfilter设置x264enc中的profile级别
1、问题描述 在【GStreamer】在x264enc中设置profile级别中,通过设置x264enc的属性,只将profile由high级别切换到main,但是在切换到baseline时,失败了。 2、解决方法 这里使用capsfilter,直接指定x264enc的profile。相关代码如下: // 创建元素 GstElement *h264enc =…

一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条
作者 | K. Delphino译者 | Linstancy编辑 | Rachel出品 | AI科技大本营(id:rgznai100)【导读】在推荐系统的相关研究中,我们常常用到两个相关概念:矩阵分解和奇异值分解。这两个概念是同一种算法吗?两者到底…

[转]程序员技术练级攻略
2019独角兽企业重金招聘Python工程师标准>>> 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我࿰…

聊天机器人落地及进阶实战 | 公开课速记
嘉宾 | 邵浩编辑 | suiling来源 | AI科技大本营在线公开课近年来,聊天机器人技术及产品得到了快速的发展。聊天机器人作为人工智能技术的杀手级应用,发展得如火如荼,各种智能硬件层出不穷。本次公开课中,AI科技大本营联合电子工业…

【GStreamer】官网基本教程学习(basic-tutorial)
目录 下载和编译basic-tutorial-1.c 直接创建管道播放视频basic-tutorial-2.c 创建元件-->装入管道-->连接元件0、gstreamer 函数调用顺序1、元素 videotestsrc 的 pattern 属性详解2、GST_BIN 将其它类型指针转换成 GstBin*basic-tutorial-3.c 信号触发后再连接元件0、g…

IdentityServer4关于多客户端和API的最佳实践【含多类型客户端和API资源,以及客户端分组实践】【中】...
上一篇文章中,我们已经完成了服务端数据库的搭建,本篇主要处理多【传统HTTP】【依赖CORE环境】客户端之间协同在线【SSO】以及不需要SSO的场景处理。 目标: 1)实现多类型客户端接入IdentityServer 后文简称【IDSV】 2)…

WEB SSH Ajaxterm客户端配置(1)
Ajaxterm是一款基于Web的SSH客户端软件,它是采用Python编写的,这也就保证了它能在多种Linux发行版的系统中使用,同时它的安装非常简单。实验环境:Centos 5.5 ip:192.168.20.165pcre-7.8.tar.gzAjaxterm-0.10.tar.gzn…

如何为回归问题选择最合适的机器学习方法?
作者 | 何从庆本文经授权转载自 AI算法之心(id:AIHeartForYou)在目前的机器学习领域中,最常见的三种任务就是:回归分析、分类分析、聚类分析。在之前的文章中,我曾写过一篇《15分钟带你入门sklearn与机器学…

【Qt】获取本地IP(IPv4)
1、问题描述 获取本地IP列表有“127.0.0.1”、IPv4、IPv6等,一般使用IPv4,如何从已经获取的IP列表中挑出IPv4。 2、解决方法 QString ipv4; auto ips = QNetworkInterface::allAddresses(); foreach (auto ip, ipps) {if ( (ip.

2.2元组介绍+字符串操作
元组可以理解为“一旦创建就不能再修改的列表”,所以也叫只读列表 语法:names("A","B","C","D") 他只有两个方法: ①count ②index 字符串操作: 示例:name"chan" 1…

医生再添新助手!深度学习诊断传染病 | 完整代码+实操
作者 | Dipanjan (DJ) Sarkar译者 | Monanfei编辑 | Rachel、Jane出品 | AI科技大本营(id:rgznai100)【导读】文本基于深度学习和迁移学习方法,对疟疾等传染病检测问题进行了研究。作者对疟疾的检测原理以及迁移学习理论进行了介绍…

DIV限制宽度,字符断行,避免变形
代码如下:<div style"width:740px;word-break:break-all;word-wrap:break-word;">参考文章怎么强制限制div宽度转载于:https://www.cnblogs.com/leftfist/archive/2012/02/07/4258078.html

【渗透】node.js经典问题
1.循环问题 当循环调用 require() 时,一个模块可能在未完成执行时被返回。例如以下情况:a.js: exports.done false; const b require(./b.js); console.log(在 a 中,b.done %j, b.done); exports.done true; console.log(a 结束); b.js: console.log…

【Qt】Ubuntu下Qt应用程序自启动设置
1、问题描述 第一步,确保手动启动Qt程序没有报错!如果报以下错误,参见博客 qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to s…

Tarjan算法应用 (割点/桥/缩点/强连通分量/双连通分量/LCA(最近公共祖先)问题)...
转载自:http://hi.baidu.com/lydrainbowcat/blog/item/2194090a96bbed2db1351de8.html 基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中࿰…

【JavaScript】Ubuntu16.04安装vscode+npm+yarn
一、安装vscode vscode官网(https://code.visualstudio.com/)下载linux deb文件 下载deb后,使用dpkg -i 命令安装 sudo dpkg -i code_1.45.1-1589445302_amd64.deb在终端执行命令code来启动vscode 二、安装nodejs curl -sL https://deb…

C++大数加法
1 #include <iostream>2 #include<deque>3 #include<string>4 5 using namespace std;6 7 string add(string a, string b) //此函数默认a的长度大于b(可以在main函数里用if语句控制a的长度大于b)8 {9 deque<int>sum; //sum用来存储和的每…

重磅!Facebook更新PyTorch 1.1,打算跨GPU分割神经网络
时隔半年不到,PyTorch 已经从之前的 1.0 升级到 1.1 版本了。刚刚,Facebook 在年度开发者大会 F8 上宣布正式发布 PyTorch 1.1 版本,这是对 PyTorch 1.0 的一次大的功能升级。 作者 | 琥珀 出品 | AI科技大本营(ID:rgznai100&…

红旗Linux认证简介
红旗Linux认证 一、课程名称:红旗Linux认证产品专家(RAP) 课程简介: 主要针对初次使用红旗Linux desktop的学员而编制,注重实用性,是红旗Linux的一门入门课程。 采用的教材是《红旗Linux桌面应用教程》&…