1、问题:centos7 系统非法关机后,进入maintainence模式
解:/etc/fstab文件中定义了cdrom的挂载项,但cdrom未插入,删除后即可
析:自动挂载/etc/fstab中的文件系统是系统启动流程中的一步,但不知道小小的一个不能挂载问题会造成
系统无法正常启动。journalctl -b查看系统启动日志,分析原因。
2、console、terminal、tty、pty、pts
解:console,物理控制台;
terminal,终端;
tty(TelTYpeterminal),远程终端,现在系统中的tty指text terminal;
pty,虚拟终端
析:
https://blog.csdn.net/bdss58/article/details/77779672
3、2.6.18升级到2.6.36启动报错"mount: could not find filesystem ‘/dev/root’"
解:修改.config文件中将被注释掉的CONFIG_SYSFS_DEPRECATED_V2改成
CONFIG_SYSFS_DEPRECATED_V2=y 修改这项是因为旧版的mkinitrd及其nash在内核没有
CONFIG_SYSFS_DEPRECATED_V2参数时默认使用旧版sysfs路径格式,
从而在新内核下无法正确访问/sys内的硬盘信息节点。
析:还是google处理的,自己无法分析出问题所在
4、编译内核,make modules_install时只输出3行信息,make install提示“no modulesg rubby
fatal error: unable to find a suitable template”,内核版本(F:\linux-2.6.32.1.tar.gz)
5、备忘:
命令:openssl、grub-md5-crypt、dirs、pushd、popd、md5sum、basename、dirname
expect、dmsetup、lsof、fuer
6、centos-7(web1):/boot/grub2/grub2.conf文件中第14行if [ “${next_entry}” ] ;表达式含义
解:测试变量${next_entry}是否为空;不空则返回状态值0,空则返回状态值1;
7、[ x"${var}" = xy ] 为什么不直接写成[ ${var} = y ]
解:写成后面的表达式时,如果${var}的值为空,会造成表达式语法错误;
写成前者时,即使${var}的值为空,表达式含义依然正确表达;
8、grub2的编译安装和使用
9、grub-install时提示The file /selinux//boot/grub/stage1 not read correctly.
解:
1、网上搜索说问题在于/etc/fstab、/etc/mtab文件中根分区位置发生变化;但此处无误;
2、使用dd if=/dev/zero of=/dev/sdb count=1 bs=600 清除磁盘首个sector的所有信息,重新分区格式化;
3、为新磁盘启动准备的文件和目录中删除boot/grub(前面已经错误安装了一些文件)
10、尝试制作mini linux时,启动提示
解:https://my.oschina.net/jennerlo/blog/806572
11、系统启动时卡在 : dracut: Switching root 不动
解:当系统启动的时候会检查initscripts里的/etc/init的完整性,如果存在问题及会卡住。可以在救援模式或者
启动时指定init=/bin/bash,绕过init初始化,进入bash后再排查init的问题
12、启动提示mount:could not find filesystem /dev/root,无法启动
13、内核make install提示WARNING: No module mptspi found for kernel
14、ssh连接无法打开图形工具。
解:1、远程系统A上确保开启了Xserver图形服务
2、被远程系统B上echo “export DISPLAY=A_ip:0.0”
15、glibc被卸载了,如何抢救?
解:对glibc的功用足够了解就有思路去解决问题,以下参考:
https://zhuanlan.zhihu.com/p/20062978
16、Centos 6中网卡配置文件不生效?
解:Centos 6中引入了新的网络管理服务NetworkManager,旧的网络管理服务无法生效;关闭
NetworkManager服务后,配置文件正常生效
拓展:
理解NetworkManager的工作机制和配置方法
17、sed -i ‘/k prot/agcc_cv_libc_provides_ssp=yes’ gcc/configure ,这条命令的含义
命令见https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter05/gcc-pass1.html
18、磁盘新建分区,进行格式化提示
“/dev/sdc2 is apparently in use by the system; will not make a filesystem here!”
解:
1、fuser、lsof未显示占用;
2、google回答可能lvm信息残留:
dmsetup status:查看是否有残留信息;
dmsetup clear /dev/sd#:清楚lvm信息;
但此答案不适应当前情况,未解决。
3、
19、ln命令的使用:
ln target link:
1、target为相对路径,link为绝对路径时;
创建以link所在目录为基准,相对路径文件target的链接文件link
例:ln -sv cat /var/log/tac:在创建/var/log/cat文件的软链接/var/log/tac;
2、target为绝对路径时,link为相对路径时;
link以工作目录为基准创建相对路径链接文件;
例:ln -sv /tmp/a/b c:在当前工作目录创建链接文件c指向/tmp/a/b
3、都为相对路径时:(一般用于程序内部链接,减少文件系统结构的变更造成的链接不可用)
创建以当前工作目录为基准的相对路径链接文件link,指向以link所在目录为基准的相对路径文件target;
例:ln -sv ../a/b c :在当前目录中创建c链接文件,指向当前目录的父目录a下的b文件;
4、都为绝对路径,无疑义。
20、当一个软链接文件指向一个目录时,注意一下命令的不同:
rm link/:删除目录下的所有文件,原目录文件会被删除;(慎重!!!)
rm link:仅删除软链接本身。
21、tar解压时提示“tar (child): lbzip2: Cannot exec: No such file or directory”
解:未安装bzip2压缩和解压缩工具,安装后即可
22、linux各发行版相同包管理器的软件包为什么不能混用,同一发行版新旧系统的软件包安装时提示
“warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
”
23、yum remove 和rpm -e 等操作要谨慎使用,会删除所以被依赖的包和库;
24、用户家目录文件全部被误删,如何找回配置文件;
25、mount --bind 绑定挂载:
解:绑定挂载是一种特殊的挂载模式,它允许在另外的位置创建某个目录或挂载点的镜像
具体用途:
26、软件升级问题:
1、如果需要升级 Glibc 到新版本(比如,从 glibc-2.19 升级到 glibc-2.20),重新构建整个 LFS 会
比较安全。虽然你也许能够按依赖关系重新编译所有的软件包,不过我们不建议这样做
2、如果某个包含的动态库的软件包升级了,而且库名字有改变,那么所有动态链接到这个库的软件包都需
要重新链接新的库。注意在所有依赖软件包重新编译完成之前,请不要删除旧版的库文件。
27、修改软链接的元数据信息,原文件并不会跟随改动;
28、echo ‘- - -’ > /sys/class/scsi_host/host[0|1|2]/scan:扫描新加scsi设备的信息;
29、ssh中打开firefox提示‘Error: cannot open display: localhost:10.0’
解:/etc/ssh/sshd_config中已经打开了X11 Forwarding yes;查看/etc/hosts文件,没有localhost的
主机名解析,添加条目127.0.0.1 localhost后,打开成功;
30、文件权限造成的服务无法启动或者访问受限等问题:
https://blog.csdn.net/u011350541/article/details/80656797
31、centos7运行system-config-kickstart时报错
解:https://blog.51cto.com/oldking/1876181
32、设置ftp、http网络安装源提示‘unable to retrieve ftp install.img’
解:服务器虚拟机网络是桥接的,客户机虚拟网络是nat的,导致网络不通!!
33、pxe安装centos6,提示找不到ks.cfg文件
环境:服务器端部署dhcp、tftp、ftp服务,tftp放置了pxe引导启动文件,ftp放置了ks.cfg和
安装源文件
问题:客户机设置pxe启动,能够准确获取到ip,并下载pxe引导启动文件,加载内核和initrd文件
在加载ks.cfg文件时提示搜寻不到文件
解决:
1、用另一台客户机测试ftp服务,文件正常获取;
2、在内核加载完成、initrd文件展开后,ping客户机获取的ip地址,无法ping通,判断网络故障;
3、修改tftp服务目录下的pxelinux.cfg目录下的default文件,修改APPEND参数,添加ip=,
netmask=,之后网络正常,安装过程顺利进行
问题:
dhcp获取到ip地址后,难道在内核加载之后,ip地址失效?
34、安装epel源,提示‘Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again’
解:https://stackoverflow.com/questions/26734777/yum-error-cannot-retrieve-metalink-for-repository-epel-please-verify-its-path
解释是epel源路径显示是https加密访问,需要更新证书或者修改为http:
1、更新ca证书,其他源类似的错误提示,可以参照此方法解决
yum --disablerepo=epel update ca-certificate -y
但此方法对于我的情况无效;
2、替换https访问为http访问
sed -i ‘s/https/http/g’ /etc/yum.repos.d/epel.{repo,testing}
it works!
3、在/etc/yum.repos.d/epel.repo和epel-testing.repo中注释mirrorlist行,取消注释baseurl行
sed -i ‘s/^mirrorlist/#&/;s/^#baseurl/baseurl/’ /etc/yum.repos.d/{epel,epel-testing}.repo
35、bash中printf的用法(和awk中格式稍有不同)
解:http://www.runoob.com/linux/linux-shell-printf.html
36、数字列表展开的使用注意:
{1.。5}:展开为1 2 3 4 5
num=5&& {1.。$num}:使用大括号展开列表时不支持使用变量,要使用seq命令:
·seq 1 $num· :展开成功;
37、bash比较表达式的比较符号两边要有空格,如:
test [[ $string == "haha" ]]:双等号两边要有空格,不然会造成语义错误;
38、bash中数值的比较不支持使用符号(<,>,=等),要使用字母(-eq,-gt,-le等)
39、sum+=
i
和
l
e
t
s
u
m
+
=
i和let sum+=
i和letsum+=i的区别
解:做了一个continue用法的举例如下:
for i in ·seq 1 100·;do
if [ $[$i%2] -eq 0 ];then
sum+=$i;
else
continue;
fi
done
echo $sum
本意是求1-100内的偶数之和,但sum最后的值为1-100之内偶数的连接排列;使用let
sum+=$i后结果正常输出;
析:let 关键字表示进行算术运算
不加关键字,只是简单的字符连接
字符连接也有其用途,将多个变量的值存储在一个变量中进行处理;
40、status命令(见于httpd启动脚本文件)的作用?
41、bash中变量取值的疑惑:$ {var:-value}和$ {var-value}似乎是一样的效果,是否类似的用法中
:可以省掉?如${var:=value}等等,测试并总结入bash特性之变量的使用。
42:centos 6登录输入用户名回车后卡住很久,ssh也连接不上,日志文件:D:/L-to-W/学习疑问辅助记录/42.log;虚拟机快照:centos-6.5-1 快照2
43、pid文件和锁文件的作用?
44、主题:虚拟机;
问题:两台都是桥接模式的虚拟机设置两个同网段的ip,无法相互ping通;
尝试:关闭防火墙、关闭selinux;检查路由即掩码配置、检查接口是否启动,ip是否冲突
解决:虚拟机是克隆生成的,在关闭有问题的虚拟机后,手动重新生成新的网卡mac地址,重新
启动,问题解决
45、主题:网络
问题:centos 6虚拟机启动后只有lo接口,重启network service才有其他两个网卡接口
46、主题:网络
环境描述:各网段分别处于不同交换机,主机A网口分别连接三个交换机
子网A:192.168.1.0/24
子网B:192.168.2.0/24
子网C:192.168.3.0/24
主机A:
Linux系统,打开forward功能作转发
IP:192.168.1.1;192.168.2.1;192.168.3.1
主机B:
Linux系统,网关指向192.168.2.1
IP:192.168.2.2
主机C:
Linux系统,网关指向192.168.3.1
IP:192.168.2.3;192.168.3.3
主机D:
windows系统,网关指向192.168.1.1
IP:192.168.1.4;192.168.3.4
问题描述:
同网段相互能ping通
1、其他各主机IP可以互相ping通(除下)
2、主机D可ping通192.168.2.2(主机B),ping不同192.168.2.3(主机C)
3、主机C网关指向192.168.2.1,主机D可以ping同192.168.2.3(主机C)
什么原因
47、shell环境变量display:
https://blog.csdn.net/qq_27298687/article/details/70738945
48、ssh无法免密登录:
ssh-copy-id命令传输公钥到服务器端后,后续登录仍提示输入密码
解:
用户家目录权限不匹配导致的,一般:
/root目录的权限为550
普通用户家目录权限为700