前言
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
Centos下配置橋接模式參考:
Centos7 橋接方式網絡配置完整步驟
四、使用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
後記
大致就先總結那麼多,持續更新中。。。。。