当前位置:首页 » 操作系统 » linux常见的问题

linux常见的问题

发布时间: 2022-08-28 15:47:46

linux中 几个常见 问题 求教

修改权限是chom命令
grep是筛选,例如ls是列出制定目录下的文件和目录,如果和grep结合使用 "ls | grep .c"至显示带 .c 的文件。
其他的就不是很清楚了,可以直接网络啊!

② 关于linux的问题

链接缺乏目标文件

set_msq这个函数在哪个.o文件里面?编译的时候加上这个
否则就报错
总结经验如下:
undefined reference error错误的原因是:
1. 没有指定对应的库(.o/.a/.so) 使用了库中定义的实体,但没有指定库(-lXXX)或者没有指定库路径(-LYYY),会导致该错误,
2. 连接库参数的顺序不对 在默认情况下,对于-l 使用库的要求是越是基础的库越要写在后面,无论是静态还动态
3. gcc/ld 版本不匹配 gcc/ld的版本的兼容性问题,由于gcc2 到 gcc3大版本的兼容性存在问题(其实gcc3.2到3.4也一定程度上存在这样的问题) 当在高版本机器上使用低版本的机器就会导致这样的错误, 这个问题比较常见在32位的环境上, 另外就在32位环境不小心使用了64位的库或者反过来64位环境使用了32位的库.
4. C/C++相互依赖和链接 gcc和g++编译结果的混用需要保证能够extern "C" 两边都可以使用的接口,在我们的64位环境中gcc链接g++的库还需要加上 -lstdc++,具体见前文对于混合编译的说明
5. 运行期报错 这个问题基本上是由于程序使用了dlopen方式载入.so, 但.so没有把所有需要的库都链接上,具体参加上文中对于静态库和动态库混合使用的说明

③ 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 就可以看到 产生的内核信息啦

④ linux运维面试常见问题

linux运维面试常见问题

这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,如下是我给大家整理的linux运维面试常见问题,希望对大家有所作用。

一、Linux操作系统知识

1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?

2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?

3.企业中Linux服务器系统分区标准是什么?(以硬盘为300G,内存16G为例)

4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤。

5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下。

6.用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决?

7.Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?

8.一般可以使用什么软件远程linux服务器?通过什么上传文件和下载文件?

9./mnt目录主要用于什么?/root目录跟root用户有什么关系?/根目录与/boot目录有什么联系?

10.某一天误操作,执行了rm -rf * ,会有哪些情况发生?请举例。

二、Linux命令及文件操作

1.在/tmp/目录下创建test.txt文件,内容为: Hello,World! ,用一个命令写出来。

2.给test.txt文件除所有者之外增加执行权限,最终以数字写出文件的权限。

3.用vi命令编辑test.txt,如何跳转到末行,首行,行首、行末,如何在光标行下一行插入,如何复制5行,删除10行,查找jingfeng的字符、把jingfeng替换为jfe.net

4.查找linux系统下以txt结尾,30天没有修改的文件大小大于20K同时具有执行权限的文件并备份到/data/backup/目录下。

5.当前test.txt所属的用户为root,组为abc,请将test.txt使拥有者为abc,组为root,写出命令。

6.如何修改Linux启动级别为字符模式并永久生效,如何临时、永久关闭selinux及防火墙,请分别写出操作方法。

7.每次开机在/tmp目录下创建一个当天的日期文件夹(提示:当前日期表示的方法为:`date +%Y%m%d`)

8.如何查看文件内容,命令有哪些?查看文件第1行到3行,查看文件最后一行。

9.查看linux服务器IP的命令,同时只显示包含ip所在的行打印出来。

10.将普通用户test加入root组的命令是?

三、Linux磁盘及软件管理操作

1.如何添加一块新的50G硬盘到linux服务器系统作为单独的分区,并正在使用?需要哪些操作步骤?

2.有个金士顿U盘,需要往服务器/var/www/html/目录下上传一个index.html文件,如何操作并完成。

3.有一块移动硬盘,上面有300G数据,如何快速cp到linux服务器?

4.光盘里面有一个httpd-2.2.15.xx.rpm包,如何挂载并安装呢?

5.使用rpm命令安装、卸载、删除、更新ntp-0.7.12.x86_64.rpm这个软包。

6./var/www/html/是网站的发布目录,如何每天凌晨0点30对其进行自动备份,写出操作步骤?

7.使用tar命令打包并压缩/root目录,然后移动到/tmp下,将其权限设置其他人只读。

8.Yum命令与rpm命令的区别?如何使用rpm安装一个有依赖的包?

9.在这个月内,每天的早上 6 点到 12 点中,每隔 2 小时创建一个test.txt文件,内容为ok,如何实现?

10.将/usr/local/test目录下大于100K 的文件转移到/tmp 目录下。

11.简述 raid0 raid1 raid5三种工作模式的工作原理及特点。

12.如何查看占用端口 8080 的进程。

四、Linux服务配置及管理

1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前所支持的'模块,并且查看是工作在哪种模式下?

2.Linux下nfs在客户端无法挂载,请写出排查步骤?

3.Linux下已经部署了dhcp服务器,客户端无法获取的IP,如何解决?

4.常见的ftp软件有哪些?Linux最常用的是?如何共享一个资源让他人使用用户名和密码访问

5.如何禁止FTP使用匿名用户登录?命令行如何访问ftp服务器?

6.ApacheWEB服务器的发布目录在哪里?

7.ApacheWEB服务器有几种工作模式,每种模式的简单区别?

8.Mysql服务器的用途是?Apache和mysql可以安装在一台机器吗?如何查看apache和mysql端口和进程?

9.如何在虚拟机上面部署4个网站,访问的域名分别为www.a1.com test.a1.com www.a2.com test.a2.com?

10.假设 Apache 产生的日志文件名为access_log,在 apache 正在运行时,执行命令 mv access_log access_log.bak,执行完后,请问新的 apache的日志会打印到哪里,为什么?

11.我们都知道 FTP 协议有两种工作模式,说说它们的大概的一个工作流程?

12.Linux内核引导时,从哪个文件中读取要加载的文件系统。

13.写出下面服务的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。

14.Mysql创建数据库的命令,创建表的命令,插入语句的命令?

15.Mysql备份命令?Mysql如何给root用户对jfe授权访问,密码为jfe.net,请写出命令?

16.Mysql忘记密码该如何操作呢?

17.Linux运维工程师都需要具备哪些技能和职业品质?

;

⑤ Linux 的几个问题

1、shell用来负责接收使用者输入的指令,然后将指令解译成核心能够了解的方式,传给核心去执行,核心执行后,再将结果传回至默认的输出。
2、执行echo $PATH就知道shell的搜索路径了。
3、清除整个屏幕就用命令:clear。
清除前两行就不知道喽。

不知是否完全正确,楼主还需自己理解理解。

⑥ linux的问题

一、 如何建立多用户

提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心就可能破坏系统。比如我们想删除/temp目录下的文件却将命令不小心输成“rm
/
temp(在‘/’后多了一个空格)”,那么就极可能删去根目录下的所有文件。再者,“Linux是一个真正意义上的多任务、多用户系统”,不体会一下Linux的特色岂不可惜。为了方便自己和别人使用,就在Linux系统下多建几个用户吧。

输入“adser newuser”,回车,屏幕对命令没有一点儿反应,错啦?不,实际上,系统已接受了新用户。你应该接着输入命令 “passwd
newuser”,屏幕将提示输入口令,再次输入确认, 一个新的用户就增加成功,真简单。马上登录试一试吧。

Linux提供了六个虚拟控制台,用ALT+F1~F6切换(在X-window下用CRTL+ALT+F1~F6切换),每个控制台均可以用不同的用户登录,运行不同的程序。赶快为家人和朋友建个用户吧。

二、在Linx命令行下依次运行:

cd/

tar xzvf rmp-2.3.11.tar.gz

cd rpm-2.3.11

./configure

make

make install

mkdir /var/local /var/local/lib /var/local/lib/rpm /var/lib/rpm

这样,你就完成了RPM的安装,以后便可以在网上或光盘上寻找软件的RPM安装版。然后使用RPM进行安装,RPM的使用方法很简单:

1. 用RPM安装软件包 :rpm -ivh 软件文件名

例如 rpm -ivh fvwm95-2.0.43a.chinese-1.i386.rpm 屏幕上就会输出该软件包的名称和安装的进度条:

fvwm95 ###############

当进度条走到底,中文fvwm95(一种X-Window的界面)就安装完了,再运行X-Window,啊,全中文的fvwm95就在我的眼前。

2. 用RPM反安装软件包:rpm -e 软件名

例如:rpm -e fvwm95

3. 用RPM升级软件包:rpm -Uvh 软件升级版文件名

例如:rpm -Uvh
fvwm95-2.1.0a.chinese-1.i386.rpm,RPM自动反安装原来的老版本,将升级版的软件安装入系统。怎么样,不难吧!

三、如何安装Linux的应用软件

对于普通用户,安装或升级软件可以用Red
Hat公司的软件包安装与管理工具RPM。使用后你就可以轻松安装软件、升级软件和卸载软件并查询软件信息。

如果你安装的是Red Hat Linux,那么你就可以使用RPM了,如果不是,你可以先安装RPM。方法如下:

1. 下载RPM软件包: ftp://ftp.redhat.com/pub/code/rpm/rpm-2.3.11.tar.gz

四 、如何在Windows系统中查看Linux的文件

通过使用装载命令mount,我们能够在Linux中轻松地查阅、使用Windows的文件。俗话说有来有往嘛,我们当然也希望在Windows中能看到Linux的文件。可是Windows可不像Linux那么友好,并未备有与Linux沟通的工具,怎么办呢?别急,网络上有个小工具叫Linuxdos,不到500K,运行在Windows下,专用于查看Linux的文件。运行之后,你可以选择驱动器,然后它就像资源管理器一样列出Linux的文件系统。

五、如何汉化Linux

Linux的母语是英文,所以满屏幕都是“英国老鼠”,用起来特不方便,如果想输入中文更没辙。不过现在的中国软件人员可谓人才辈出,已经为Linux的汉化提供了全面的解决方案。

1.中文模拟终端chdrv

首先,总得让Linux能显示中文吧!chdrv是在命令行下的中文模拟终端,也就是说,只要你装上了它,你就可以在Linux的命令行状态下显示和输入汉字了。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。tty1到tty6不会受到它的影响。

如果你能找到RPM格式的安装包,就可以轻松地使用RPM安装程序安装它。否则你可以到ftp://ftp.ihep.ac.cn/pub/chinese/system分别取得
chdrv 的已编译的chdrvbin-0.23.gb.tar.gz和字体文件chdrvfont.tar.gz。然后用root登录,依次执行以下命令:

tar xvzf chdrvbin-0.23.gb.tar.gz 将编译好的chdrv解压到chdrv-0.23.gb目录

mv chdrvfont.tar.gz chdrv-0.23.gb/ 将字体文件移到chdrv-0.23.gb目录

cd chdrv-0.23.gb 进入此目录

./installbin 运行安装文件

2.中文输入服务器xcin

如果你常在X-Window中使用Linux,一定试试用XCIN来解决中文输入的问题。XCIN 是Xwindow Chinese
INput的缩写,是一个在X-Window模式下运行的中文输入系统,安装它后,X-Window的所有终端都将提供中文服务。

你可从ftp://ftp.ihep.ac.cn/pub/chinese/system/xcingb-2.2.tar.gz取得GB码版的XCIN文件包。然后

用root登录,依次执行以下命令:

tar xzvf xcingb-2.2.tar.gz 解压缩

cd xcingb-2.2 进入目录

./configure 修改安装选项

make 编译

make install 安装

同样,如果你能找到该软件的RPM安装版,可以用RPM来安装。

到此为止,我们已经介绍了在命令行下和X-Window中使用中文的方法。可是在文本编辑软件中依然只能显示中文,却无法输入汉字。要解决这个问题必须自己动手修改两个地方:

1) 为不同shell设置

若使用Bash Shell:在 /etc/profile 增加下面的内容:

stty cs8 -istrip

stty pass8

export LANG=C

export LC_CTYPE=iso-8859-1

若使用Tcsh Shell:在 /etc/csh.login 或 /etc/csh.cshrc 增加设定如下:

stty cs8 -istrip

stty pass8

setenv LANG C

setenv LC_CTYPE iso-8859-1

2) 在自己主目录下的.inputrc文件中增加下面的内容:

set convert-meta off

set output-meta on

3.中文的窗口管理器 C-fvwm95

fvwm95就像是Linux英文Win95,中国的Linux用户一直期望有一天能在中文的窗口下使用Linux。这一愿望现在终于成为现实。中国科学院高能物理研究所计算中心的于明俭先生将fvwm95作了汉化,我们终于可以将fvwm95上那些讨厌的英文换成汉字了!大家可以到ftp.ihep.ac.cn/pub/chinese/packages/中下载汉化了的fvwm95的源代码。它所用的字库也可以在ftp.ihep.ac.cn/pub/chinese/fonts/pcf/中取得。下载文件中附带了安装说明。

4.下载BluePoint Linux Star Preview(蓝点预览版)

蓝点预览版基于Red Hat,内含:中文内核(kernel);控制台中文显示/输入;中文Xserver(CXWIN
0.6),X的中文显示/输入;汉化Message和相应库文件,经过中文化和本地化处理的NLS message和库文件。

a. 中文内核

1. 性能卓越, 内核实现中文支持,占用资源极少,速度极快.

2. 多语言支持, 同屏显示多内码(GB/BIG5).

3. 兼容性极好,内核兼容上层应用程序,最彻底的解决办法.

4. 支持高分辨率, 完全取决与用户自己的硬件限制.

5. 支持各种字体,支持简繁字体共14种.

6. 热键切换语言环境(GB/BIG5/EN).

b. 中文Xserver

1. 兼容性好,至少95%的纯西文应用软件可以支持中文处理.

2. 内置输入和显示支持,使用非常方便,无须另外安装输入模块.

3. TTF字库支持.

4. 支持GB/BIG5内码.

c. 汉化Message和相应库文件

1. 提示中文化,开机、关机和常用软件的消息提示全部中文显示。

如果需要安装中文xwindow和输入法,则需要下载star-cxwin.tar.gz. 如果需要安装中文控制台及语言环境,
则需要下载star-zhcon.tar.gz 如果需要在控制台上使用24点阵汉字库, 请下载star-font24.tar.gz
注意:别忘了下载Install安装脚本! 在安装前请仔细阅读README和 常见问题问答!

安装方法

1) 创建一个目录, 将所有下载来的文件放在里面.

2) 以root身份执行安装脚本: # bash Install

3) 安装脚本会先检查系统的配置,还会自动搜索TTF字库, 接下来就是对旧配置文件 进行备份, 最后

开始安装.

4) 完成安装, 如果安装了中文控制台环境, 则需要重新启动.

六、如何设置声卡

不用我说,这可是十分要紧的工作!不过如果你安装了RED HAT Linux,则这项工作就简单了!

用root登录系统,运行/usr/sbin/sndconfig。出现选择声卡类型的画面。一般声卡可以选取Sound Blaster 。

选完声卡后再设置有关的资源。用TAB键结合方向键作出选择后,按OK,如果听到Linus(Linux的创始人)说话的声音,就说明声卡设置成功了。真像老式DOS游戏的声卡设置……

⑦ 虚拟机linux安装常见问题

1、是
2、否
3、是(虚拟机中的linux只是windows中的一个磁盘文件,卸载虚拟机软件不会删除此文件,以后重装虚拟机,设置后,还能用源来的linux)
建议:虚拟机跑不出linux的优势,装双系统是最好的了。

热点内容
缓存区数据读写原理 发布:2025-05-15 03:39:57 浏览:585
编译器生成的是二进制文件吗 发布:2025-05-15 03:38:42 浏览:955
运营为什么区分ios和安卓 发布:2025-05-15 03:30:02 浏览:630
主播网站源码 发布:2025-05-15 02:50:56 浏览:168
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:536
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:670
php宏定义 发布:2025-05-15 02:32:54 浏览:271
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:521
存储机箱 发布:2025-05-15 02:31:31 浏览:837
编程很累吗 发布:2025-05-15 02:29:25 浏览:553