4

Linux虚拟机常见使用及常见问题

 2 years ago
source link: https://qwzf.github.io/2020/01/07/Linux%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%B8%B8%E8%A7%81%E4%BD%BF%E7%94%A8%E5%8F%8A%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux使用过程中经常遇到一些问题,于是总结一下。

一、ubantu不显示和不能用本地ip

在这里插入图片描述
在这里插入图片描述
解决方法:
sudo dhclient ens33
sudo ifconfig ens33
shell复制代码
在这里插入图片描述
在这里插入图片描述

二、ubantu解决“无法获得锁”

现象一:E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束,而Linux只允许开一个apt-get。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示:

无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

解决方法一
终端输入 ps aux|grep apt ,列出进程。找到含有apt-get的,直接sudo kill PID。如:sudo kill -9 PID

解决方法二
强制解锁,命令

sudo rm /var/lib/dpkg/lock
或
sudo rm /var/lib/apt/lists/lock
shell复制代码

现象二:E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)

E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)
E: 无法锁定下载目录

解决方法一
1、命令:ps -aux | grep apt-get 列出进程
2、找到最后一列以apt-get 开头的进程
命令:sudo kill 该进程的PID
解决方法二

sudo rm /var/cache/apt/archives/lock 
sudo rm /var/lib/dpkg/lock
shell复制代码

三、配置桥接网络,静态ip

1、配置VMware虚拟机的网络适配器为桥接模式

在这里插入图片描述
在这里插入图片描述
2、首先输入命令:vi /etc/network/interfaces,配置ip信息
在这里插入图片描述
在这里插入图片描述
3、重启网卡:service networking restart
输入ifconfig发现配置成功
在这里插入图片描述
在这里插入图片描述
4、DNS域名解析服务器配置:vi /etc/resolv.conf

/etc/resolv.conf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:

nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序

下面我们给出一个/etc/resolv.conf的示例:

domain 51osos.com
search 51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69

最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
这里写nameserver关键字即可

在这里插入图片描述
在这里插入图片描述
5、重启网卡:service networking restart
测试:ping www.baidu.com
在这里插入图片描述
在这里插入图片描述
6、查看内网存活主机:nmap -sn 192.168.1.1-255
在这里插入图片描述
在这里插入图片描述

四、使用ssh以root用户直接登录

出于安全考虑,ubuntu默认不允许root远程登录
解决方案
1、安装openssh软件

sudo apt install -y openssh-server
shell复制代码

2、编辑SSH文件

sudo nano /etc/ssh/sshd_config
将PermitRootLogin 的值改为yes
将PermitEmptyPasswords 的值改为no
shell复制代码

3、重启ssh服务

service ssh restart
shell复制代码

4、重新登录,就可以以root用户直接登录ssh。

五、Ubuntu下搭建LAMP环境以及安装nginx服务器

参考:
Ubuntu18.04下搭建LAMP环境
ubantu lamp环境安装
Ubuntu 16.04搭建LAMP开发环境

ubantu下搭建php5.6+nginx+mysql开发环境
ubantu-nginx部署
ubuntu16.04安装nginx教程
Ubuntu18.04搭建nginx服务器

六、MySQL设置密码并允许远程登录

进入MySQL命令行并定位到mysql

mysql -u root -p
#没有密码的话直接回车
use mysql
sql复制代码

输入修改语句

update user set password=password("123456") where user="root";
sql复制代码

上述语句修改密码为123456 ;然后会显示Query OK;证明改密成功。
刷新MySQL的系统权限相关表

flush privileges;­
sql复制代码

问题1:在docker容器内访问宿主机mysql报:Error 1045: Access denied for user ‘root’@’x.x.x.x’ (using password: YES)

出错原因:
1、密码输入错误;
2、-u后边跟的用户不存在;
3、权限原因导致(我的就是这个原因)针对这种原因的解决方法如下:

grant all privileges on *.* to root@'%' identified by '123456' with grant option;
flush privileges;
exit
sql复制代码

大致就先总结那么多,持续更新中。。。。。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK