centos 修改菜单 centos7关闭防火墙命令
大家好,今天来为大家分享centos 修改菜单的一些知识点,和centos7关闭防火墙命令的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
【实用】CentOS 7系统优化脚本
作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。
脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。
脚本结构如下:
1.主菜单
2.二级菜单
主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。
脚本代码如下:
sh
#!/bin/sh
./etc/rc.d/init.d/functions
exportLANG=zh_CN.UTF-8
#一级菜单
menu1(){
clear
cat</etc/locale.conf</dev/null
echo'#firewall-cmd--state'
firewall-cmd--state
systemctldisablefirewalld.service&>/dev/null
echo'#systemctllist-unit-files|grepfirewalld'
systemctllist-unit-files|grepfirewalld
action"完成禁用firewalld,生产环境下建议启用!"/bin/true
echo"==========================================================="
sleep5
}
#精简开机启动
chkset(){
echo"=======================精简开机启动========================"
systemctldisableauditd.service
systemctldisablepostfix.service
systemctldisabledbus-org.freedesktop.NetworkManager.service
echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'
systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
action"完成精简开机启动"/bin/true
echo"==========================================================="
sleep2
}
#修改文件描述符
limitset(){
echo"======================修改文件描述符======================="
echo'*-nofile65535'>/etc/security/limits.conf
ulimit-SHn65535
echo"#cat/etc/security/limits.conf"
cat/etc/security/limits.conf
echo"#ulimit-Sn;ulimit-Hn"
ulimit-Sn;ulimit-Hn
action"完成修改文件描述符"/bin/true
echo"==========================================================="
sleep2
}
#安装常用工具及修改yum源
yumset(){
echo"=================安装常用工具及修改yum源==================="
yuminstallwget-y&>/dev/null
if[$?-eq0];then
cd/etc/yum.repos.d/
\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
ping-c1mirrors.aliyun.com&>/dev/null
if[$?-eq0];then
wget-O/etc/yum.repos.d/CentOS-Base.repo
yumcleanall&>/dev/null
yummakecache&>/dev/null
else
echo"无法连接网络"
exit$?
fi
else
echo"wget安装失败"
exit$?
fi
yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null
action"完成安装常用工具及修改yum源"/bin/true
echo"==========================================================="
sleep2
}
#优化系统内核
kernelset(){
echo"======================优化系统内核========================="
chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`
if[$chk_nf-eq0];then
cat>>/etc/sysctl.conf</dev/null
if[$?-eq0];then
/usr/sbin/
echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root
else
echo"ntpdate安装失败"
exit$?
fi
action"完成设置时间同步"/bin/true
echo"==========================================================="
sleep2
}
#history优化
historyset(){
echo"========================history优化========================"
chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`
if[$chk_his-eq0];then
cat>>/etc/profile<<'EOF'
#设置history格式
exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"
#记录shell执行的每一条命令
exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF
source/etc/profile
else
echo"优化项已存在。"
fi
action"完成history优化"/bin/true
echo"==========================================================="
sleep2
}
main(){
menu1
case$num1in
1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;
2) menu2
case$num2in
1) localeset;;
2) selinuxset;;
3) firewalldset;;
4) chkset;;
5) limitset;;
6) yumset;;
7) kernelset;;
8) sshset;;
9) restartset;;
10) ntpdateset;;
11) historyset;;
12) main;;
13) exit;;
*) echo'Pleaseselectanumberfrom[1-13].';;
esac
;;
3) exit;;
*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;
esac
}
main$*
将脚本保存为init.sh,赋予执行权限并执行即可。
chmod+xinit.sh&&./init.sh
通过一键命令执行,同样能达到脚本的效果:
bash-c"$(curl-Ls.aaa.al/init.sh)"
如需新增功能,可在脚本基础上进行修改实现。
本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。
centos如何进入单用户模式
掌握单用户模式:三种方法让你轻松修复 CentOS/RHEL 7/8系统
在面临系统问题时,单用户模式或维护模式是个强大工具,超级用户可以在此环境中进行修复和管理。当常规多用户模式无法解决问题时,它便能派上用场,例如遇到无法登录、文件系统损坏或网络接口不工作的情况。
启动方式一:rd.break参数引导至单用户模式
首先,我们通过内核参数rd.break来启动。重启系统,进入GRUB2引导界面,选择你想启动的内核,然后按下e键进行编辑。对于RHEL/CentOS 7,查找"linux16",在末尾添加"rd.break",按Ctrl+x或F10启动。在RHEL/CentOS 8,寻找"linux"并进行同样操作。这将使根文件系统以只读模式挂载,然后通过mount-o remount,rw/sysroot切换至读写模式并执行chroot/sysroot以进入单用户环境。修复问题后,创建/.autorelabel文件并重启系统。
方式二:内核命令替换引导至单用户模式
第二种方法是替换内核启动参数。在GRUB2界面,将"rhgb quiet"替换为"init=/bin/bash"或"init=/bin/sh",然后启动。默认会以只读模式挂载,用mount-o remount,rw/切换,执行任务后执行touch/.autorelabel,最后重启系统。
方式三:rw参数启动单用户模式
第三种途径是通过修改内核参数中的"ro"为"rw init=/sysroot/bin/sh"。在引导菜单中,选择目标内核,编辑参数,替换后按Enter启动。接下来,用chroot/sysroot进入单用户环境,处理问题后,创建/.autorelabel文件并重启。
以上三种方法适用于 CentOS/RHEL 7/8系统,旨在帮助用户在遇到特定问题时以单用户模式进行操作。无论你是忘记密码、检查文件系统一致性,还是解决挂载点问题,这些技巧都将大大提高你的系统维护效率。
CentOS桌面菜单如何编辑和配置
相关配置文件:
/usr/share/applications目录中的*.desktop文件
相关目录:
$HOME/.config/menus
/etc/xdg/menus
/usr/share/desktop-directories
修改后一般要更新数据库:
updatedb,update-desktop-database
update-desktop-database和update-desktop-*系列程序都位于xdg-utils包中
--------------------------------------------------------------------------------------------------------------------------
qt4-qtconfig位于System-Administration,现在要把它更改到Applications--Programming菜单下面:
更改(vim/usr/share/applications/qt4-qtconfig.desktop)其中的
Categories=Qt;Settings;为 Categories=Qt;Development;
为何不是Categories=Qt;Programming;呢?
切换到/usr/share/desktop-directories目录下面:
[root@localhost desktop-directories]# grep Programming*
Development.directory:Name=Programming
Development.directory:Name[en_CA]=Programming
Development.directory:Name[en_GB]=Programming
Development-More.directory:Name=More Programming Tools
Development-More.directory:Name[en_GB]=More Programming Tools
打开Development.directory文件,开头如下
[Desktop Entry]
Name=Programming
....................
说明Categories=Development在菜单中对应的就是Programming菜单目录。
最后,Categories=Qt;Development;同样可以写成Categories=Development;
如果想在Applications菜单项中添加一个新的菜单目录,可以通过添加/etc/xdg/menus目录中的条目来完成;
其中Menu二级目录中的条目正好和桌面Applications中的条目相等。对于条目内容为空的,在Applications中将不会显示;比如在applications.menu文件中写有Education目录菜单,但是因为在/usr/share/applications目录下面列举的程序没有程序使用
Categories=Education;
所以,在Applications目录菜单中,没有Education子目录菜单。尝试修改任何一个.desktop文件(qt4- qtconfig.desktop),把Categories改成Education,立刻就会在Applications目录菜单中显示出 Applications--Education---qt4 config
(rpm-qi xdg-utils-1.0.2-2.fc8)The following scripts are provided at this time:
* xdg-desktop-menu Install desktop menu items
* xdg-desktop-icon Install icons to the desktop
* xdg-icon-resource Install icon resources
* xdg-mime Query information about file type handling and
install descriptions for new file types
* xdg-open Open a file or URL in the user's preferred application
* xdg-email Send mail using the user's preferred e-mail composer
* xdg-screensaver Control the screensaver
===========================================
[root@localhost menus]# pwd
/etc/xdg/menus
[root@localhost menus]# ll
total 60
-rw-r--r-- 1 root root 12282 Dec 6 16:01 applications.menu
drwxr-xr-x 2 root root 4096 Nov 9 17:16 applications-merged
-rw-r--r-- 1 root root 488 Jul 6 16:58 gnome-screensavers.menu
-rw-r--r-- 1 root root 279 Sep 10 2005 kde-information.menu
-rw-r--r-- 1 root root 288 Sep 10 2005 kde-screensavers.menu
-rw-r--r-- 1 root root 2198 Aug 10 15:03 kde-settings.menu
-rw-r--r-- 1 root root 3020 Oct 19 23:53 preferences.menu
drwxr-xr-x 2 root root 4096 Oct 19 23:53 preferences-merged
drwxr-xr-x 2 root root 4096 Nov 9 17:19 preferences-post-merged
-rw-r--r-- 1 root root 1241 Oct 19 23:53 server-settings.menu
-rw-r--r-- 1 root root 1127 Oct 19 23:53 settings.menu
-rw-r--r-- 1 root root 920 Oct 19 23:53 start-here.menu
-rw-r--r-- 1 root root 3294 Oct 19 23:53 system-settings.menu
applications.menu文件可以设置在菜单项中是否包含某个菜单项,甚至可以exclude.
疑问).desktop文件所执行程序的查询路径是什么?
答:执行程序时路径设置在PATH环境变量中,.desktop文件通过其中的exec来指定要执行的应用程序,并在PATH所定义的路径中查找相应的应用程序。可以通过如下方式查看:
[root@localhost~]# echo$PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
疑问).desktop文件是如何执行可执行应用程序的?
答:可以先看一个简单的.desktop文件内容:
[root@localhost~]# cat/usr/share/applications/amule.desktop
[Desktop Entry]
Encoding=UTF-8
//编码方式
Name=aMule
//应用程序名称,
Comment=aMule
//鼠标经过上面时的提示名称
Exec=amule
//可执行应用程序的实际名称
Icon=amule.png
//显示在菜单项中的图标,可以为空
Terminal=false
//是否使用终端
Type=Application
//分类
Categories=Application;Network;//分类
.desktop文件通过上述Exec=amule知道了应用程序的名称,并且区分大小写,并在PATH环境变量所默认设定的路径中查找,查找到即可执行,查找不到则报错,除非用户自己在PATH中设定了此应用程序所处的特殊路径。