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

前言

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

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

在这里插入图片描述
解决方法:

sudo dhclient ens33
sudo ifconfig ens33

在这里插入图片描述

二、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

现象二: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

三、配置桥接网络,静态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

2、编辑SSH文件

sudo nano /etc/ssh/sshd_config
将PermitRootLogin 的值改为yes
将PermitEmptyPasswords 的值改为no

3、重启ssh服务

service ssh restart

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

输入修改语句

update user set password=password("123456") where user="root";

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

flush privileges;­

问题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

后记

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


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

×

喜欢就点赞,疼爱就打赏