鸟哥的Linux 私房菜可以被应用在不同的硬件架构上面,而 Unix 本身就是 C 语言写成的!在 Unix 发表之后, 柏克莱大学 ( Berkeley ) 的教授对于这个操作系统相当的有兴趣,在经过取得 Unix 的原始码,并且几经修改之后,终 于在 1977 年发表了第一代的 Berkeley Software Distribution ( BSD ) 。这个 BSD 是 Unix 的一个分支,他 的发展对于 Unix 版本: 由于 C 语言是一个相当高阶的程序语言,他与硬件没有很直接的相关性,例如你的 Windows 也可以执行 C 程序语言!而由于 Unix 是由 C 语言写成的,因此,也就是说,你只要经过稍微的原始码修改程序,就 可以在不同的硬件架构上面执行这个操作系统!后来,由于 Unix 的方便性,因此很多的商业公司及学术 机构就加入这个操作系统的研发啰。不过,也由于 Unix 的便利性与改写容易,因此就造成了很多的不同 freedom』的软件,什么是自由度呢?也就是你在取 得这个软件之后,可以进行修改、进一步发表与复制在不同的计算机平台上面。这无疑是个好消息!因为 如此一来,你所拿到的软件可能原先只能在 Unix 上面跑,但是经过原始码的修改之后,你将可以拿他在 Linux 或者是 Windows 上面来跑!Stallman 先生更直接对自由度下了这样的说明: • 你可以根据任何你想要的提议 ( purpose ) 来跑这个0 码力 | 386 页 | 11.69 MB | 1 年前3
Linux命令大全搜索工具 v1.8比grep好用的文本搜索工具 alias 定义或显示别名 apachectl Apache服务器前端控制工具 apk Alpine Linux 下的包管理工具 apropos 在 whatis 数据库中查找字符串 apt-get Debian Linux发行版中的APT软件包管理工具 apt-key 管理Debian Linux系统中的软件包密钥 apt-sortpkgs Debian Linux下对软件包索引文件进行排序的工具 用于备份ext2或者ext3文件系统 E e2fsck 用于检查第二扩展文件系统的完整性 e2label 设置第二扩展文件系统的卷标 echo 输出指定的字符串或者变量 ed 单行纯文本编辑器 edquota 用于编辑指定用户或工作组磁盘配额 egrep 在文件内查找指定的字符串 eject 用来退出抽取式设备 elinks 纯文本界面的WWW浏览器 elm 纯文本邮件客户端程序 emacs 功能强大的全屏文本编辑器 BookStack.CN 构建 fc 显示历史列表中的命令或修改指定的历史命令并执行 fdisk 查看磁盘使用情况和磁盘分区 fg 将后台作业移动到前台终端运行 fgrep 为文件搜索文字字符串 file 用来探测给定文件的类型 find 在指定目录下查找文件 findfs 标签或UUID查找文件系统 finger 用于查找并显示用户信息 firewall-cmd Linux上新0 码力 | 1347 页 | 8.79 MB | 1 年前3
Debian 参考手册(版本 2.109). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.1 伪装用户代理字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 12.6 在条件表达式中进行字符串比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 12.7 包含用于 popcon 等等。) 提示 我试图阐明操作系统底层和体系结构的各方面内容。 预备知识 警告 阅读本文档,你需要通过自己的努力去查找本文档未提及的问题答案。本文档仅仅提供有效的起点。 你必须自己从以下原始材料查找解决方案。 • Debian 网站(https://www.debian.org)上的通用信息 • ”/usr/share/doc/package_name” 目录下的文档 • Unix0 码力 | 261 页 | 1.39 MB | 1 年前3
Debian 维护者指南Debian 相关工作之前应当理解掌握的一些必备的预备知识。 2.1 Debian 社区的工作者 在 Debian 社区中有这几类常见的角色: • 上游作者(upstream author):程序的原始作者。 • 上游维护者(upstream maintainer):目前在上游维护程序代码的人。 • 软件包维护者(maintainer):制作并维护该程序 Debian 软件包的人。 • 赞助 debian-devel@lists.debian.org 邮件列表存档 的内容。 要获取您所需要的信息,一种有效的方法是在网页搜索引擎中构建类似“关键字 site:lists.debian.org” 这样具有限制条件的搜索字符串来限定搜索的域名。 制作一个小型测试用软件包也是了解打包细节的一个好办法。对当前已有的维护良好的软件包进行检 查则是了解其他人如何制作软件包的最好方法。 如果您对打包仍然存在疑问,您可以使用以下方式与他人进行沟通: 0 26 CHAPTER 4. 简单例子 4.9. 第三步(备选):修改上游源代码 $ mv -f debhello-0.0.orig debhello-0.0 请注意,上游的源码树应当恢复到原始状态,补丁文件此时的名字为 000-prefix-usr.patch。 这个 000-prefix-usr.patch 文件随后应当进行编辑以使其符合 DEP-3,并照如下方式移动至正确的位 置。0 码力 | 142 页 | 1.11 MB | 1 年前3
Debian 新维护者手册– Debian 期望你制作出高质量的软件包。 – 你应该随时调整自己来适应世界的变化。 在 Debian 社区中有这几类常见的角色: • Upstream author (上游作者):程序的原始作者。 • Upstream maintainer (上游维护者):目前在上游维护程序代码的人。 • Maintainer (软件包维护者):制作并维护该程序 Debian 软件包的人。 • Sponsor debian-devel@lists.debian.org (http://lists.debian.org/debian-devel/) Debian 新维护者手册 5 / 57 在搜索时你可以在搜索引擎中使用类似这样的字符串:site:lists.debian.org ,以此限制域名从而提高效率。 制作小的测试软件包是学习打包细节的好方法,仔细查看维护较好的软件包则是了解他人如何制作软件包的最佳办法。 如果你仍然对打包存有疑问,并且在文档和 EOF $ chmod 755 hello $ cd .. $ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0 2.3 获取程序并试用 这里第一件事是找到并下载原始的源代码。我们假定你已经在作者的主页上找到了程序的源代码。一般来说,Unix 下 的自由软件源代码是以 tar+gzip 格式 (扩展名为 .tar.gz) 或 tar+bzip2 格式 (扩展名为0 码力 | 63 页 | 493.28 KB | 1 年前3
Linux就该这么学 第2版如果再发布的软件中包含开源代码,则源代码必须继续遵循 BSD 许可证。 ⧫ 如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原 始代码遵循了 BSD 许可证。 ⧫ 不允许用原始软件的名字、作者名字或机构名称进行市场推广。 17 ➢ Apache Apache License :顾名思义,是由 Apache 软件基金会负责发布和 维护的开源许可协议 4 个条件。 ⧫ 该软件及其衍生品必须继续使用 Apache 许可证。 ⧫ 如果修改了程序源代码,需要在文档中进行声明。 ⧫ 若软件是基于他人的源代码编写而成的,则需要保留原始代码的许可证、商标、 专利声明及原作者声明的其他内容信息。 ⧫ 如果再发布的软件中有声明文件,则需在此文件中注明基于了 Apache 许可证及 其他许可证。 ➢ MIT Massachusetts 可,新研发的软件不用完全被该许可证控制。 ⧫ 开发人员可以将基于 MPL、GPL、BSD 等多种许可证的代码一起混合使用。 ⧫ 开发人员在发布新软件时,必须附带一个专门用于说明该程序的文件,内容要 有原始代码的修改时间和修改方式。 估计大家在看完上面琳琅满目的许可证后,会心生怨念:“这不都差不多吗?到底该选 哪个呢?”写到这里时,刘遄老师也是一脸无助:“到底该怎么让大家进行选择呢?”搜肠 刮肚之际突然眼前一亮,乌克兰程序员0 码力 | 552 页 | 22.25 MB | 1 年前3
Debian 新維護人員手冊軟件包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 修改原始碼 13 3.1 設置 quilt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 在不斷進步。 – Debian 期望你製作出高質量的軟件包。 – 你應該適時改變自己來適應變化。 在 Debian 社區中有這幾類常見的角色: • Upstream author (上游作者):程序的原始作者。 • Upstream maintainer (上游維護者):目前在上游維護程序代碼的人。 • Maintainer (軟件包維護者):製作並維護該程序的 Debian 軟件包的人。 • 此軟體包提供了建立和維護 chroot 環境的工具。在它的 chroot 環境中編譯 Debian 軟體包可以檢查編譯 依賴是否合適,並避免 FTBFS (Fails To Build From Source,原始碼編譯失敗) 的 Bug。(參看 pbuilder(8) 和 pdebuild(1)) • perl - Perl 是現今類 Unix 系統中使用最普遍的解釋型腳本語言,它常被稱作 Unix 的瑞士軍刀。(參看0 码力 | 63 页 | 512.12 KB | 1 年前3
鸟哥的Linux私房菜:服务器架设篇 第三版第十一章、远程联机服务器SSH / XDMCP / VNC / RDP 15.1. 11.1 远程联机服务器 15.2. 11.2 文字接口联机服务器: SSH 服务器 15.3. 11.3 最原始图形接口: Xdmcp 服务的启用 15.4. 11.4 华丽的图形接口: VNC 服务器 15.5. 11.5 仿真的远程桌面系统: XRDP 服务器 15.6. 11.6 SSH 服务器的进阶应用 /home ,至于家目录内的档案则复制来源在 /etc/skel 里面。 我以原始码的方式进行一个软件的安装,但是在分析系统的时候,分析程序一直告诉我找不到 cc 这个指令, 请问这是什么问题?为何需要 cc ?又,我该如何解决这个问题,好让软件可以顺利的被安装在我的 Linux 上面?因为是原始码,所以还需要编译程序来将该原始码编译成为可以在你的 Linux 系统上面跑的 binary 档案,在 义为:D:若为 0 表示可以分段,若为 1 表示不可分段 M:若为 0 表示此 IP 为最后分段,若为 1 表示非最后分段。 Fragment Offset(分段偏移)表示目前这个 IP 分段在原始的 IP 封包中所占的位置。就有点像是序号啦, 有这个序号才能将所有的小 IP 分段组合成为原本的 IP 封包大小嘛!透过 Total Length, Identification, Flags0 码力 | 795 页 | 17.63 MB | 1 年前3
Debian 套件打包教學指南 version 0.29Debian 套件打包教學指南 2 / 90 大綱 1 介紹 2 製作原始碼套件 3 構建並測試套件 4 實際演練 1: 修改 grep 套件 5 進階打包主題 6 維護 Debian 套件 7 結論 8 深入淺出實際演練 9 深入淺出實際演練 Debian 套件打包教學指南 3 / 90 大綱 1 介紹 2 製作原始碼套件 3 構建並測試套件 4 實際演練 1: 修改 grep git-buildpackage, . . . 當需要使用時,可安裝上述套件. Debian 套件打包教學指南 8 / 90 一般打包套件的流程 Web 上游程式碼 Debian 鏡像站 原始程式套件 這階段會完成大 部份手動操作 一個或多個二進制套件 .deb dh_make apt-get source dget debuild (透過lintian建立並測試套 件) 或者 dpkg-buildpackage devscripts fakeroot 2 創建並進入一個工作目錄: mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial 3 把 dash 原始碼套件下載下來 apt-get source dash (務必確保 deb-src 已加入 /etc/apt/sources.list) 4 構建套件 cd dash-* debuild -us -uc0 码力 | 90 页 | 691.02 KB | 1 年前3
Bootarmor 入门教程和用户手册 0.1.0发布安全应用 btarmor 语法 描述 btarmor boot btarmor make btarmor deploy btarmor patch C 用户使用手册 默认保护模式 共享字符串和全局变量 保护内存堆 保护内存栈 保护数据文件 附录 btarmor-os Debian Packages 了解 Bootarmor Bootarmor 是以为软件产品提供绝对安全,确保软件产品发布之后,其代码不 数据段,存放全局变量和函数体内使用 static 声明的变量 字符串常量 内存堆,程序申请的内存 运行栈,存放局部变量 数据文件 受保护内存只允许应用程序本身访问,不允许任何外部访问,包括 Linux 内 核,所以提供 了最大限度的安全性。当然这样也意味在调用系统服务的时 候,如果这些数据需要被内核访 问,就需要进行一些额外的设置和处理。 默认情况下,代码段,数据段,字符串常量是被保护的,而内存堆,运行栈和 数据文件是没 1; static int sa; static int sb = 2; // 字符串常量 "abc" 也受到保护 char *gc = "abc"; int main(int argc, char *argv[]) { // 局部变量存放在内存栈中,没有被保护 int a; // 字符串常量 "efg" 受到保护 char *b = "efg"; // 使用0 码力 | 25 页 | 30.29 KB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













