導航:首頁 > 操作系統 > linux常見錯誤

linux常見錯誤

發布時間:2022-07-15 18:54:11

1. linux 報錯 錯誤代碼如下:

有可能是硬碟有問題了,檢查下硬碟線、更改下BIOS中的硬碟模式、重新格式化下硬碟,如果不行用廠家的硬碟測試軟體檢測一下,有壞道低格,再不成只能換硬碟了。

2. Linux系統伺服器提示錯誤

有關網卡eth5的網路配置有問題,需要先排查下相應得配置文件看看有沒有亂碼,或者是寫錯的地方

3. linux啟動出現這個錯誤是怎麼回事

建議清理主機箱內部灰塵
是你電腦不兼容的原因
建議從裝系統打安全補丁
在用驅動精靈(網路上面找、下載自己安裝)升級所以驅動程序
顯卡最好是到他的官方網站去升級把

4. linux 編譯內核幾個常見問題解決方法

第一次把自己編譯的驅動模塊載入進開發板,就出現問題,還好沒花費多長時間,下面列舉出現的問題及解決方案
1:出現insmod: error inserting 'hello.ko': -1 Invalid mole format
法一(網上的):是因為內核模塊生成的環境與運行的環境不一致,用linux-2.6.27內核源代碼生成的模塊,可能就不能在linux-2.6.32.2內核的linux環境下載入,需要在linux-2.6.27內核的linux環境下載入。
a.執行 uname -r //查看內核版本
b.一般出錯信息被記錄在文件/var/log/messages中,執行下面命令看錯誤信息
# cat /var/log/messages |tail
若出現類似下面:
Jun 4 22:07:54 localhost kernel:hello: version magic '2.6.35.6-45.fc14.i686.PAE
' should be '2.6.35.13-92.fc14.i686.PAE'
則把 Makefile里的KDIR :=/lib/moles/2.6.35.6-45.fc14.i686.PAE/build1 改為
KDIR :=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1 //改成自己內核源碼路徑
(這里的build1是一個文件鏈接,鏈接到/usr/src/kernels/2.6.35.6-45.fc14.i686.PAE和13-92的)
然並卵,我的fedora 14 /usr/src/kernels下並沒有2.6.35.13-92.fc14.i686.PAE,只有2.6.35.13-92.fc14.i686,雖然不知道兩者有什麼區別,但改成2.6.35.13-92.fc14.i686還是不行,照樣這個問題,還好後來在看教學視頻的到啟發
法二:改的還是那個位置
KDIR :=/opt/FriendlyARM/linux-2.6.32.2 //把這里改成你編譯生成kernel的那個路徑
all:
$ (MAKE) -C $ (KDIR) M = $ (PWD) moles ARCH=arm CROSS_COMPILE=arm-linux- //加這句
2. [70685.298483] hello: mole license 'unspecified' taints kernel.
[70685.298673] Disabling lock debugging e to kernel taint
方法:在模塊程序中加入: MODULE_LICENSE("GPL");
3. rmmod: chdir(2.6.32.2-FriendlyARM): No such file or directory 錯誤解決
方法:lsmod 可查看模塊信息
即無法刪除對應的模塊。
就是必須在/lib/moles下建立錯誤提示的對應的目錄((2.6.32.2)即可。
必須創建/lib/moles/2.6.32.2這樣一個空目錄,否則不能卸載ko模塊.
# rmmod nls_cp936
rmmod: chdir(/lib/moles): No such file or directory
但是這樣倒是可以卸載nls_cp936,不過會一直有這樣一個提示:
rmmod: mole 'nls_cp936' not found
初步發現,原來這是編譯kernel時使用make moles_install生成的一個目錄,
但是經測試得知,rmmod: mole 'nls_cp936' not found來自於busybox,並不是來自kernel
1).創建/lib/moles/2.6.32.2空目錄
2).使用如下源碼生成rmmod命令,就可以沒有任何提示的卸載ko模塊了[luther.gliethttp]
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
int main(int argc, char *argv[])
{
const char *modname = argv[1];
int ret = -1;
int maxtry = 10;
while (maxtry-- > 0) {
ret = delete_mole(modname, O_NONBLOCK | O_EXCL);//系統調用sys_delete_mole
if (ret < 0 && errno == EAGAIN)
usleep(500000);
else
break;
}
if (ret != 0)
printf("Unable to unload driver mole \"%s\": %s\n",
modname, strerror(errno));
}
3).把生成的命令復制到文件系統
# arm-linux-gcc -static -o rmmod rmmod.c
# arm-linux-strip -s rmmod
# cp rmmod /nfs/
cp /nfs/rmmod /sbin
代碼如下:
proc.c
[html] view plain
<span style="font-size:18px;">#include <linux/mole.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/proc_fs.h> /* Necessary because we use the proc fs */
#define procfs_name "proctest"

MODULE_LICENSE("GPL");
struct proc_dir_entry *Our_Proc_File;
int procfile_read(char *buffer,char **buffer_location,off_t offset, int buffer_length, int *eof, void *data)
{ int ret;
ret = sprintf(buffer, "HelloWorld!\n");
return ret;
}

int proc_init()
{ Our_Proc_File = create_proc_entry(procfs_name, 0644, NULL);
if (Our_Proc_File == NULL) {
remove_proc_entry(procfs_name, NULL);
printk(KERN_ALERT "Error: Could not initialize /proc/%s\n",procfs_name);
return -ENOMEM; }
Our_Proc_File->read_proc = procfile_read;//
// Our_Proc_File->owner = THIS_MODULE;
Our_Proc_File->mode = S_IFREG | S_IRUGO;
Our_Proc_File->uid = 0;
Our_Proc_File->gid = 0;
Our_Proc_File->size = 37;
printk("/proc/%s created\n", procfs_name);
return 0;
}
void proc_exit()
{ remove_proc_entry(procfs_name, NULL);
printk(KERN_INFO "/proc/%s removed\n", procfs_name);
}
mole_init(proc_init);
mole_exit(proc_exit);</span></span></span></span></span>
[html] view plain
<span style="font-size:18px;">

ifneq ($(KERNELRELEASE),)
obj-m :=proc.o
else
KDIR :=/opt/FriendlyARM/linux-2.6.32.2
#KDIR :=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1
PWD :=$(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(PWD) moles ARCH=arm CROSS_COMPILE=arm-linux-
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif</span></span></span></span></span>
make後生成proc.ko,再在開發板上insmod proc.ko即可
執行 dmesg 就可以看到 產生的內核信息啦

5. linux系統管理常見錯誤有哪些

linux管理常見錯誤一:隨意許可,原因是不理解許可
如果對許可配置不當,就會給黑客留下機會。處理許可問題的最簡單方法是使用所謂的RWE方法,即Read(讀取)、Write(寫入)、Execute(執行)。假設你想讓一個用戶能夠讀取一個文件但不能寫入文件。為此,你可以執行:chmod
u+w,u-rx 文件名,一些新用戶可能會看到一個錯誤,說他們沒有使用文件的許可,因此他們就使用了:Chmod 777
文件名,以為這樣能夠避免問題。但這樣做實際上會導致更多的問題,因為它給了文件的可執行的許可權。
記住這一點:777將一個文件的讀取、寫入、執行的許可給了所有用戶,666將一個文件的讀取、寫入許可權給了所有用戶,而555將文件的讀取、執行許可權給了所有用戶,還有444、333、222、111等等。
linux管理常見錯誤二:忽視更新
這並不是說Linux管理員缺乏技巧。不過,許多Linux管理員在運行了Linux之後,以為日後就無事可做了,以為它安全可靠。其實,新的更新可以為一些新的漏洞打上補丁。維持更新可以在一個易受損的系統與一個安全的系統之間構造分水嶺。Linux的安全來自於不斷地維護。為了實現安全性,為了使用一些新的特性和穩定性,任何管理員都應當跟上Linux的更新步伐。
linux管理常見錯誤三:不經過嚴格審核,從多種渠道下載安裝各種類型的應用程序
乍看起來,這也許是一個不錯的主意。如果你在運行Ubuntu,你會知道包管理程序使用的是。deb軟體包。不過,你找到的許多應用程序是以源代碼的形式提供的。沒有問題嗎?這些程序安裝後也許能夠正常工作。但是你為什麼不能隨意安裝程序呢?道理很簡單,如果你以源的形式安裝了程序,那麼,你的軟體包管理系統將無法跟蹤你所安裝的東西。
因此,在程序包A(以源的形式安裝)依賴於程序包B(從一個。deb庫安裝的),而軟體包B是從更新管理器更新的時候,會發生什麼事情呢?程序包A可能運行,也可能無法運行。不過,如果程序包A和B都從。deb庫安裝的話,二者都能運行的機會將更高。此外,在所有的程序包都來自於同樣的二進制類型時,更新程序包將更為容易。
linux管理常見錯誤四:將伺服器啟動進入到X
在一台機器是專用伺服器時,你可能會想到安裝X,這樣一些管理任務就會簡單一些。不過,這並不意味著用戶需要將伺服器啟動進入到X.這樣會浪費珍貴的內存和CPU資源。相反地,你應當在級別3上停止啟動過程,進入命令行模式。這樣做不但會將所有的資源留給伺服器,而且還會防止泄露機器的機密。要登錄到X,用戶只需要以命令行方式登錄,然後鍵入startx進入到桌面。
linux管理常見錯誤五:糟糕的口令
記住,root
的口令通常是linux王國的關鍵。所以為什麼要讓root的口令那麼容易被破解呢?保障你的用戶口令的健壯性至關重要。如果你的口令比較長,且難於記憶,可將這個口令存放在一個可被加密的位置。在需要這個口令時,可用解密軟體解開這個口令使用之。
linux管理常見錯誤六:沒有備份關鍵的配置文件
許多管理員都有這樣的體會,在升級到某個X版本,如X11之後,卻發現新版本破壞了你的xorg.conf配置文件,以至於你再也無法使用X?建議你在升級X之前,先對以前的/etc/x11/xorg.conf作一個備份,以免升級失敗。當然,X的升級程序會設法為用戶備份xorg.conf文件,但它卻在/etc/x11目錄內備份。即使這種備份看起來不錯,你最好還是自己做一個備份吧。筆者的一個習慣是將其備份到/root目錄中,這樣,用戶就可以知道只有根(root)用戶能夠訪問此文件。記住,安全第一。這里的方法也適用於其它的關鍵備份,如Samba、Apache、Mysql等。
linux管理常見錯誤七:忽視日誌文件
/var/log的存在是有理由的。這是存放所有的日誌文件的唯一位置。在發生問題時,你首先需要看一下這里。檢查安全問題,可看一下/var/log/secure.筆者看的第一個位置是/var/log/messages.這個日誌文件保存著所有的一般性錯誤。在此文件中,你可以得到關於網路、媒體變更等消息。在管理一台機器時,用戶可以使用某個第三方的應用程序,如logwatch,這樣就可以創建為用戶創建基於/var/log文件的各種報告。
linux管理常見錯誤八:沒有安裝一個可正常運行的內核
你可能不會在一台機器上安裝10個以上的內核。但你需要更新內核,這種更新並沒有刪除以前的內核。你是怎麼做的呢?你一直保持使用最近的可正常工作的內核。假設你目前正常工作的內核是2.6.22,而2.6.20是備份內核。如果你更新到2.6.26,而在新內核中一切都工作正常,你就可以刪除2.6.20了。
linux管理常見錯誤九:逃避使用命令行
恐怕很少有人願意記住那麼多命令。在大多數情況下,圖形用戶界面是許多人的最愛。不過,有時,命令行使用起來更加容易、快捷、安全、可靠。逃避使用命令行是Linux管理的大忌。管理員至少應當理解命令行是如何工作的,至少還要掌握一些重要的管理命令。
linux管理常見錯誤十:以根用戶身份登錄
這是一種很危險的錯誤。如果用戶需要根特權來執行或配置一個應用程序,可以在一個標準的用戶賬戶中使用su切換到root用戶。登錄到root為什麼不是一件好事兒?在用戶以標准用戶身份登錄時,所有正在運行的X應用程序仍擁有僅限於此用戶的訪問權。如果用戶以根用戶身份登錄,X就擁有了root的許可。這就會導致兩個問題,一、如果用戶由GUI犯了一個大錯,這個錯誤對系統來說,有可能是一個巨大的災難。二、以根用戶的身份運行X使得系統更易於遭受攻擊。

6. linux 啟動時有錯誤 怎麼查看

cat或者
tail -f命令

日 志 文 件 說 明

/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/secure 與安全相關的日誌信息
/var/log/maillog 與郵件相關的日誌信息
/var/log/cron 與定時任務相關的日誌信息
/var/log/spooler 與UUCP和news設備相關的日誌信息
/var/log/boot.log 守護進程啟動和停止相關的日誌消息
系統:

# uname -a # 查看內核/操作系統/CPU信息
# cat /etc/issue
# cat /etc/redhat-release # 查看操作系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出所有PCI設備
# lsusb -tv # 列出所有USB設備
# lsmod # 列出載入的內核模塊
# env # 查看環境變數 命令需求可查看「linux命令大全」

7. 求linux常見的一些錯誤提示;例如permission denied

這是沒有許可權的意思,比如:你修改了系統級的文件,安裝應用等等。這時你可以在命令前面加上sudo ,比如:sudo apt-get install 。祝你好運~~

8. Linux非正常關機後系統文件錯誤,導致無法進入系統。如何修正這些錯誤

在某些情況下,非正常關機可能造成文件系統的損壞,甚至無法正常啟動系統。比較常見的系統提示是:
……
Give root password for maintenance
(or type Control-D for normal startup):
這時可以直接輸入root密碼,然後回車進入修復模式,運行:
fsck /dev/hda1
fsck /dev/hda2
……
一般只需要檢查Linux根分區,如果系統最終提示passed,說明檢查和修復通過。重新啟動即可正常進入Linux。《linux就該這么學》非常值得您一看。

閱讀全文

與linux常見錯誤相關的資料

熱點內容
程序員越來越困 瀏覽:865
女朋友java程序員 瀏覽:338
魔獸世界加密貨幣 瀏覽:783
程序員打卡日記 瀏覽:766
車間壓縮空氣有水怎麼處理 瀏覽:835
java類調用php 瀏覽:475
php時間控制 瀏覽:807
用流程圖表示演算法分類 瀏覽:931
本地git文件夾誤刪除怎麼恢復 瀏覽:747
java快速開發平台開源 瀏覽:996
java實戰從入門 瀏覽:155
javahello程序 瀏覽:13
java系統輸出 瀏覽:934
430單片機存儲 瀏覽:396
私人雲php源碼 瀏覽:449
解壓系統內核 瀏覽:801
java精確兩位小數 瀏覽:839
安卓系統如何看游戲幀數 瀏覽:435
生產節拍模擬app哪個好用 瀏覽:437
光遇安卓渠道怎麼轉 瀏覽:421