linux常見的錯誤的解決方法:
在日常開發中,尤其是在linux中進行操作的時候,經常會碰到各種各樣的錯誤。記錄一下,熟能生巧,慢慢參透linux的奧秘
1) 在安裝ssl證書的時候,發生certbot命令無法使用的情況
解決方案:
使用yum重新進行安裝,卸載掉使用pip方式進行安裝的軟件
pip?uninstall?requests yum?reinstall?python-requests ? pip?uninstall?six yum?reinstall?python-six ? pip?uninstall?urllib3 yum?reinstall?python-urllib3
2)問題.? xxx is not in the sudoers file. This incident will be reported.(當想要以 xxx的身份切換到root權限時,使用sudo su命令,并按提示輸入 *** 的密碼后出現的錯誤提示)
解決方案
1.修改sudoer文件,使得能夠使用sudo命令 su??(切換到root用戶下); 輸入root用戶密碼; ls?-l?/etc/sudoers?(查看sudoers文件) chmod?u+w?/etc/sudoers(給root用戶增加寫權限); ls?-l?/etc/sudoers?(查看sudoers文件) vim?/etc/sudoers(打開sudoers文件)然后在?root?ALL=(ALL)?ALL?后面加上?XXX?ALL?=?(ALL)?ALL,其中XXX表示你的用戶名,保存之后推出 chmode?u-w?/etc/sudoers?(恢復sudoers文件原來的讀寫權限) ls?-l?/etc/sudoers?(查看sudoers文件) exit(退出root用戶) 如此,就可以在xxx用戶下使用sudo來做root權限的事情啦
2) is not in the sudoers file
解決方案:
????1) 切換到root身份 (su:? 只是切換到root, 并沒有吧root的環境變量傳遞過去,? su – : 將環境變量一起帶過去 , 就像root登陸一樣 )
直接執行命令: ????visudo? 復制root的配置 root?ALL=(ALL)?ALL 例如添加lanlang lanlang?ALL=(ALL)?ALL
????2) 直接將用戶添加到wheel用戶組中
usermod?-a?-G?wheel?lanlang -a:?追加的方式添加,?不會刪除掉之前所屬的用戶組 -G:?執行要添加的用戶組
????3)新增一個用戶, 并以組的形式添加到/etc/sudoers中, 最后再添加一個用戶到這個組上
useradd?sudogroup echo?"%sudogroup??ALL=(ALL)???ALL">>?/etc/sudoers useradd?xing usermod?-aG?sudogroup?xing
3. 使用su切換用戶的時候,變成 -bash4.1-$
原因探究:
1)在該用戶的家目錄下沒有相關環境配置文件(.bash_logout .bash_profile, .bashrc )
2) 該用戶的家目錄與添加的時候的不一致,
解決:
1) 將/etc/skel的用戶環境配置文件復制到指定的目錄
cp?-a?/etc/skel/.?/home/lanlang 注意:?skel/?目錄中的點不能丟哦
2) 需要進行遷移操作
usermod?-md?/tmp/lanlang?lanlang -d:?修改用戶端額家目錄通常和-m一起使用 -m:?修改用戶家目錄通常和-d一起使用
4. 創建用戶,登陸只顯示$ 符號(Ubuntu)
解決: 需要創建用戶的使用創建相應的權限與目錄
adduser??lanlang
5. -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8):
解決:vim /etc/environment
LANG=en_US.utf-8 LC_ALL=en_US.utf-8
配置生效:source /etc/environment
6.nginx: [emerg] bind() to 0.0.0.0:443 failed(98:Address already in use)
解決: 強制關閉接口占用進程
sudo?fuser?-k?80/tcp?#關閉占用80端口的程序
7. 騰訊云重置服務之后,使用ssh或者連接工具都無法進行連接
解決:刪除無效密鑰
ssh-keygen?-R?"you?server?hostname?or?ip"
8. grep命令提示Binary file jzl_search_stdout.log matches
解決:
grep?-nr?-a?"400"?jzl_search_stdout.log -a,?--text?equivalent?to?--binary-files=text,即讓二進制文件等價于文本。
推薦教程: 《linux教程》