Fiddler

Fiddler 1.为什么是Fiddler? 抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下: a.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要"无刷新修改",如果刷新了页面,所有的修改都不会保存。 b.Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。 c.Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器 (其他浏览器可能会有相应的插件) ,对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。 2.什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。 既然是代理,也就是说: 客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,web客户端和服务器的请求如下所示: Fiddler 作为系统代理,当启用 Fiddler 时,IE 的PROXY 设定会变成 127.0.0.1:8888,因此如果你的浏览器在开启fiddler之后没有设置相应的代理,则fiddler是无法捕获到HTTP请求的。如下是启动Fiddler之后,IE浏览器的代理设置: 以Firefox为例,默认情况下,firefox是没有启用代理的 (如果你安装了proxy等代理工具或插件,是另外一种情况) ,在firefox中配置http代理的步骤如下: 工具->选项->高级->网络->设置 。并配置相应的代理如下: 就可以使用Fiddler抓取Firefox的HTTP请求了。 3.Fiddler使用界面简介 Fiddler主界面的布局如下: 主界面中主要包括四个常用的块: 1.Fiddler的菜单栏,上图绿色部分。包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能。 2.Fiddler的工具栏,上图红色部分。包括Fiddler针对当前view的操作 (暂停,清除session,decode模式、清除缓存等) 。 3.web Session面板,上图黄色区域,主要是Fiddler抓取到的每条http请求 (每一条称为一个session) ,主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示: 4.详情和数据统计面板。针对每条http请求的具体统计 (例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间) 和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息: 而composer面板下,则可以模拟向相应的服务器发送数据的过程 (不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式) 。 也可以粘贴一次请求的raw http headers,达到模拟请求的目的: Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如: 过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求 (如css请求,image请求,js请求等) ,可以过滤请求报文大于或则小于指定大小 (byte) 的请求: 请多的过滤器规则需要一步一步去挖掘。 http://blog.csdn.net/ohmygirl/article/details/17846199

2016-03-17 · 1 min · 67 words · -

java 读文件到Byte[]数组

‘java 读文件到Byte[]数组’ http://blog.sina.com.cn/s/blog_ae48aad6010177ns.html public class Test { public static void main(String[] args){ String filePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src\\1.docx"; String outFilePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src"; String outFileName = "2.docx"; getFile(getBytes(filePath),outFilePath,outFileName); } //获得指定文件的byte数组 public static byte[] getBytes(String filePath){ byte[] buffer = null; try { File file = new File(filePath); FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(1000); byte[] b = new byte[1000]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer; } //根据byte数组,生成文件 public static void getFile(byte[] bfile, String filePath,String fileName) { BufferedOutputStream bos = null; FileOutputStream fos = null; File file = null; try { File dir = new File(filePath); if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在 dir.mkdirs(); } file = new File(filePath+"\\"+fileName); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); bos.write(bfile); } catch (Exception e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e1) { e1.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } }

2016-03-17 · 1 min · 181 words · -

Content-disposition

Content-disposition Content-disposition 是 MIME 协议的扩展, MIME 协议指示 MIME 用户代理如何显示附加的文件。 Content-Disposition 响应头指示回复的内容该以何种形式展示, 是以内联的形式 (即网页或者页面的一部分) , 还是以附件的形式下载并保存到本地。 在 HTTP 场景中, 第一个参数或者是 inline (默认值,表示回复中的消息体会以页面的一部分或者整个页面的形式展示) ,或者是 attachment (意味着消息体应该被下载到本地;大多数浏览器会呈现一个"保存为"的对话框,将 filename 的值预填为下载后的文件名, 假如它存在的话) 。 Content-Disposition: inline Content-Disposition: attachment Content-Disposition: attachment; filename="filename.jpg" 当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。 (请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。) 服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上attachment: Response.AppendHeader(“Content-Disposition”,“attachment;filename=FileName.txt”); 备注: 这样浏览器会提示保存还是打开,即使选择打开,也会使用相关联的程序比如记事本打开,而不是IE直接打开了。 Content-Disposition 就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名。具体的定义如下: content-disposition = “Content-Disposition” “:” disposition-type *( “;” disposition-parm ) disposition-type = “attachment” | disp-extension-token disposition-parm = filename-parm | disp-extension-parm filename-parm = “filename” “=” quoted-string disp-extension-token = token ...

2016-03-17 · 1 min · 98 words · -

java http file download upload

java http file download upload http://blog.csdn.net/pgmsoul/article/details/7181793 http://blog.csdn.net/xiaojianpitt/article/details/6856536

2016-03-17 · 1 min · 7 words · -

maven install so dll

maven install so dll http://tonyking2010.iteye.com/blog/1845710

2016-03-14 · 1 min · 5 words · -

java reflact invoke

‘java reflact invoke’ http://blog.csdn.net/zhangzeyuaaa/article/details/42522015

2016-03-14 · 1 min · 4 words · -

maven依赖本地非repository中的jar包

maven 依赖本地非 repository 中的 jar 包 maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入。 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF/lib这个jar包中的类。 显然实在编译的时候WEB-INF/lib并没有配置到maven-complier-plugin插件src目录中去, 于是将这个目录添加进去,还是不好使。无赖,先把这个jar包安装到本地库中,然后添加dependency。 后来google了下,发现maven提供了scope为system的依赖,文档的原文如下: system This scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository. 这样就可以添加dependency而不需要再将WEB-INF/lib目录下的jar包安装到本地库中了。 具体配置录下: <dependency> <groupId>org.apache</groupId> <artifactId>test</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/paypal_base.jar</systemPath> </dependency> 上面的groupId和artifactId这些都可随便填写就好.

2016-03-12 · 1 min · 59 words · -

xargs

xargs xargs 可以将输入内容 (通常通过命令行管道传递), 转成后续命令的参数, 通常用途有 命令组合: 尤其是一些命令不支持管道输入, 比如 ls 避免参数过长: xargs可以通过 -nx 来将参数分组, 避免参数过长 -d 参数与分隔符, 默认情况下, xargs 将换行符和空格作为分隔符, 把标准输入分解成一个个命令行参数。 -i 表示 find 传递给xargs的结果 由{}来代替 -n 参数分组 -p 交互式提问y来确认命令的每次执行。 -t 在执行前回显各个command -I 指定每一项命令行参数的替代字符串, 我认为是和i差不多,可以这么认为 -i 可以用 -I {} 来代替 ls *.js | xargs -t -n2 ls -al # 输出如下, -n2表示, 将参数以两个为一组, 传给后面的命令。 curl http://foo.bar.com | xargs -t -n1 -d '\n' | xmllint --format 例子: 参数分组 命令行对参数最大长度有限制,xargs通过-nx对参数进行分组来解决这个问题。 首先,创建4个文件用来做实验。 touch a.js b.js c.js d.js 然后运行如下命令: ...

2016-03-10 · 3 min · 499 words · -

时区, 日期格式, UTC、CST、GMT, RFC3339

时区, 日期格式, UTC、CST、GMT, RFC3339 全球24个时区的划分 相较于两地时间表,可以显示世界各时区时间和地名的世界时区表 (World Time) ,就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的地方时间,造成许多困扰,于是在西元1884年的国际会议上制定了全球性的标准时,明定以英国伦敦格林威治这个地方为零度经线的起点 (亦称为本初子午线) ,并以地球由西向东每24小时自转一周360°,订定每隔经度15°,时差1小时。而每15°的经线则称为该时区的中央经线,将全球划分为24个时区,其中包含23个整时区及180°经线左右两侧的2个半时区。就全球的时间来看,东经的时间比西经要早,也就是如果格林威治时间是中午12时,则中央经线15°E的时区为下午1时,中央经线30°E时区的时间为下午2时;反之,中央经线15°W的时区时间为上午11时,中央经线30°W时区的时间为上午10时。以台湾为例,台湾位于东经121°,换算后与格林威治就有8小时的时差。如果两人同时从格林威治的0°各往东、西方前进,当他们在经线180°时,就会相差24小时,所以经线180°被定为国际换日线,由西向东通过此线时日期要减去一日,反之,若由东向西则要增加一日。 世界协调时间 UTC 多数的两地时间表都以 GMT 来表示, 但也有些两地时间表上看不到 GMT 字样, 出现的反而是 UTC 这3个英文字母, 究竟何谓UTC?事实上,UTC 指的是 Coordinated Universal Time- 世界协调时间 (又称世界标准时间、世界统一时间), 是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说, UTC 比 GMT 来得更加精准。其误差值必须保持在 0.9 秒以内, 若大于 0.9 秒则由位于巴黎的国际地球自转事务中央局发布闰秒, 使 UTC 与地球自转周期一致。所以基本上 UTC 的本质强调的是比GMT 更为精确的世界时间标准, 不过对于现行表款来说, GMT 与 UTC 的功能与精确度是没有差别的。 UTC 是协调世界时(Universal Time Coordinated)英文缩写, 是由国际无线电咨询委员会规定和推荐, 并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示. 北京时间比UTC时间早8小时, 以1999年1月1日0000UTC为例, UTC时间是零点, 北京时间为1999年1月1日早上8点整。 GMT(Greenwich Mean Time) 格林威治标准时间 GMT 十七世纪, 格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675 年旧皇家观测所 (Old Royal Observatory) 正式成立, 到了 1884 年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全球而言,这里所设定的时间是世界时间参考点, 全球都以格林威治的时间作为标准来设定时间, 这就是我们耳熟能详的「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.) 的由来, 标示在手表上, 则代表此表具有两地时间功能, 也就是同时可以显示原居地和另一个国度的时间。 ...

2016-03-09 · 8 min · 1534 words · -

javascript class

// Declaration class Rectangle { constructor(height, width) { this.height = height; this.width = width; } }

2016-03-07 · 1 min · 16 words · -

gradle cmd 乱码

gradle cmd 乱码 编码GBK的不可映射字符 [compileJava, compileTestJava].options.encoding = ‘UTF-8’

2016-03-07 · 1 min · 8 words · -

负数 十六进制表示

负数 十六进制表示 负数用十六进制表示,通常用的是补码的方式表示. 十六进制 (英文名称: Hexadecimal) ,是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是: 0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。 正数的补是它本身;负数的补码是它本身的值每位求反,最后再加一。 例如:求-3的十六进制 3的十六进制为0003,3求反之后是C,再加1,成D,所以-3的十六进制就是: FFFD

2016-03-07 · 1 min · 12 words · -

objdump

objdump objdump 命令是 Linux 下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。 objdump 是 gcc 工具,用来查看编译后目标文件的组成。 功能: 以一种可阅读的格式让你更多地了解目标文件、可执行文件可能带有的附加信息,也能完成目标文件或者可执行文件的反汇编。 示例: 使用 objdump 查看可执行文件的汇编代码 go build -gcflags "-N -l" test.go objdump -S --disassemble test > test.objdump 查看动态库有哪些符号,包括数据段、导出的函数和引用其他库的函数 objdump -tT xxx.so objdump -x xxx.a 查看动态库依赖项 objdump -x xxx.so | grep "NEEDED" 查看动态符号表 objdump -T xxx.so 假如想知道 xxx.so 中是否导出了符号 yyy ,那么命令为 objdump -T xxx.so | grep “yyy” 。 查看动态符号表 objdump -t xxx.so -T 和 -t 选项在于 -T 只能查看动态符号,如库导出的函数和引用其他库的函数,而 -t 可以查看所有的符号,包括数据段的符号。 版权声明:本文为CSDN博主「mayue_csdn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/mayue_web/article/details/103879976

2016-03-04 · 1 min · 73 words · -

shell basic variable, 变量

shell basic variable, 变量 注意,等号两侧不能有空格, 有空格变量会不生效. # 定义变量 foo="bar" # 使用变量 echo ${foo} ## 变量的默认值 ${xmx-600M} 默认情况下,Bash shell 是一种无类型的脚本语言, 除非用declare特别声明,否则它不会区分一个变量是整数变量、浮点数变量还是字符串变量。 在Bash shell中所有的变量都被看成是字符串,使用时也不需要进行声明。 变量的命名 bash shell中变量的命名规则和C语言相同,必须是由英文字母、数字及下划线组成,第一个字符必须是字母或下划线,变量的长度没有限制,但英文字母区分大小写。虽然,bash shell中使用变量时不需要声明,但还是提倡对一些重要的变量进行声明、添加注释,以便阅读和维护。声明或创建一个变量之后,它的作用域是当前shell,子shell无法获取父shell中定义的变量,除非该变量时环境变量。 设定变量 在bash shell中要设置某个变量的值是很容易的,只需要按照: 变量名称=值 的方式即可改变某个变量的值,需要注意的是等号的两边是不能有空格的,若值中含有空格的话,需要用引号括起来。 获取变量值 要获取某个变量的值只需要在该变量的名称前面加上$或用${}将变量括起来即可。 echo $PATH echo ${PATH} 取消与清空变量 当你不再需要某个变量时,你可能想取消该变量,即将该变量从当前名字空间中删除并释放该变量所占用的内存。在bash shell中可以用unset命令来取消某个变量。用法如下: unset -f 仅删除函数 -v 仅删除变量 unset 变量名称 或 unset -v 变量名称 -v 表示取消变量,unset除了可以用来取消变量外,还可以用来取消函数,用unset来取消函数时,用法如下: unset -f 函数名称 使用 unset 以后,变量就不复存在了,这可能并不是你想要的,你可能只是想将清除该变量中的值,使其为null,即清空变量,清空变量的操作如下: 变量名称= 环境变量 只有当一个变量成为环境变量时,它才能为子 shell 所用, 为了使一个变量成为环境变量, 需要使用 export 命令, 具体如下: 变量名称=“xxxx” export 变量名称 ...

2016-03-03 · 1 min · 165 words · -

JUnit Assert

JUnit Assert junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。 1.assertTrue/False([String message,]boolean condition); 判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。 2.fail([String message,]); 失败,可以有消息,也可以没有消息。 3.assertEquals([String message,]Object expected,Object actual); 判断是否相等,可以指定输出错误信息。 第一个参数是期望值,第二个参数是实际的值。 这个方法对各个变量有多种实现。在JDK1.5中基本一样。 但是需要主意的是float和double最后面多一个delta的值。 4.assertNotNull/Null([String message,]Object obj); 判读一个对象是否非空(非空)。 5.assertSame/NotSame([String message,]Object expected,Object actual); 判断两个对象是否指向同一个对象。看内存地址。 7.failNotSame/failNotEquals(String message, Object expected, Object actual) 当不指向同一个内存地址或者不相等的时候,输出错误信息。 注意信息是必须的,而且这个输出是格式化过的。

2016-03-03 · 1 min · 35 words · -

TCP慢启动, TCP slow start

TCP慢启动, TCP slow start TCP连接会随着时间进行自我调谐,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调谐被称为TCP慢启动,用于防止因特网的突然过载和拥塞。 TCP慢启动限制了一个TCP端点在任意时刻可以传输的分组数。简单来说,每成功接收一个分组,发送端就有了发送另外两个分组的权限。当一个HTTP事务由大量数据要发送的时候,是不能一次性将所有分组都发送出去的,必须先发送一个分组,等待确认,然后可以发送两个分组,每个分组都必须被确认,这样就可以发送4个分组了,一次类推。这种方法被称为"打开拥塞窗口"。 http://blog.csdn.net/csh624366188/article/details/8597056

2016-02-29 · 1 min · 7 words · -

java unix socket

java unix socket

2016-02-29 · 1 min · 3 words · -

UUID

UUID 36位 UUID: a5f225b0-192a-4191-aedd-46e3f18ccbf5 UUID是什么? UUID (Universally Unique Identifier) 全局唯一标识符, 是指在一台机器上生成的数字, 它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合: 当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号 (如果有网卡, 从网卡获得, 没有网卡以其他方式获得), UUID的唯一缺陷在于生成的结果串会比较长。 A universally unique identifier (UUID) is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. In this context the word unique should be taken to mean “practically unique” rather than “guaranteed unique”. Since the identifiers have a finite size it is possible for two differing items to share the same identifier. The identifier size and generation process need to be selected so as to make this sufficiently improbable in practice. Anyone can create a UUID and use it to identify something with reasonable confidence that the same identifier will never be unintentionally created by anyone to identify something else. Information labeled with UUIDs can therefore be later combined into a single database without needing to resolve name conflicts. ...

2016-02-29 · 3 min · 638 words · -

BigDecimal

BigDecimal package com.wiloon.javax; import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal a = new BigDecimal(1234567890123456.1234); System.out.println("a values is:" + a); BigDecimal b = new BigDecimal(123456789012345.1234); System.out.println("b values is:" + b); BigDecimal c = new BigDecimal(12345678901234.1234); System.out.println("c values is:" + c); BigDecimal d = new BigDecimal(1234567890123.1234); System.out.println("d values is:" + d); BigDecimal e = new BigDecimal(123456789012.1234); System.out.println("e values is:" + e); // 创建一个BigDecimal对象 BigDecimal bigDecimal = new BigDecimal("1234567890123456.1234"); // 输出 System.out.println("处理的浮点数为: " + bigDecimal); System.out.println(bigDecimal.add(new BigDecimal(1))); System.out.println(bigDecimal.add(new BigDecimal(0.0001))); } } a values is:1234567890123456 b values is:123456789012345.125 c values is:12345678901234.123046875 d values is:1234567890123.123291015625 e values is:123456789012.1233978271484375 处理的浮点数为: 1234567890123456.1234 1234567890123457.1234 1234567890123456.123500000000000000004792173602385929598312941379845142364501953125 Java 在 java.math 包中提供的 API 类 BigDecimal, 用来对超过 16 位有效位的数进行精确的运算。双精度浮点型变量 double 可以处理 16 位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。 float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。 ...

2016-02-29 · 2 min · 258 words · -

sway

sway virtualbox 里的 sway virtualbox 窗口在不同分辨率的显示器之间切换时花屏, 剪贴板不好用, 窗口不能自动缩放 2024-01-08T08:17:03+08:00 fedora sway download Fedora Sway Spin iso virtualbox 配置显存128, 3D加速 用 iso 启动后 win + enter 打开 terminal 用 text mode 安装 liveinst –text fedora disable firewall sudo systemctl stop firewalld # replace dnf mirror with 163 dnf upgrade --refresh dnf install kernel-headers – archlinux + sway virtualbox guest addition failed to start sudo pacman -S sway sudo pacman -S swaylock swayidle swaybg sudo pacman -S dmenu # install yay yay -S wmenu sudo pacman -S foot sudo pacman -S polkit virtualbox 虚拟机要打开 3D 加速 ...

2016-02-26 · 1 min · 104 words · -