玩Linux碰到的问题以及使用技巧总结
文章目錄
- 1、問題
- 問題一:解壓JDK報錯:gzip:stdin:not in gzip format。
- 問題二:在Linux下ping不通外網
- 問題三:解決虛擬機克隆后網卡eth0不見的問題
- 問題四:執行腳本報錯:syntax error: unexpected end of file或syntax error near unexpected token `fi'或-bash bad interpreter: No such file or directory
- 問題五:Authentication refused:bad ownership or modes for dircetory /root,ssh免密錯誤
- 問題六:centos下完全卸載mysql
- 2、使用技巧:
- 一、minimal版本的linux系統需要安裝以下常用的命令:
文章總體分為兩部分:問題和使用技巧。
1、問題
問題一:解壓JDK報錯:gzip:stdin:not in gzip format。
情景:
我先是通過命令:
從oracle官網下載jdk。
然后執行解壓命令:tar -zxvfjdk-8u144-linux-x64.tar.gz,卻報錯:
解決方法:
執行以下命令(將下載地址改為自己需要的版本)
報錯原因:
通過file命令辨識一下壓縮文件的類型:
結果卻是jdk-8u144-linux-x64.tar.gz:HTML document text…
| 原來這個壓縮文件是html |
這個文件之所以是html,是因為是:文件的下載鏈接不是直接指向文件,而是先指向一個頁面,在這個頁面里才是真的下載鏈接,所以我們通過wget下載的其實是一個頁面。通過以上的命令就OK了。
其他解決方法:
有些是因為解壓縮方式不正確,更改對應的解壓縮指令即可。
問題二:在Linux下ping不通外網
在linux中ping www.baidu.com 無法ping通,可能原因是DNS沒配置好
方法一:修改vi /etc/resolv.conf
增加如下內容:nameserver 114.114.114.114 (電信的DNS)nameserver 8.8.8.8(googel的DNS)就可以實現ping通外網了
方法二:
ip a 或者 ifconfig 查看使用的網卡然后進入/etc/sysconfig/network-scripts找到對應的網卡進行修改
vi /etc/sysconfig/network-scripts/ifcfg-ethx DEVICE=ethx TYPE=Ethernet ONBOOT=yes #網卡eth0設置為自啟用 BOOTPROTO=static IPADDR=192.168.1.101 NETMASK=255.255.255.0 DNS1=114.114.114.114 重啟網卡 service network restart| 方法三:(配置了前兩步依舊無法ping通外網,那么很大一部分原因就是沒有添加網關) |
如果添加了DNS還是無法ping外網,那就要查看路由中的網關設置 netstat -rn
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0這就表示網關沒有設置,添加路由網關
route add default gw 192.168.129.2(我的路由網關是這個)再次查看netstat -rn
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 eth00.0.0.0 192.168.129.2 0.0.0.0 UG 0 0 0 eth0添加成功,但是這種方法不是永久的,重啟服務器或者重啟網卡后悔失效。
靜態路由加到/etc/sysconfig/static-routes 文件中就行了,沒有這個文件就新建一個
如 route add default gw 192.168.129.2
則文件中加入
any net default gw 192.168.129.2
保存退出,重啟網卡驗證
問題三:解決虛擬機克隆后網卡eth0不見的問題
解決方法:
直接修改 /etc/sysconfig/network-script/ifcfg-eth0
刪掉UUID HWADDR
配置靜態IP地址
然后:
然后 reboot
另一種方法:
編輯/etc/udev/rules.d/70-persistent-net.rules,找到與ifconfig -a得出的MAC相同的一行(NAME='eth1’這一行),把它改為"NAME=eth0 ",然后把上面一行(這一行是對應的老網卡)(NAME=‘eth0’)刪除掉。
問題四:執行腳本報錯:syntax error: unexpected end of file或syntax error near unexpected token `fi’或-bash bad interpreter: No such file or directory
**問題情境:**我們在用NodePad++編輯完腳本文件并上傳到服務器后,直接運行腳本會經常報出上面兩個錯誤。
解決方法:
另一種解決方法:在notepad中直接修改文件格式為unix即可。
問題原因:
上面兩個問題都是由于.sh文件的格式為dos格式。而linux只能執行格式為unix格式的腳本。因為在dos/window下按一次回車鍵實際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以修改的sh文件在每行都會多了一個CR,所以Linux下運行時就會報錯找不到命令。
問題五:Authentication refused:bad ownership or modes for dircetory /root,ssh免密錯誤
服務器配置了免密,但是ssh過去時報錯,錯誤如下:
Authentication refused:bad ownership or modes for dircetory /root因為之前有過經驗id_ras的權限非600,導致免密失敗,檢查發現id_ras權限正常600,然后檢查發現root目錄的權限配置成了777,改成700后,免密正常登陸
問題六:centos下完全卸載mysql
參考:https://www.cnblogs.com/wanghuaijun/p/6398240.html
2、使用技巧:
一、minimal版本的linux系統需要安裝以下常用的命令:
yum install net-tools 安裝ifconfig命令 yum install lrzsz 這是一個用于上傳下載文件的小插件 yum -y install tree 目錄以樹結構顯示 yum -y install wget總結
以上是生活随笔為你收集整理的玩Linux碰到的问题以及使用技巧总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【spider】Tesseract机器视
- 下一篇: 大数据集群搭建之Linux的安装(一)