由于 Linux 命令行没有图形化界面,因此,所有的设置都采用文本的方式来完成,而其中最重要的用户设置则为 bashrc 文件,很多时候,命令找不到,缺少 XXX,都可能与这个有关。bashrc:为每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取,其中 rc 是“run configure”的简写。
我们说到Linux的时候,所指代的意义是不同的,一般认为Linux指的是Linux内核,而Linux内核是硬件系统向上对应用提供接口的一个中间层,本质上Linux内核也是一个应用,不过该应用面向的是硬件与其他应用。在操作系统中,我们经常接触到一个词,"库文件",Linux下有".so"结尾的库文件,Windows下有".dll"结尾的库文件。库文件的存在是为了方便开发者开发应用,。对下层调用硬件资源,对上层提供友好的开发接口,使开发应用降低复杂度,也能实现功能。
这里简单举个例子,假如我想要对一个test.c源文件进行编译,最终生成一个mytest的可执行程序,那么我们就可以说mytest与test.c互为依赖关系。mytest的生成需要依赖test.c这个源文件。两者之间用冒号:进行连接。(我们的依赖关系可以为n个,n>=0)
初学者当安装模式为默认的 Server with GUI 即可,右侧额外的软件包不要选择,可以在后续学习过程中慢慢安装。生成环境一般为Minimal Install(最小化安装)。
dpkg是Debian和Ubuntu等Linux发行版中用于管理软件包的基本包管理工具
包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具,在不同发行版本的Linux系统中,有着不同的软件包管理器:
DEB 软件包是一种二进制软件包,包含了已经编译过的程序、库、配置文件以及其他必需的资源。这种软件包格式最初是为 Debian 发行版设计的,但后来也被许多其他基于 Debian 的 Linux 发行版所采用。DEB 软件包使用 .deb 文件扩展名,其设计旨在简化软件的分发、安装和升级。
Linux操作系统以其开放源代码、高度可定制性等特点而备受青睐。在Linux中,包管理器和下载工具是系统维护和软件安装的关键工具。本文通过深入了解yum、apt-get和wget的特性,让大家能够更好地选择适合其需求的工具,提高系统管理和软件安装的效率。
其中已经遇到了一些问题,在和文心一言交互过程中,由于提问不合适,得不到所期望的结果。
(1)rpm工具(redhat package manager,手动安装,难点在于包的依赖关系)
(1) 一篇看懂!详解-Linux系统中安装软件的三种方法 - 知乎. https://zhuanlan.zhihu.com/p/298288206.
1,yum安装是将yum源中的rpm包下载到本地,安装这个rpm包。这个rpm包是别人编译安装好的二进制包。这种方式与其说是安装不如说是,更新来的更确切一点。
运行环境为CentOS 7系统,我们开发了一个程序,需要在开机时启动它,当程序进程crash或者开机之后,守护进程立即拉起进程。
YUM(Yellow dog Updater Modified): yum是Redhat系列系统基于RPM包构建的软件更新机制,可以自动解决 rpm 包之间的依赖关系,所有软件包由集中的yum软件仓库提供。其理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、 删除等操作,减少了Linux用户一直头痛的dependencies的问题。 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的依赖性问题,保持与RPM数据库的一致性。
yum是一个软件下载安装的一个客户端,像小米应用商店,华为应用商城,Linux中软件包可能存在依赖关系,而yum会帮我们解决这种依赖关系的问题。
Linux是基于模块的,所有的驱动都是模块化的:管理模块的命令:1、列出系统中所有已经加载的模块的大小与名称等:lsmod或者cat/proc /modules
什么是服务?在linux系统中,有一些特殊程序,启动后就会持续在后台执行,等待用户或者其他软件调用使用,这种程序我们称为服务。
在Linux系统中,软件包管理是一个至关重要的任务,而Yum(Yellowdog Updater, Modified)作为一种包管理工具,在许多主流的Linux发行版中得到广泛应用。本文将深入探讨Yum的基本原理、常用命令以及一些实例演示,帮助读者更好地理解和使用Yum。
源码安装:配置(configure)、编译(make)、安装(make install),所有操作中间错误可以忽略,最后段末尾统一报错。 ####1.配置 configure:生成Makefile的shell脚本 文件结构如下: <文件夹> |-configure.in |-Makefile.am |-acconfig.h |-<源码文件> |-tt.c |-qq.c |-qq.h |-Makefile.am 其中configure.in作为./configure的配置输入;makefile.am通过automake生成makefile.in再由./configure生成makefile;acconfig.h由autoheader生成config.h.in再由./configure生成config.h configure.h使用autoconf和automake命令的shell脚本,可以通过autoscan自动生成或手写 acconfig.h包含了configure.in中未定义的宏 autoscan–>autoheader–>aclocal–>automake|autoconf
在C语言中,我们已经学过程序的编译和链接,在这里将复习一下我们之前所学的内容并引出后续gcc/g++的内容。
# arm-linux-gcc hello.c -o tt /home/gl/usr/local/arm/4.3.2/bin/arm-linux-gcc: /home/gl/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 /home/gl/usr/local/arm/4.3.2/bin/arm-linux-gcc:行3: /home/gl/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: 成功 [root@austgl gl]# yum install ld-linux.so.2 已加载插件:langpacks, presto, refresh-packagekit 解决依赖关系 --> 执行事务检查 ---> 软件包 glibc.i686.0.2.16-28.fc18 将被 安装 --> 处理依赖关系 libfreebl3.so(NSSRAWHASH_3.12.3),它被软件包 glibc-2.16-28.fc18.i686 需要 --> 处理依赖关系 libfreebl3.so,它被软件包 glibc-2.16-28.fc18.i686 需要 --> 执行事务检查 ---> 软件包 nss-softokn-freebl.i686.0.3.14.3-1.fc18 将被 安装 --> 完成依赖关系计算 ^[^A 依赖关系解决
用户要注意安装时的软件依赖关系,需要在安装MySQL之前解决依赖关系,例如MySQL依赖libaio库,因此,用户需要在安装MySQL之前确认libaio库是否安装,如果没有安装需要先安装libaio之后才能安装MySQL。
make和makefile提供了自动化构建的能力,可以根据源文件的依赖关系和规则自动决定哪些文件需要重新编译。而直接使用gcc需要手动指定每个源文件的编译命令,不具备自动化的构建功能。
RPM的全称是:Red Hat Package Manager,是RPM软件包管理器。在Linux系统中对应命令是rpm,我们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此之外还包括和Red Hat最亲近的CentOS,以及其他一些主流发行版:SuSE、Fedora等。
导语: 安装软件 rpm yum 源码安装 卸载软件 一、rpm介绍 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例:openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。 ====== #用rpm安装需要考虑如下信息: 1.需要考虑系统的版本
服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务,windows系统中,把这些自动运行的进程,称为"服务"。
📌 猫头虎博主在此! 在Linux世界中,软件包管理是一项基本技能。不同的发行版使用不同的包管理工具,而yum和apt是其中最受欢迎的两个。这篇文章将为你详细解析这两个强大的工具,帮助你更好地理解它们的优势和适用场景。当然, 我在文章中融入了一些热门关键词,确保每一位Linux爱好者都能找到这篇宝藏文章。与我一同,探索Linux软件包管理的奥秘!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
相比于之前在网站上去找下载源,如今我们更加喜欢使用应用商店的方式下载软件. 一方面不需要我们一个个需要下载源,另一方面应用商店会帮我们选择适合我们的软件版本.
Linux软件的依赖关系是非常复杂的,通常的Linux都是依靠软件包管理工具来自动解决依赖关系的。以经常出现的Debian和Redhat这两大类来说,无论是deb包,还是rpm,都存在很严重的依赖问题。反观这个问题在Windows和Unix系统中就比较少见。当然Windows有时候遇见缺少某个动态链接库的时候,但是非常少,即使这种情况出现了,在Windows下一般可以比较容易的解决,例如安装某个版本的VC++库。OS X(Mac OS,苹果系统算是商业Unix系统)中,这个问题也不算严重。
在我们以后的工作环境中,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中;那么如何对这些源文件进行管理呢?比如哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行一些更复杂的功能操作。
用两台机器做实验,一台作为服务端(linux-001 192.168.141.128),一台作为客户端(linux-02 192.168.141.129)
最近在iMX6x开发板下制作Linux根文件系统,前期需要自己整理与平台无关的Core软件包的依赖关系、修改软件包对应的Spec文件、将下载的.tar.gz等源代码包打包成rpm包,然后使用rpmbuild编译打包成rpm包,最后rpm安装。很头痛的一个问题就是整理软件包的依赖关系、确定它们的编译顺序。
当单块架构被划分成微服务之后,随着微服务数量的增多,毫无疑问,将会面临比单块架构更复杂的问题。
lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块;
在Ubuntu 20.04下,如果从应用商城中直接下载VS code,有可能会导致无法使用中文输入法的问题,那么就只能从其他地方写了中文再复制过来,非常的麻烦。从一些文章中收集到的信息来看,应该是从应用商城中下载的VS Code是一个阉割版的软件,其中就把中文输入法这一项给抛弃了。因此我们的操作是先把从应用商城安装的VS code卸载掉,然后重新安装一个完整版的VS code即可解决问题。
书接上文,我们已经学习了 Linux 中的编辑器 vim 的相关使用方法,现在已经能直接在 Linux 中编写C/C++代码,有了代码之后就要尝试去编译并运行它,此时就可以学习一下 Linux 中的编译器 gcc/g++ 了,我们一般使用 gcc 编译C语言,g++ 编译C++(当然 g++ 也可编译C语言),这两个编译器我们可以当作一个来学习,因为它们的命令选项都是通用的,只是编译对象不同。除了编译器相关介绍外,本文还会库、自动化构建工具、提权等知识,一起来看看吧
会不会写 makefile ,从一个侧面说明了一个人是否具备完成大型工程的能力
本文译自:https://medium.com/@aditya.barik32/ordering-of-container-within-pod-a423d2e5ba52
一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/install-tensorflow-offline/
目前并非所有生产环境都能够支持互联网连接,在安装docker时候,需要使用离线安装的方式。
接下来我们用gcc编译器来运行一下,当然不是要完全编译,而是先让他预处理一下:
相比于windows系统,Linux安装程序就比较复杂了,很多需要root用户才能安装。常见的有以下几种安装方法
Yum是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux采用。
Makefile是在Linux环境下 C/C++ 程序开发必须要掌握的一个工程管理文件。当你使用make命令去编译一个工程项目时,make工具会首先到这个项目的根目录下去寻找Makefile文件,然后才能根据这个文件去编译程序。
在 Windows 操作系统中安装软件通常是通过已经编译成功的 exe 文件进行操作,但在 Linux 操作系统中情况就比较复杂。由于自由软件及开源社区的蓬勃发展,许多软件制作者是将源代码发布后,由使用者进行源码编译安装,此过程不仅耗时耗力,而且对使用者的技术有一定要求,无形中提高了软件使用的门槛。
gdb可以用于Linux环境下的程序的调试,就例如vs环境下的打断点,然后逐步分析语句等
领取专属 10元无门槛券
手把手带您无忧上云