本系列IC成长之路,用了两篇文章介绍了linux的基本操作和概念,想必这些基础操作已经让你得心应手,开始习惯linux啦。这篇文章,将从一些更深入并且比较实用的角度,进一步让你掌握linux,毕竟我们不是搞linux搭建服务器的,所以掌握到本文介绍的一些概念,就已经足以让你游刃有余。
ufw是ubuntu提供的一个防火墙工具,而且UFW支持图形界面工作.
ubuntu默认安装了ufw。
1、安装
sudo apt-get install ufw
2、启动
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
3、sudo ufw alow|deny [service]
打开或者关闭某个端口
sudo ufw allow smtp 允许所有的外部IP访问本机的smtp端口
sudo ufw allow 53 允许外部访问53号端口
查看防火墙状态
sudo ufw status
下面是ufw命令行的一些示例:
ufw enable/disable:打开/关闭ufw
ufw status:查看已经定义的ufw规则
ufw default allow/deny:外来访问默认允许/拒绝
ufw allow/deny 20:允许/拒绝 访问20端口,20后可跟/tcp或/udp,表示tcp或udp封包。
ufw allow/deny servicename:ufw从/etc/services中找到对应service的端口,进行过滤。
ufw allow proto tcp from 10.0.1.0/10 to 本机ip port 25:允许自10.0.1.0/10的tcp封包访问本机的25端口。
ufw delete allow/deny 20:删除以前定义的“允许/拒绝访问20端口”的规则
参考blog:
https://blog.csdn.net/bigdata_mining/article/details/80699180
很多时候,我们在安装卸载软件时,会报告依赖关系等信息。Linux中的软件依赖关系成一颗拓扑树结构,比如A直接或间接依赖B,那么B就不可能直接或间接依赖A。试想从时间上A、B必然有一个先出现,而先出现的不可能依赖于后出现的;并且如果A与B互相依赖则就是“鸡与蛋”的问题,因此必然有一个先出现而另一个依赖于先者。
依赖关系最简单的一个理解就是Windows上你玩游戏结果提示directx版本过低无法运行。以及常见的运行某个程序之后提示mfc71.dll未找到。还有就是用个软件结果安装说明上让你先去安装.net。
依赖关系很明显的就是去掉IE,就可以让很多Windows程序失去依赖关系而不能运行。
在Linux中的软件大部分是零碎的,软件之间的依赖关系很强烈。
二、Linux的软件安装与卸载
(1)安装软件A必须率先安装A依赖的所有软件;卸载软件A则必须率先卸载依赖A的所有软件。如下图:
a
b
c
b,c依赖于a,那么安装b或c都先要确保a的存在;同时卸载a必须确保b和c都已经被卸载。
(2)卸载A不代表同时卸载A所依赖的所有无用软件,比如:B<–A,卸载A以后B就没用了(因为没有其他软件再依赖B了),Linux默认不卸载B,但可以使用特殊的参数让系统这么做。
在Ubuntu下,apt-get remove就是一般的卸载,而apt-get autoremove则是同时卸载其所依赖的无用软件
安装它吧:
sudo apt-get install synaptic
参考网址
synaptic是apt的图形化,您可以使用他来安装删除配置软件,或者升级整个系统,synaptic的强大之处在于它能够提示可能的依赖关系,以及您所选择的软件包与系统中已经安装了的软件包的冲突。
synaptic的界面如下:
新立得的主窗口分为三个部分:左边是一个包浏览器,右上方是包列表以及右下方的包详细信息。状态栏显示您的系统的总体状态。
如果您想安装一个软件,可以在find 搜索,比如我想安装网络抓包软件wireshark,直接搜索即可
如果想查看一个包的明细,可以右击属性,状态会显示此电脑是否安装,最重要的依赖关系。可以看到受此影响的软件,或者需要借助该软件的软件包。
点击选中并标记安装,将会给出受影响的软件包,并重新安装。
点击菜单栏的apply,将会收到提示,将会影响的软件包和保持原样的软件包。继续即可完成安装
如图所示,成功安装了wireshark
现在开始卸载软件包吧!
平时如果我们在终端卸载,很可能有时候会因为依赖关系报错,或者留下无用的文件,与任何软件都没有依赖关系,从而导致PC空间占用越来越大。
同样,我选中需要删除的软件,进行标记,然后点击APPLY即可
删除或者彻底删除一个软件包
右键点击需要删除的软件包,然后在弹出的菜单中选择标记以便删除(Mark for Removal)。
当您满意您的选择后,点击工具栏上的应用(Apply)按钮或者按下Ctrl + P。
这时会出现一个摘要您所作更改的对话框。点击应用(Apply)按钮来确认您的更改。
标记以便彻底删除(Mark for Complete Removal)选项会使新立得同时删除所有与软件包相关的配置文件。
更新软件包列表
新立得维护了一个关于您系统上所有软件包的数据库来追踪您系统上安装了的软件包。新立得通过检查软件仓库来更新数据库,这样它就可以提示您新的软件包或者已有软件包的升级。新立得在启动时检查新的软件包。在运行新立得时时常更新数据库是个不错的选择。特别是当您改变了软件仓库列表或者更改了新立得的设置时,您可能需要立即更新数据库。需要更新只需点击工具栏上的刷新(Reload)按钮或者按下Ctrl + R
ubuntu18.04进入了tty1界面,不知是删除了什么有用的东西,还是怎么回事,最终解决办法如下:
输入startx 即可进入桌面
但是打开后的桌面,已经不能控制亮度,桌面文件也没有,重启后,仍然进入tty1.
最终解决办法如下:
sudo apt install ubuntu-desktop
然后我的桌面又回来啦!
Linux是一个多任务多用户的系统,也就是说,可以在同一个时间点上,多个用户同时登录,这是windows不能的。
环境变量:
是指操作系统中用来制定操作系统运行环境的一些参数。也就是说,每一个用户可以有不同的操作环境。不同的进程也可以有不同的环境变量。通常具备以下特征:
1、字符串(本质)
2、有统一的格式:名=值【:值】
3、值用来描述进程环境信息。
常见环境变量
按照惯例,环境变量字符串都是name=value这样的形式,大多数name由大写字母加下划线组成,一般把name的部分叫做环境变量,value的部分则是环境变量的值,环境变量顶一个进程的运行环境,一些比较重要的环境变量的含义如下:
PATH
可执行文件的搜索路径,ls命令也是一个程序,执行它不需要提供完成的路径名/bin/ls,然而通常我们执行当前目录下的程序a.out却需要提供完整的路径名./a.out,这是因为PATH环境变量的值包含了ls命令所在的目录/bin,却不包含a.out所在的目录。PATH环境变量的值可以包含多个目录,用:号隔开,在sheel中用echo命令可以查看这个环境变量的值
如图所示,上述,shell收到date后,通过环境变量去查找到的这个命令,虽然直接输入/bin/date可以达到同样的效果,但是原理却有点不一样的。
下面我们来查看一样系统环境变量中定义的路径:
$echo $PATH
如上图所示,不同的路径用:冒号隔开,从中我们可以看到/bin 这个路径
,一个路径一个路径的去找。
除此之外,常用的环境变量还有
SHELL
当前shell,他的值通常是/bin/bash
TERM
当前终端类型,在图形界面终端下他的值通常是xterm,终端类型决定了一些程序的输出显示方式,比如图形界面终端可以显示汉子,字符终端一般不行
LANG
语言和locate,决定了字符编码以及时间、货币等信息的显示格式。
HOME
当前用户主目录的路径,很多程序需要在主目录下保存配置文件,是的每个用户在运行该程序时都有自己的一套配置。
–
下面,我们再次回头来看一下我们在安装VCS时的环境变量。
参考资料
#dve
export PATH=$PATH:/home/liruifeng/project_app/vcs/gui/dve/bin #改成自己vcs的安装路径
alias dve='dve -full64'
#VCS
export PATH=$PATH:/home/liruifeng/project_app/vcs/bin #改成自己vcs的安装路径
#vcs需要的固定的参数,注意系统要安装gcc-4.8和g++-4.8,这两个需要自己独立安装
#VERDI
export PATH=$PATH:/home/liruifeng/project_app/verdi/bin #改成自己Verdi安装路径
export VCS_HOME=/home/liruifeng/project_app/vcs
export VERDI_HOME=/home/liruifeng/project_app/verdi
alias verdi='verdi'
#LICENSE
export LM_LICENSE_FILE=27000@liruifeng #改成自己的host name
alias lmg_vcs='lmgrd -c /home/liruifeng/project_app/vcs/license/Synopsys.dat' #注意改路径
#scl
export PATH=$PATH:/home/liruifeng/project_app/SCL/amd64/bin #改SCL安装路径
export VCS_ARCH_OVERRIDE=linux
# 注释
自定义环境变量
如果想设置环境变量,就要给在给变量赋值后或在设置变量时使用export命令,export命令和declare命令的格式:
export 变量名=value
变量名=value ; export 变量名
declare - x 变量名=value
小试牛刀:定义环境变量并赋值的方法:
export NAME=qzlking
declare -x NAME=qzlking
NAME=qzlking ; exprot NAME
命 令: alias
功能说明:设置指令的别名。
语 法:alias[别名]=[指令名称]
补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。
sudo apt-get update
更新一下试试。
安装wine 5.0:
卸载wine:
https://blog.csdn.net/qq_42773735/article/details/81170644