其他分享
首页 > 其他分享> > 几个小问题

几个小问题

作者:互联网

1、 无法设置用户进程限制

在使用命令ulimit的时候,发现手动能调整用户的进程数量,如下所示:

[root@RHEL8 ~]#ulimit -u(默认最大的用户进程数,user process)

1024

[root@RHEL8 ~]#ulimit -u 4096(将用户进程数最大值修改为4096,临时生效)

[root@RHEL8 ~]#ulimit -u (查看用户进程数量)

4096

进行永久设置如下:

[root@RHEL8 ~]#ls -l /etc/security/limits.conf (永久生效的配置文件)

-rw-r--r-- 1root root 1896 Jan 16 00:43 /etc/security/limits.conf

[root@RHEL8 ~]#grep nproc /etc/security/limits.conf (修改所有用户的最大进程数量为4096)

*     soft  nproc             4096

*     hard nproc             4096

[root@RHEL8 ~]#ulimit -u(重启测试查看,发现没有变化)

1024

然后开始检查所有的环境变量配置文件,查看其中是否进行设置ulimit,如下配置文件:

[root@RHEL8 ~]#ls -l ~/.bashrc ~/.bash_profile /etc/profile /etc/bashrc (没有进行设置限制)

-rw-r--r--  1 root root 2681 Jan 16 00:57 /etc/bashrc

-rw-r--r--. 1root root 1793 Jun 30  2011 /etc/profile

-rw-r--r--. 1root root  176 May 20  2009 /root/.bash_profile

-rw-r--r--. 1root root  176 Sep 22  2004 /root/.bashrc

查看/etc目录下的所有文件,进行ulimit过滤,如下:

[root@RHEL8 ~]#find /etc/ |xargs grep "ulimit" (未发现设置ulimit)

在环境变量中设置ulimit,查看是否能够生效:

[root@RHEL8 ~]#echo "ulimit -u 2048" >>/etc/bashrc (在环境变量中追加ulimit设置)

[root@RHEL8 ~]#tail -1 /etc/bashrc

ulimit -u 2048

[root@RHEL8 ~]#ulimit -u (重启测试)

2048

最后,在进行全盘查找的时候,试试使用nproc进行查找,如下:

[root@RHEL8security]# find . |xargs grep "nproc" | awk '{print $1}' (查找直接nproc设置ulimit)

./limits.d/90-nproc.conf:*

./limits.conf

[root@RHEL8 ~]#cd /etc/security/limits.d/ (查看默认设置用户进程数)

[root@RHEL8limits.d]# ls

90-nproc.conf

[root@RHEL8limits.d]# cat 90-nproc.conf

# Default limitfor number of user's processes to prevent

# accidental fork bombs.

# See rhbz#432903 for reasoning.

 

*          soft    nproc    1024

发现在配置文件90-nproc.conf中进行设置了默认的用户进程数,用来进行防止bash炸弹,在默认情况下用户的进程数为没有限制,从而使用1024作为用户进程最大数量限制,即使是root用户也会受制于次设置,最后将此文件中的设置删除即可设置用户的最大进程数。

重启测试发现能够正常设置,如下:

[root@RHEL8 ~]#ulimit -u(ulimit用户进程数能正常设置)

4096

2、 文件名中文显示乱码

在很多时候,如果主机上有文件名为中文,可能会显示为乱码,如下所示:

[root@RHEL8 ~]#ls -l

total 4

drwxr-xr-x 2root root 4096 Jan 16 02:18 涓..娴..

当需要进入此目录时,有几种方式可以进去,如下:

[root@RHEL8 ~]#cd  ???牟??(直接拷贝显示的乱码,然后直接cd进去,可能会进去)

[root@RHEL8 中文测?#

将文件进行改名:

[root@RHEL8 ~]#ls -li(查看文件的inode号)

total 4

391690 drwxr-xr-x2 root root 4096 Jan 16 02:25 ???牟??

[root@RHEL8 ~]#find -inum 391690 -exec mv {} kel \; (使用find修改文件名,虽然报错,但是依旧能修改成功)

find:`./\326\320\316牟\342\312': No such file or directory

[root@RHEL8 ~]#ls -l(查看修改之后的文件名)

total 4

drwxr-xr-x 2 rootroot 4096 Jan 16 02:25 kel

还有就是利用上传下载工具,将文件下载下来,然后进行命名为英文名,然后再次上传即可。

删除的时候,如下所示:

[root@RHEL8 ~]#ls -li

total 4

391690 drwxr-xr-x2 root root 4096 Jan 16 02:30 ???牟??

[root@RHEL8 ~]#find -inum 391690 |xargs rm -rf (根据索引号删除文件)

[root@RHEL8 ~]#ls -l

total 0

修改终端编码(显示正确的汉字),如下:

[root@RHEL8 ~]#ls -l(修改终端编码后能正常显示中文名称)

total 4

drwxr-xr-x 2root root 4096 Jan 16 02:18 中文测试

 图片

3、 无法启动init 5

在启动级别为5的时候,无法启动,报错如下:

[root@RHEL8 ~]#tail -f /var/log/messages (日志错误信息)

Jan 16 06:52:39RHEL8 init: start-ttys main process (1165) terminated with status 1

Jan 16 06:52:39RHEL8 init: prefdm main process (1164) terminated with status 1

Jan 16 06:52:39RHEL8 init: prefdm main process ended, respawning

Jan 16 06:52:39RHEL8 init: prefdm main process (1185) terminated with status 1

Jan 16 06:52:39RHEL8 init: prefdm main process ended, respawning

在无法启动5级别服务的时候,依旧是可以使用ssh连接的,从而可以直接切换到3级别,然后使用,如下:

[root@RHEL8 ~]#init 3(切换到3级别)

[root@RHEL8 ~]#init 5 (切换到5级别)

[root@RHEL8 ~]#runlevel (查看当前级别)

3 5

上面的主要原因是没有安装KDE包,从而进行安装KDE包,如下:

[root@RHEL8 ~]#yum -y groupinstall "KDE Desktop" (安装KDE包)

在安装完毕之后,可以重启尝试,然后使用命令startx来尝试启动桌面即可:

[root@RHEL8 ~]#startx  (启动桌面环境)

 


标签:16,几个,etc,RHEL8,问题,ulimit,nproc,root
来源: https://blog.51cto.com/15060545/2654260