linux社区

交叉编译详解

匿名 (未验证) 提交于 2019-12-02 22:56:40
对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么作用? 在解释什么是交叉编译之前,先要明白什么是本地编译。 本地编译 本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译: 比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。 交叉编译 交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序: 比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。 之所以要有交叉编译,主要原因是: 交叉编译的困难点在于两个方面: 不同的体系架构拥有不同的机器特性 交叉编译时的主机环境与目标环境不同 Configuration issues: HOSTCC vs TARGETCC: Toolchain Leaks: Libraries: Testing: 详细的对比可以参看这篇文章,已经写的很详细了,在这就不细说了: Introduction to cross-compiling for Linux

Arch linux操作系统安装教程

匿名 (未验证) 提交于 2019-12-02 21:56:30
һ.Arch linux Arch Linux是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux 采用 滚动发行模式 来获取系统更新和软件的最新版本,通过更新,任何时期的Arch Linux都可以滚动更新到最新版本。 二.制作引导盘 1.下载系统镜像 打开地址 Archlinux 下载 2.写入u盘, /dev/sdc代表磁盘设备 # sudo dd bs=4M if =Downloads/archlinux- 2019.04 . 01 -x86_64.iso of=/dev/sdc status=progress && sync 三.安装系统 1.使用u盘引导进入系统,刷新本地时间 # timedatectl set-ntp true 2.配置软件仓库镜像,将地理位置最近的镜像地址移到文件头部 # vi /etc/pacman.d/mirrorlist 3.硬盘分区并格式化 # fdisk -l # cfdisk /dev/sda # mkfs.fat /dev/sda1 # mkfs.btrfs /-f dev/sda2 # cfdisk /dev/sdb # mkfs.btrfs -f /dev

Podman - 下一代Linux容器工具

匿名 (未验证) 提交于 2019-12-02 21:56:30
足够的背景,让我们继续前进。这里使用的是 reshot linux 第一步是安装podman。 像往常一样,明智的第一步是运行更新,以获得良好的系统: $ sudo dnf -y update $ sudo dnf -y install podman 使用yum或apt-get来安装和管理软件。 $ sudo podman version podman version 0.9.3.1 $ sudo podman info . . . registries: - docker.io - registry.fedoraproject.org - quay.io - registry.access.redhat.com - registry.centos.org . . . 唯一细节是podman在系统上使用了五个注册表。 正在尝试加载容器映像,它首先在本地计算机上查找,然后按照列出的顺序检查其他注册表。 FROM registry.centos.org/che-stacks/centos-stack-base WORKDIR /usr/src/open-adventure COPY ./open-adventure /usr/src/open-adventure RUN sudo yum -y update && \ sudo yum -y install kernel-headers

如何学习Linux命令-初级篇

早过忘川 提交于 2019-12-02 16:39:09
首先声明,本人也是菜鸟,整理这篇博客只是为了记录自己学习Linux命令的一些心得,各路高手拍砖请手软。 也许作为一个刚入门的Linux新手,在众多的Linux发行版本面前,难免会眼花,有大把时间倒腾的同学,肯定不止在两个版本中游走过,不过大部分人首先体验到的还是桌面环境,毕竟我们中很多人还是从windows接触到计算机的,想要进步同学肯定抵不Linux命令的诱惑,于是在网上搜索各种命令,或者在使用中遇到问题后,放狗一搜就能找到解决方案。 当你已经把玩Linux一段日子后,会发现貌似你已经使用过很多命令了,但是让你回忆,你又说不上几个来(特别是面试的时候),这时候你应该吃一点 鸟哥私房菜 了。 当你对Linux的发展历史有一定了解的时候,你应该明白在Linux其实最基本的就是:Kernel + GNU工具,由于不同的Linux发行版本由不同的团队开发,一些是商业公司,比如红帽子,一些纯粹由社区维护(例如:Debian),他们在自己的发行版本中添加了一些独特工具,导致了不同的Linux发行上有着一些不同的命令,但是GNU提供的工具是最通用的,如果你懂C语言,那么就更好了,下载GNU下面的 coreutils ,这里一共有100多个命令,这些命令基本上是所有Linux发行版本上都具有的,同时还带有源码,这绝对是一个提高自己的机会。 作为一个普通的Linux使用人员

提交 PostgreSQL 简体中文性能改进补丁

半城伤御伤魂 提交于 2019-12-02 15:22:36
昨天把写好的程序整理出来发给社区,不出意料的,他们又在念叨如何通过API来提高,而不是自己写,原因……我也想不出为什么。 其他语言不清楚,简体中文面临几个问题: 1、排序依赖操作系统,但是不同系统字符顺序是不一样的,Linux下甚至多音字还有问题; 2、性能倒是次要,确实如他们所说,可以通过修改gcc来解决,但是宁愿等gcc补丁也不去解决现在的问题? 3、个人觉得数据库字符集处理还是内置比较好,正如Oracle,另外SQL Server和DB2我想也是如此做的; Windows 2008字母顺序: A a B b C c ... 而不是 a b c ... A B C ... 这样排也有道理,只是会引起一些不一致。 Linux多音字,目前发现一个,其他估计一样: “腌”取 a 音排序,而不是yan,虽然这个字是有这个发音,但是在中文里边几乎很少用;就算不是错误,至少也会引起不同平台下排序不一致。 来源: oschina 链接: https://my.oschina.net/u/1159948/blog/146308

我的Linux之路

拥有回忆 提交于 2019-12-02 14:43:32
1. Hi,大家好,我是奔跑的码仔,是一名长期混迹于Linux江湖,靠Linux吃饭的程序员。生活在一个IT大环境不好的二线城市,大家也知道,这里的程序员本来就很稀少,况且是Linux程序员呢,就更是稀有物种了!可是,不是有那么一句老话嘛,物以稀为贵。你还别说,虽然,这里的Linux岗位较少,但是,薪资总体还是蛮有竞争力的。所以,才会有时间来总结自己的Linux学习之路(不然,早就去加班挣生活费了,哈哈)。 但是,最近,自己总是焦虑一个事。那就是自己虽然一直以Linux为生,这些年,也接触了不少的Linux的技术(这些技术不管是工作上用的着的,还是自己感兴趣利用业余时间自学的)。但是,仔细一想,和Linux接触这么长时间,自己真正可以拿的出手的作品好像没有多少,一些学习心得也没有及时的形成文字记录下来,在自己所从事的领域也没有形成技术影响力。作为一个技术人,每每想到这些,内心都十分的失落。所以,思来想去,为了能够更好的学习Linux,也为了能够接触更多的志同道合的人,我决定,以文字的形式记录下我自己的学习过程。顺便,如果这些文字能够能给大家带来些许收获,那我将感到十分的荣幸。其实,记录自己的学习、成长轨迹是一个很好的学习方法,这些文字日后会形成宝贵的财富,这样当自己回望过往时,就不会因为碌碌无为而悔恨和遗憾了。下面开始述说我自己的一些经历和体验。 2. 记得

Linux系统介绍,安装。

时光怂恿深爱的人放手 提交于 2019-12-02 07:41:08
Linux介绍 一、常见的操作系统(OS) Windowns,Android,Ios,Linux,Unix,OS X 二、Linux介绍 1、Linux·特点: (1)自由使用,免费的,开源的。 (2)多用户,多任务,多线程,多CPU Linux(免费的)基于UNIX(商业的,收费贵)操作系统开发的。 Linux这个词本身只表示Linux内核 2、Linux组成 Linux= 内核+shell(解释器)+文件系统+应用程序 内核=内存架构+进程+驱动程序 Shell在菜鸟教程上有http://www.runoob.com/linux/linux-shell.html 内核官网: https://www.kernel.org/ 不适合初学者看 3、Linux应用 服务器 (1)Linux:用的最多 redhot(红帽) centos(常用版本6.X)社区企业操作系统(Community Enterprise OperatingSystem), suselinux(个人版 德国) 手机操作系统,嵌入式,平板,机顶盒等都运用了Linux (2)windowns server(微软的 常用版本2008,2012) (3)unix操作系统(尤尼斯)比linux强 就是收费 4、Linux分支 一, Redhat(红帽) 偏原生Linux,命令行操作(就是黑白的那种) CentOS:(Red

Linux操作系统 (二)下载以及安装

冷暖自知 提交于 2019-12-02 07:39:22
Linux操作系统 需要了解: 诞生时间:1991年 开发者: 林纳斯.托瓦茨 Linux特点:免费、开源 版本:Redhat商业版 ->centos debian社区版 —>ubantu(方向是桌面操作系统) 安装方式: 1.直接安装Linux系统(专门用作服务器的)。 2.双系统安装,需要来回切换。 3.安装在虚拟机上,首先需要安装虚拟机(学习阶段可用)。 下载地址: 我介绍的就是这种虚拟机安装的方式,Linux镜像为centos版本 Vmware虚拟机下载地址以及注册机,我提供的是Vmware 14.1.3版本链接: https://pan.baidu.com/s/1BlnRrYHCmMawpMBO5zrgFA 密码:t7ds 需要其他版本请到官网下载: http://www.Vmware.com Linux镜像下载地址: https://www.centos.org// 步骤: 1.进入官网后点击如下图所示 2.进入镜像下载以后,点击 DVD ISO 按钮 3.随便点击一个连接都可以下载 4.下载完成 来源: CSDN 作者: 黑小飞 链接: https://blog.csdn.net/qq_43080861/article/details/82144812

Linux (一)概述

社会主义新天地 提交于 2019-12-01 23:24:09
认识操作系统 操作系统的作用 把计算机系统中对硬件设备的操作封装起来,供应用软件调用。 ​ 2. 常见操作系统 1.2.1 P C端OS ​ 1.2.2 移动端OS ​ 1.2.3 服务端OS ​ ​ ​ 2 . Linux来历 2.1. Unix的局限 硬件绑定 :早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作系统。 ​ 版权受限 :出于商业等方面因素的考虑,AT&T在1979年发行第七版Unix系统时收回了Unix的版权。 2.2 用于教学的Minix 在Unix收回版权的背景下,出于学院教学的需要,荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授开发了一个“类Unix”系统:Minix。之所以称为类Unix,是由于Tanenbaum教授为了避免版权纠纷在开发过程中刻意完全不看Unix本身代码,但同时要做到在使用时让用户的操作方式和使用Unix时一样。 2.3 受到启发的Linux Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。 Linux是 Linus Torvalds受到Minix的影响而开发的(Linus Torvalds不喜欢他的386电脑上的MS-DOS操作系统

Linux 内核的五大创新

↘锁芯ラ 提交于 2019-12-01 20:38:01
在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。 Linux 内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大物。 撇开营销和模式不谈,Linux 可以说是开源世界中最受欢迎的内核,它在近 30 年的生命时光当中引入了一些真正的规则改变者。 Cgroups(2.6.24) 早在 2007 年,Paul Menage 和 Rohit Seth 就在内核中添加了深奥的控制组(cgroups)功能(cgroups 的当前实现是由 Tejun Heo 重写的)。这种新技术最初被用作一种方法,从本质上来说,是为了确保一组特定任务的服务质量。 例如,你可以为与你的 WEB 服务相关联的所有任务创建一个控制组定义(cgroup),为例行备份创建另一个 cgroup ,再为一般操作系统需求创建另一个 cgroup。然后,你可以控制每个组的资源百分比,这样你的操作系统和 WEB 服务就可以获得大部分系统资源,而你的备份进程可以访问剩余的资源。 handsome hipster modern man designer working home using laptop at home 然而,cgroups 如今变得这么著名是因其作为驱动云技术的角色:容器。事实上,cgroups 最初被命名为进程容器。当它们被 LXC