Linux 问题手册
简介
python 问题
安装python包时报:read timed out
执行如下命令:
# pip install --default-timeout=100 future
执行mvn package 发生内存溢出
增加mvn的堆空间:
Windows下,在mvn.cmd中增加如下信息:
set MAVEN_OPTS= -Xms1024m -Xmx4096m
Linux下,在~/.bash_profile文件中增加如下信息:
export MAVEN_OPTS="-Xms1024m -Xmx3024m"
Eclipse使用maven时,要进行配置
首选项-->maven-->安装-->选择安装路径
网络类
不能找到ifconfig命令?
# yum install net-tools.x86_64
不能找到lsb_release 命令?
# yum install -y redhat-lsb
不能找到grub2命令?
# yum install grub2-tools.x86_64
不能找到pvcreate命令?
# yum install “*pvcreate*”
不能找到xfs相关命令?
# yum install xfsprogs
不能找到ping命令?
RHEL/CentOS
yum install iputils
Ubuntu
apt-get install inetutils-ping
linux 只下载不安装rpm?
单个包下载:
yumdownloader --destdir=./ kernel-ml
可以将依赖包都下载
yum install --enablerepo=elrepo-kernel --downloadonly --downloaddir=./ kernel-ml-4.20.12-1.el7.elrepo.x86_64
设置双网卡的时候,ping不通,怎么办?
根本原因,linux启用了反向路由检查
关闭反向路由检查(根据自己的情况替换第二第三行的网卡名):
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
IPv4中有哪些地址是私有地址?
A类:10.0.0.0 - 10.255.255.255 (10/8 prefix)
B类:172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
C类:192.168.0.0 - 192.168.255.255(192.168.255.255/24 prefix)
执行make时报jemalloc.h: No such file or directory?
# make MALLOC=libc
如何设置locale?
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
dig和nslookup命令缺失?
# yum install bind-utils
缺失字体?
# yum install fontconfig
# yum install ghostscript-fonts
# yum install urw-fonts
Linux 目录显示乱码?
# yum install convmv -y
#把文件名从utf8转换为gbk
# convmv -f UTF-8 -t GBK -r --notest *
Linux xz格式的文件怎么解压?
# xz -d file.xz
系统不支持创建更多的loop 设备怎么办?
默认情况下系统支持的loop device是8个
如果需要超过8个loop device,那么使用losetup命令的时候可能会遇到类似的错误 'no such device',这 是因为超过了可用loop device设备的最大限制,依据你的Linux系统,可以通过修改 /etc/modprobe.conf 配置文件,增加如下参数的方式进行扩展
options loop max_loop=20 --比如我增加到20个
如果要马上生效的话,可以执行以下命令立即加载该模块。
modprobe -v loop
系统不能找到brctl相关命令?
yum install -y bridge-utils
如何将iso文件挂载?
# mount -o loop centos-7-x86-1810.iso /cloud/temp
系统出现大量的rcuob和rcuok怎么办?
# vim /etc/default/grub,在GRUB_CMDLINE_LINUX这一行末尾添加nr_cpus=2,然后执行命令grub2-mkconfig -o /boot/grub2/grub.cfg,重启
windows下的文件上传到linux服务器乱码?
# yum install convmv
# convmv -f gbk -t utf-8 -r notest /home/filepath
apache服务浏览目录文件乱码?
# 增加如下的配置:在(/var/www/html的Directory下)
IndexOptions NameWidth=25 Charset=UTF-8
如何修改用户的shell?
# usermod --shell /bin/bash mysql
或者
# chsh --shell /bin/bash mysql
- 启动Nginx报:Nginx unknown directive...?
# nginx.conf配置文件的格式为:Bom格式,修改或者另存为:无Bom格式。
使用UDP协议的应用和应用层协议有哪些?
# DNS 域名解析系统
# TFTP 简单文件传送协议
# RIP 路由信息协议
# DHCP 动态主机配置协议
# SNMP 建档网络管理协议
# NFS 网络文件系统
# IGMP 网际组管理协议
使用TCP协议的应用和应用层协议有哪些?
# SMTP 简单邮件传输协议
# TELNET 远程终端协议
# HTTP 超文本传送协议
# FTP 文件传送协议
tmp目录下的文件自动丢失?
tmp下的文件是由 /etc/cron.daily/tmpwatch文件中的配置控制,默认为:10d,也就是10天
如何利用chrony进行时间同步的问题?
安装chrony,并配置chrony中的server,例如:
server 10.0.132.175 iburst
启动chrony服务:
systemctl start chronyd
如何设置crontab?
通过crontab -e命令设置:
格式如下:
* * * * * {command}
* 分钟
* 小时
* 天
* 月
* 周中的某一天
command: 要执行的命令
如果通过root配置,生成信息位于:
/var/spool/cron/root 中
如果要配置dns,但是域名解析的安装包没有装,怎么办?
# yum install bind*
备注:
其实安装bind-chroot即可
knotify4 消耗大量的cpu和内存资源?
如何判断硬件是否支持虚拟化?
Intel: cat /proc/cpuinfo |grep vmx
Amd: cat /proc/cpuinfo | grep svm
如何启用kvm内核模块?
kvm.ko & kvm_intel.ko |kvm_amd.ko
git 通过ssh连接费标准端口怎么办?
git clone ssh://git@47.244.57.204:87/zhongying/api.git
git http方式clone代码?
git clone http://username:password@地址/test.git
如果username和password中有@符号,替换为:%40
git clone 时显示Filename too long的解决办法
在git bash中,运行下列命令: git config --global core.longpaths true 就可以解决该问题
locale: Cannot set LC_CTYPE to default locale: No such file or directory怎么办?
locale -a 查看所有可以识别的字符编码
在gcc目录执行:./contrib/download_prerequisites
这个命令会下载几个包:mpfr, gmp,mpc,isl
三个包下载到contrib目录,并切已经解压,软连接都会创建,需要手工编译安装,编译安装顺序:gmp, mpfr mpc
windows如何生成md5的hash码?
CertUtil -hashfile {fileName} MD5
CertUtil -hashfile {fileName} SHA256
CertUtil -hashfile {fileName} SHA512
su: /bin/bash: Too many open files in system?
cat /proc/sys/fs/file-max
vi /etc/sysctl.conf
修改fs.file-max = 6553600
sysctl -p
cat /proc/sys/fs/file-max
如何清除windows本地dns缓存?
# ipconfig /flushdns
如果无法在ftp上创建文件夹,怎么办?
在配置文件中增加参数:allow_writeable_chroot=YES
task java:10379 blocked for more than 120 seconds?
在日志中还会看到:/proc/sys/kernel/hung_task_timeout_secs
sysctl -w vm.dirty_ratio=10
sysctl -w vm.dirty_background_ratio=5
sysctl -p
vi /etc/sysctl.conf
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
触发此问题的操作:docker所在宿主机空间满了
sftp 访问比较慢,通过jsch的jar包访问?
增加:sshConfig.put("PreferredAuthentications", "no");
在解决问题之后,说说原因:
sftp的访问时通过ssh协议进行的,在sshd_config中有一个配置项:GSSAPIAuthentication,这个参数是用于设置:登录服务器是否启用:GSSAPI( Generic Security Services Application Programming Interface) ,GSSAPI是一套类似Kerberos 5的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。
服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就会等待超时(感觉出来就是慢)
vsphere 虚拟机在线添加磁盘linux,用fdisk -l查看不到,怎么办?
进入到:/sys/class/scsi_host
查看有几个以host开头的文件,执行如下命令:
echo "- - -" >/sys/class/scsi_host/host0/scan
备注:host0 替换为实际的,有几个以host开头的文件执行几次。
Linux启动vnc服务,远程连接?
vncpasswd root
https://tecadmin.net/setup-vnc-server-on-centos-redhat-and-fedora/
查找相应名称的.pc文件
配置:export PKG_CONFIG_PATH={目录}/{找的pc文件名}.pc:$PKG_CONFIG_PATH
Linux中用free 查看buff和cache使用的空间很多,怎么办?
手工清理方式
$echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
$echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的 pagecache。
$echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。
参考学习的网址[Linux 查询占用内存](https://cloud.tencent.com/developer/information/linux%20%E6%9F%A5%E8%AF%A2%E5%8D%A0%E7%94%A8%E5%86%85%E5%AD%98)
名字: /opt/cleanbuff.sh
#!/bin/bash
echo "开始清理缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 1 > /proc/sys/vm/drop_caches
echo "清理结束"
chmod +x /opt/cleanbuff.sh
crontab -e
* */1 * * * /opt/cleanbuff.sh
每个小时清理一次 (分钟、小时、日、月份、星期)
查看GLIBC 版本支持及碰到问题解决?
strings /usr/lib64/libc.so.6 |grep GLIBC
ldconfig -l -v /home/libc.so.6
LD_PRELOAD=/home/libc.so.6 ln -s /lib64/libc-2.5.so /lib64/libc.so.6
ln -s /lib64/libc-2.5.so /lib64/libc.so.6 这个可以替换为任何可执行的命令
下载内核rpm包的地址是哪里?
http://repos.lax-noc.com/elrepo/kernel/el6/
el6 表示适用于redhat 6,centos-6
el7 表示适用于redhat-7,centos-7
linux 报cpio: read异常处理
此问题一般在安装rpm包时出现,一般表示不是一个完整的包
如何获取文件的最后修改时间及用户名?
# stat -c "%U %y xsb90.txt
如何管理字体库?
yum install -y fontconfig mkfontscale
然后复制windows下的simsun.ttc到/usr/share/fonts/ 目录下 宋体和新宋体
windows使用的是ttf,linux用的是ttc
crontab 定时调度不执行,怎么办?
1. 查看配置是否正确
2. 查看权限是否为可执行
3. 查看/var/spool/clientmqueue下的文件
php 错误
php -i |grep Client 查看是否一致
yum install remove php-mysql
yum inistall php-mysqlnd
- iTop启动报 Whoops, looks like something went wrong
php artisan key:generate
使用 php artisan key:generate 命令时可能会报错
解决办法 使用git 命令行打开将 .env.example重新命名为 .env
mv .env.example .env
然后重新执行 php artisan key:generate
将生成的key复制到config/app.php替换的APP_KEY键值
始终没找到app.php文件,根据提示的信息,大概知道是用户或者权限不对,将apache启动用户和项目文件的用户调整为同一个,调整合适的读写权限,重新启动后解决。
windows下如何查看文件的md5?
certutil -hashfile filename MD5
certutil -hashfile filename SHA1
certutil -hashfile filename SHA256
不能通过brctl删除flannel?
ifconfig flannel.1 down
brctl delbr flannel.1
报:can't delete bridge flannel.1:Operation not permitted
原因:正确的操作删除veth接口的方法,veth接口不是桥接器,所以当然你不能用brctl删除它
解决方法:
ip link delete flannel.1
lvm扩容
* 创建新盘
/dev/sdb
* 查看vg以及lv
vgdisplay
lvdisplay
* 从设备创建盘符
/dev/sdb ---> /dev/sdb1
* 创建pv
pvcreate /dev/sdb1
也可以不创建pv直接对裸盘进行操作
* 扩容vg
vgextend systemvg /dev/sdb1
* 扩容lv
lvextend -L +50G /dev/systemvg/optlv
* 生效
resize2fs /dev/systemvg/optlv
如果系统盘是xfs,增加执行如下命令:
xfs_growfs /dev/systemvg/optlv
lvm 创建
* 创建pv卷
pvcreate /dev/vdb1
* 查看pv卷
pvs
* 创建vg卷
vgcreate datavg /dev/vdb1/
* 查看vg卷
vgs
* 创建逻辑卷 -L 指定分区大小 -n 指定lvm名称
lvcreate -L 50G -n lv1 datavg
* 使用mkfs.ext4命令在逻辑卷lvmServer上创建ext4文件系统
mkfs.xfs /dev/datavg/lv1
* 挂在分区到本地目录/server
mount /dev/datavg/lv1 /server/
* 修改fstab 开机自动挂载
/dev/datavg/lv1 /data xfs defaults 0 0
vmware扩展分区
关机状态下,编辑此虚拟机
扩展,调整磁盘空间
点击确认,会有提示
开机,进入系统,发现磁盘空间没变化;
fdisk /dev/sda
m
n
p
一般默认为:3 默认即可
最后按:q 退出
mkfs.ext4 /dev/sda3
pvcreate /dev/sda3
partprobe
lvdisplay 查看要扩展的lv的所在vg(我的为zstack)
vgextend zstack /dev/sda3
lvextend -L +39.9 /dev/zstack/root (如果此命令不行执行: lvextend -l +100%FREE /dev/zstack/root)
xfs_growfs /dev/zstack/root
df -h
如何清理dns记录?
* rndc flush
如果不能找到rndc命令:安装bind包
启动本地DNS 缓存服务即可:
# service nscd start
反之
# service nscd stop
possible memory allocation deadlock in kmem_zone_alloc?
如果有rpm包找不到怎么办?
http://rpm.pbone.net/ 网站可以查找搜索需要的包