Linux
linux相关技术记录
fa1c4
软件安全研究生, 不定期灌水博主(
展开
-
Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) 解决方法
有时用apt安装软件, 莫名中断会导致apt被lock, 接着再用apt就会报错E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?目前搜到的一个可行方法移除locksudo rm /var/l原创 2021-09-06 11:10:40 · 1975 阅读 · 0 评论 -
Linux No module named ‘CommandNotFound‘ 解决方法
问题linux安装多版本python时的一个遗留问题, 如果修改了默认系统的/usr/bin/python的软连接到新安装的版本, 可以会报错如下Traceback (most recent call last): File "/usr/lib/cnf-update-db", line 8, in <module> from CommandNotFound.db.creator import DbCreatorModuleNotFoundError: No module nam原创 2021-09-05 12:28:31 · 14203 阅读 · 4 评论 -
Linux文件压缩技术
压缩命令常见的压缩文件扩展名.tar :tar程序打包的文件, 无压缩.tar.gz :tar程序打包的文件, 经过gzip压缩.tar.bz2 :tar程序打包文件, 讲过bzip2压缩.tar.xz :tar程序打包的文件, 经过xz压缩.gz :gzip程序压缩文件.Z :compress程序压缩文件.bz2 :bzip2程序压缩文件.xz :xz程序压缩文件.zip :zip程序压缩文件之前说过linux下文件扩展名没有实际用处, 压缩文件有多个扩展名的目的是支持多种压缩命原创 2021-07-21 13:32:20 · 123 阅读 · 0 评论 -
Linux进程内存管理概述
内存管理方法总结可用于内存管理的方法有许多种,它们各有好处与不足,不同的内存管理方法有各自最适用的情形, 通常有四类常用方法C 风格的内存管理程序池式内存管理引用计数垃圾收集内存管理器设计目标常见 C 内存管理程序Ptmalloc 内存管理概述简介内存管理的设计假设内存管理数据结构概述内存分配概述内存回收概述配置选项概述使用注意事项...原创 2021-07-20 15:15:49 · 389 阅读 · 3 评论 -
Linux进程内存布局概述
32位进程经典内存布局Linux内核 2.6.7 以前的默认进程内存布局形式,mmap区域与栈区域相对增长, 堆只有 1GB 的虚拟地址空间可以使用,继续增长就会进入 mmap 映射区域. 对于 64 位系统,提供了巨大的虚拟地址空间,这种布局就非常合适.32位进程默认内存布局栈至顶向下扩展,并且栈是有界的。堆至底向上扩展,mmap 映射区域至顶向下扩展,mmap 映射区域和堆相对扩展,直至耗尽虚拟地址空间中的剩余区域,这种结构便于 C 运行时库使用 mmap 映射区域和堆进行内存分配。这种布局形式原创 2021-07-17 12:18:06 · 1431 阅读 · 0 评论 -
64位linux执行32位程序提示no such file or directory
环境没有支持32位程序运行, 安装环境即可解决sudo dpkg --add-architecture i386sudo apt-get updatesudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386原创 2021-04-17 14:45:00 · 610 阅读 · 0 评论 -
linux关闭ASLR
必须先拿root权限.没有root密码, 参考su# input root passwordecho 0 > /proc/sys/kernel/randomize_va_spacecat /proc/sys/kernel/randomize_va_space# 0恢复suecho 1 > /proc/sys/kernel/randomize_va_space原创 2021-04-16 12:03:07 · 675 阅读 · 0 评论 -
linux解锁root
一般装系统过程没有提示root的密码设置, 但是用户密码是有的.sudo passwd重设root密码即可.原创 2021-04-16 11:57:55 · 943 阅读 · 0 评论 -
Ubuntu安装checksec
环境配置, 纯命令行解决.# install git sudo apt-get install git### cdgit clone https://github.com/slimm609/checksec.shsudo ln -sf ~/checksec.sh/checksec /usr/local/bin/checksec 经测试, 适用大部分版本Ubuntu.原创 2021-04-15 14:54:00 · 2654 阅读 · 1 评论 -
Linux安装Charm-crypto环境详细流程
前言安装Charm-crypto踩了很多坑, 所以有必要总结成一篇文章, 好吧, 其实我学什么都总(shui)结成文章根据官方文档根据Python的库文档都不能正确安装, 主要是跟版本有关, 官方文档是12年最后一次更新, 没有继续维护了, 所以很废! 不能适用不停更新的依赖环境, 比如需要的openssl, PBC, GMP, Python都是在停更之后继续更新的, 所以根据10年前的文档自然不好装. 不过charm-crypto后续也是有更新的, 但是文档没有跟进, 迷惑…安装流程在Ubun原创 2021-04-06 15:16:32 · 4452 阅读 · 35 评论 -
linux多python版本安装和切换
因为python更新迭代很快, 但是第三方库不能及时跟上版本更新, 所以有时为了跑不同软件, 需要安装多个python版本, 所以需要版本管理, 方便切换.安装sudo add-apt-repository ppa:deadsnakes/ppasudo apt updatesudo apt install python2.7sudo apt install python3.5sudo apt install python3.6sudo apt install python3.7sudo ap原创 2021-04-01 23:42:43 · 5574 阅读 · 0 评论 -
Linux磁盘操作
查看磁盘分区命令lsblk [-dfimpt] [device] # 列出系统所有磁盘列表blkid # 输出设备UUID参数parted devicename print # 列出磁盘分区表类型与分区信息磁盘分区操作gdisk 设备名称 # GPT分区表的分区操作fdisk 设备名称 # MBR分区表的分区操作注意设备名不带数字, 因为gdisk操作是对整个磁盘设备, 不是对磁盘已有的分区.不要在GPT上用fdisk, 不要在MBR上用gdisk, 命令按错就可能导致分区记录消失,原创 2021-04-01 16:09:23 · 84 阅读 · 0 评论 -
Linux文件系统操作
常用命令df [-ahikHTm] [目录或文件名] # 列出整体磁盘使用量du [-ahskm] [目录或文件名] # 查看文件系统的磁盘使用量硬链接和符号链接符号链接类似Windows系统中快捷方式的文件, 快速链接到目标文件/目录;硬链接是通过文件系统的inode链接产生新文件名, 而不是产生新文件.因为读取文件是通过目录的文件名索引到inode再读取的文件数据, 所以文件名只与目录有关, 如果将多个文件名都对应到同一个inode号码, 就可以直接索引到目标文件了.硬链接就是这样的原理原创 2021-04-01 13:12:51 · 98 阅读 · 0 评论 -
Linux文件系统概述
文件系统特性inode: 记录文件系统的权限和属性数据区块: 实际记录文件内容超级区块: 记录文件系统的整体信息, 包括inode与数据区块的总量, 使用量, 剩余量, 以及文件系统格式等信息inode和数据区块都有号码, 只要有一个文件的inode的号码, 读取inode的信息, 就能得到存储在inode中的数据区块的号码, 然后就可以索引相应数据区块得到实际文件数据了. 利用inode的文件系统称为索引式文件系统(indexed allocation).索引式文件系统对比FAT文件系统, FA原创 2021-03-31 12:17:41 · 106 阅读 · 1 评论 -
Ubuntu16/18.04纯命令行安装vscode
安装curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpgsudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/ap原创 2021-03-28 21:53:36 · 3473 阅读 · 1 评论 -
Sub-process /usr/bin/dpkg returned an error code (1)
sudo apt 某个包的时候中断了, 然后莫名导致环境配置文件出错以后的apt安装操作都一直报这个错Setting up update-notifier-common (3.168.13) ...Traceback (most recent call last): File "/usr/lib/update-notifier/package-data-downloader", line 24, in <module> import debian.deb822ModuleNo原创 2021-03-28 20:21:03 · 1029 阅读 · 1 评论 -
Ubuntu16.04纯命令行安装VMwareTools
三行搞定sudo apt-get install open-vm-tools -ysudo apt-get install open-vm-tools-desktopreboot 如果第一行命令出错, reboot一下再执行安装完最后reboot就完事.原创 2021-03-21 09:54:33 · 1130 阅读 · 0 评论 -
linux文件查找
脚本文件查找可用命令whichtypewhich [-a] command注意which找的是PATH设置的目录像history命令是bash内置命令不在PATH中, 所以which找不到文件查找通常用locatewhereis不常用findwhereis [-bmsu] filename/dirnamelocate [-ir] keywordfind [PATH] [option] [action] 说明whereis是搜索特定目录, locat原创 2021-03-01 18:39:08 · 59 阅读 · 0 评论 -
linux文件特殊权限
文件特殊权限SUID仅对二进制程序有效执行者对该程序需要x权限权限仅在执行期间有效执行期间会有拥有者权限SGID用于二进制和目录执行者需要x权限执行过程会获得用户组权限用于目录时需要用户具有r和x权限进目录时的有效用户组会变成该目录用户组如果有w权限, 建立的新文件会是该目录的用户组SBIT仅对目录有效当用户对于此目录有wx权限时, 具有写入权限当用户在此目录建立文件或目录时, 仅拥有者和root可删除文件SUID, SGID, SBIT符号表示为s(原创 2021-03-01 17:27:45 · 96 阅读 · 0 评论 -
linux文件隐藏属性
相关命令chattr [-+=] [ASacdistu] 文件或目录名 ---- 配置隐藏属性lsattr [-adR] 文件或目录 ---- 显示隐藏属性chattr隐藏属性A 存取时间不变S 文件修改同步写入磁盘a 文件只能增加数据不能修改和删除c 存取时先压缩, 读取时先解压d 使文件不会被dump备份i 完全不可修改文件, 连root都不行s 完全从硬盘删除无法恢复u 与s相反, 被删除后仍然保留在硬盘中lsattr-a 隐藏文件的属性也显示-d 仅列出目录本原创 2021-03-01 16:11:22 · 105 阅读 · 0 评论 -
linux umask
拿掉的文件/目录默认权限umask查看默认权限设置, 为数字形式参数 -S 查看符号形式通常文件默认权限为666目录默认权限为777所以umask表示会去掉的权限, 则下图中表示user不被拿掉任何权限, 其他用户被拿掉写权限r: 4w: 2x: 1所以建立文件和目录默认得到的权限就是666-022 = 644, 777-022 = 755用各位数相减的方式计算是错误的! 很多人都会想当然这么想, 但是不对!比如666 - 003 即 rw-rw-rw- - -------原创 2021-03-01 15:29:07 · 75 阅读 · 0 评论 -
Ubuntu更改默认的python3版本
当同时安装多个python3版本时, 需要调整python3默认的版本, 比如安装了一个3.x版本和一个3.9版本, 执行sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.x sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 需要调整默认版本时, 执行sudo update-altern原创 2021-02-26 15:00:19 · 2113 阅读 · 1 评论 -
attifyos虚拟机vmwaretools不能用
AttifyOS1.3版本虚拟机, VmwareTools不能和物理机交互, 比如复制和粘贴, 或者出错重新安装VmwareTools解压到一个可写文件夹, sudo ./vmware-install.pl一路yes(reboot, 应该也不需要重启, 但是按习惯重启一下了, 可以试试不重启)鼠标拖入虚拟机还是出错, 先随意将一个文件复制出来, 再把需要复制进去的文件复制粘贴到虚拟机即可, 直接拖可能出错, 玄学问题, 可能是兼容性bug...原创 2021-02-24 11:03:41 · 536 阅读 · 0 评论 -
Ubuntu16.04 pip安装pwntools出错
具体出错过程Ubuntu16.04装pip, 然后用pip装pwntools会提示pip版本过低, 按给的命令更新之后pip就崩了解决先卸载piphttps://blog.csdn.net/qq_33976344/article/details/113991528然后下载文件进行安装curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"python3 get-pip.pypython2 get-pip.py# 提示 ERR原创 2021-02-23 16:11:31 · 3051 阅读 · 1 评论 -
linux移除出错的pip
sudo apt-get remove python-pipsudo apt-get remove python3-pip原创 2021-02-23 15:27:06 · 1176 阅读 · 3 评论 -
linux添加环境变量
sudo vi /etc/profile行尾添加export PATH=$PATH:\<PATH1\>:\<PATH2\>:...:\<PATHn\>保存vi的使用教程reboot 重启生效原创 2021-02-23 14:11:21 · 79 阅读 · 0 评论 -
Ubuntu git: command not found
sudo apt updatesudo apt install git原创 2021-02-22 10:27:34 · 5652 阅读 · 0 评论 -
VMware Tools Ubuntu install
cd /tmptar -zxvf /media/username/VMware\ Tools/VMware-Tools-...[tab]# username用户名自己改, 文件名tab补全cd vmware-tools-distribsudo ./vmware-install.pl# 接下来一路yes, enter原创 2021-02-22 10:07:41 · 75 阅读 · 0 评论 -
linux文本读取命令汇总
常用的文件内容查看命令cat 读取全部文本tac 倒着读全部文本nl 读取文本且输出行号more 一页一页读less 可以正反翻页, 一页一页读head 只读前m行tail 只读后m行od 读二进制文件内容截取数据的方法, 比如读20-30行文本cat -n test.txt | head -n 30 | tail -n 10-n表示读取的同时显示行号详细命令用法可以 man [命令]此处不赘述...原创 2021-02-18 11:50:14 · 429 阅读 · 0 评论 -
建立指定权限的目录
mkdir使用参数-m#比如 rwx--x--x 权限的目录# r = 4, w = 2, x = 1, 所以是711mkdir -m 711 test原创 2021-02-18 10:24:59 · 463 阅读 · 0 评论 -
递归建立多层目录
使用mkdir的参数-pmkdir -p test1/test2/test3/test4/test5原创 2021-02-18 10:21:48 · 685 阅读 · 0 评论 -
特殊目录符号
. 代表当前目录.. 代表上一层目录- 代表前一个工作目录~ 代表当前使用者身份的家目录~account 代表account使用者的家目录注明: 根目录下也有...两个目录, 但表示用一个目录, 即根目录, 所以根目录切换到上层目录还是根目录...原创 2021-02-18 10:12:59 · 2005 阅读 · 0 评论 -
linux目录有没有r权限的区别
有r权限:ls查看目录下的文件/子目录名tab自动补齐文件/子目录名没有r权限:ls无效tab无法自动补齐文件/子目录名通常只要有x权限就能进目录了, 所以r权限是非必要权限(大概原创 2021-02-09 12:27:36 · 183 阅读 · 0 评论 -
linux修改文件类型和权限
三条指令chgrp 修改用户组chown 修改拥有者chmod 修改权限修改属性chgrp [-R] groupname dirname/filename# example:chgrp users example.txt # 修改example.txt的用户组为userschown [-R] countname filename/dirname# exmaple:chown user1 exampl.txtchown -R user2 exampledir # 递归修改文件原创 2021-02-09 11:37:17 · 2195 阅读 · 0 评论 -
一幅图看懂linux文件属性
注意:第五个字段表示文件大小, 默认单位是Bytes原创 2021-02-09 10:18:06 · 100 阅读 · 0 评论 -
linux文件类型权限
linux下, ls -al 查看文件的属性, 第一个字段就是文件类型权限比如-rwxr-xr–drwxr-xr-x-rw-------共10个字符第1个字符表示文件类型[d]为目录[-]是文件[l]是链接文件[b]是存储设备[c]串行接口设备(键鼠等)之后9个字符3个做组[rwx]分别代表文件拥有者, 用户组, 其他用户的权限r: 可读w: 可写x: 可执行-: 表示没有这个权限比如drwxr-xr-xd: 代表这是目录rwx: 代表拥有者可以读写执行原创 2021-02-09 09:57:33 · 229 阅读 · 0 评论 -
计算机开机的详细流程
BIOS搭配MBR/GPT的启动流程两个概念:CMOS 记录硬件参数的存储器BIOS 写到主板上的一个固件 ------ 复习一下固件: 写入到硬件上的软件程序, 即本质是一个软件程序.流程:BIOS在按下开机键时会被机器自动执行, 这个固件会主动识别第一个可以启动的设备识别到第一个可启动设备的第一个扇区内的MBR, 拿到启动引导代码MBR的启动引导程序读取内核文件(即操作系统内核)操作系统开始运作, 完成机器的启动注意如果MBR的启动引导程序不支持GPT格式的磁盘分区, 可能无法原创 2021-02-06 15:11:50 · 251 阅读 · 1 评论 -
MBR和GPT的区别
Master Boot Record MBR 主引导记录安装启动引导程序的地方, 446字节, 分区表记录整块硬盘分区情况, 64字节(因为分区表仅仅64字节, 所以只能记录4组记录区, 每组记录区记录的是硬盘区段的开始与结束的柱面号码 ------ 复习一下磁盘的构成: 机械手臂, 磁头, 主轴马达, 碟片. 碟片又划分为磁道和扇区(扇区有两种大小512字节和4K字节), 不同的碟片的同半径磁道就是一个柱面, 从最外圈到内圈编码就是柱面号码MBR格式下, 主分区和扩展分区最多4个, 注意扩展分区最原创 2021-02-06 14:51:20 · 406 阅读 · 1 评论 -
Linux内核版本和发行版本的区别
先了解一个概念整个实际的Linux系统是由内核, 软件, 工具三部分组成内核由早期的黑客工程师团队开发和测试实现, 后来许多崇尚开源的工程师加入开发了软件应用, Linux逐步完善, 功能也日益齐全和强大. 当普及程度越发广泛的时期, 许多商业公司在内核和软件的基础上加入自己的系统工具方便不懂计算机的用户也能使用linux系统, 然后打包成为一个完整的系统安装程序方便用户安装和使用.这样的打包好的linux就称为一个发行版本的linux, 相应的linux的内核版本就是指内核开发工程师开发和维护的内原创 2021-02-04 16:53:45 · 3253 阅读 · 0 评论 -
kali 纯命令行安装 vscode
先配置环境sudo apt updatesudo apt install curl gpg software-properties-common apt-transport-https curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"原创 2021-02-03 12:12:58 · 1406 阅读 · 0 评论