1.debian系如何把已经安装的源码某个程序还原为deb?
2.打deb包.创建 apt源仓库
3.å¦ä½å¨ Ubuntu/Fedora/Debian ä¸å®è£
GitLab
4.yum和apt-get的区别详解
5.3、更换Debian的打包软件源
debian系如何把已经安装的某个程序还原为deb?
探讨如何在Debian系统中,将已安装的源码程序还原为.deb格式包进行操作,这涉及到下载源码、打包修改源代码、源码重新生成安装包、打包三端直播源码安装等环节,源码旨在实现个性化定制。打包
环境:使用的源码是Debian 稳定版,搭配KDE Plasma界面和wayland。打包操作时间:年3月日。源码
一、打包安装原版stterm
首先,源码通过官方仓库安装stterm的打包二进制包。
二、源码下载源代码
前往合适的文件存储位置,从官方网站下载源代码。若下载失败,可在deb-src源中添加代码源,确保在Debian目录下获得.dsc(基本信息文件)、源代码打包文件.tar.xz以及stterm-0.9目录。
三、配置文件修改
定位至需要修改的csgola源码配置文件,包括字体、颜色、快捷方式等。
四、内容修改
针对需要调整的部分,替换相应的文本内容。涉及字体大小、主题颜色、快捷方式等。
五、提交修改
确保在源代码目录中,进行修改提交操作,输入补丁名并使用文本编辑器如vim进行内容修改和保存。
六、生成.deb包
在源代码目录中执行相关命令生成.deb包,注意识别生成的安装包文件,一般命名为stterm_0.9-1_amd.deb。
七、安装新.deb包
确保在源代码目录中,通过命令进行.deb包安装。
八、效果验证
安装后,autocomplete 源码程序界面实现个性化设置,如使用快捷键进行内容贴入贴出。遗憾的是,鼠标中键滚轮滚动界面的设置未能调整,欢迎知悉者提供帮助。
打deb包.创建 apt源仓库
如何制作Deb包和相应的软件仓库,其实这个很简单。这里推荐使用dpkg来进行deb包的创建、编辑和制作。
首先了解一下deb包的文件结构:
deb 软件包里面的结构,它具有DEBIAN和软件具体安装目录(如etc, usr, opt, tmp等)。在DEBIAN目录中起码具有control文件,其次还可能具有postinst (postinstallation)、postrm (postremove)、preinst(preinstallation)、prerm (preremove)、copyright (版权)、changlog (修订记录)和conffiles等。
control: 这个文件主要描述软件包的名称(Package),版本(Version)以及描述(Description)等,是deb包必须具备的描述性文件,以便 于软件的梦呓源码安装管理和索引。同时为了能将软件包进行充分的管理,可能还具有以下字段:
Section: 这个字段申明软件的类别,常见的有`utils’, `net’, `mail’, `text’, `x′ 等;
Priority: 这个字段申明软件对于系统的重要程度,如`required’, `standard’, `optional’, `extra’ 等;
Essential: 这个字段申明是否是系统最基本的软件包(选项为),如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载(除非进行强制性 的卸载)
Architecture:申明软件包结构,如基于`i′, `mk’, `sparc’, `alpha’, `powerpc’ 等构建,选项 为;
Source: 软件包的源代码名称;
Depends: 软件所依赖的其他软件包和库文件。如果是依赖多个软件包和库文件,彼此之间采用逗号隔开;
Pre-Depends: 软件安装前必须安装、配置依赖性的软件包和库文件,它常常用于必须的预运行脚本需求;
Recommends: 这个字段表明推荐的安装的其他软件包和库文件;
Suggests: 建议安装的其他软件包和库文件。
对于control,这里有一个完整的例子:
Package: bioinfoserv-arb
Version: __
Section: BioInfoServ
Priority: optional
Depends: bioinfoserv-base-directories (= 1.0-1), xviewg (= 3.2p1.4), xfig (= 1:3), libstdc++2.-glibc2.2
Suggests: fig2ps
Architecture: i
Installed-Size:
Maintainer: Mingwei Liu
Provides: bioinfoserv-arb
Description: The ARB software is a graphically oriented package comprising various tools for sequence database handling and data analysis.
If you want to print your graphs you probably need to install the suggested fig2ps package.
preinst: 这个文件是软件安装前所要进行的工作,工作执行会依据其中脚本进行;
postinst这个文件包含了软件在进行正常目录文件拷贝到系统后,所需要执行的配置工作。
prerm :软件卸载前需要执行的脚本
postrm: 软件卸载后需要执行的脚本
现在来看看如何修订一个已有的deb包软件
假 如您已经从本BioInfoServ Deb仓库中获取了bioinfoserv-base-directories_1.1-_i.deb,采用dpkg -x bioinfoserv-base-directories_1.1-_i.deb bioinfoserv-base-directories
这样,您就可以将已经打包好的bioinfoserv-base- directories_1.1-_i.deb解开在bioinfoserv-base-directories的目录中,此时解开的软件包在 bioinfoserv-base-directories目录中就是一些文件目录和相应的文件。
采用dpkg -e bioinfoserv-base-directories_1.1-_i.deb bioinfoserv-base-directories/DEBIAN
此时,源码滑头就可以将bioinfoserv-base-directories_1.1-_i.deb软件包的规则文件解开,可以看见 control、postrm等包含脚本的文件,如果要修改软件的信息和安装行为,那么就打开这些文件,进行修改。
修改完成,可以采用dpkg -b bioinfoserv-base-directories bioinfoserv-base-directories_1.1-_i.deb重新包装这个软件包。
如何从源码打包deb?
这个可以参考deb ?n的包装
如何制作deb仓库?
一个简单的deb仓库可以采用apt-get install *的方式来进行快速软件安装。制作软件包仓库其实很简单:
首先, 将制作好的deb包放在一个目录下,当然您也可以依据软件名称建立子目录,再存放deb包,如您建立一个Version1.1-Xubuntu6.的 目录存放已经建立的软件包
随后,采用sudo dpkg-scanpackages Version1.1-Xubuntu6. /dev/null | gzip -9c Packages.gz建立仓库索引文件
然后,解开Packages.gz以便编辑:gzip -d Packages.gz, 此时得到Packages文件
编辑,nano Packages,采用替换功能去掉Packages里面的Version1.1-Xubuntu6./字段,然后保存
重新打包gzip Packages Packages.gz放到目录Version1.1-Xubuntu6.中。
现在设定/etc/apt/sources.list中的仓库源,如果Version1.1-Xubuntu6.目录在你系统中的/var /www/Version1.1-Xubuntu6.下的话,可在/etc/apt/sources.list加入:
deb file:////var/www/Version1.1-Xubuntu6./ /
保存后,采用apt-get update更新,此时就可以采用apt-get install bioinfoserv-base-directories_1.1-_i.deb安装你创建好的deb软件了。
当 然如果您需要将这个软件仓库发布到互联网上,假定您的网络地址为,其互联网访问的路径为/BioinfoServDeb/Version1.1-Xubuntu6.,那么在/etc/apt /spurce.list中添加:
deb /BioinfoServD … buntu6./ /
此时,其他人就可以采用互联网使用您的deb软件仓库了。
å¦ä½å¨ Ubuntu/Fedora/Debian ä¸å®è£ GitLab
ä¸ãæºç å®è£ ï¼
对äºæ¬èº«å ·æå¼æºè¡ç»çLinuxç³»ç»æ¥è¯´ï¼å ä¹ææçå¼æºè½¯ä»¶é½æ¯æå¨Linuxå¹³å°è¿è¡ï¼èè¿äºè½¯ä»¶ä¸è¬é½ä»¥æºç æå å½¢å¼ååï¼æºç å®è£ éç¨äºææLinuxåæ¯ï¼åªéè¦ç³»ç»å®è£ äºgccãmakeã以åautomakeåautoconfï¼æºç å®è£ çä¸è¬æ¹æ³å¦ä¸ï¼
1. cd æºç ç®å½
2. ./configure [opts]
3. make
4. make install
äºãrpmå å®è£
pmå çå®è£ é常ç®åï¼åªéè¦è¾å ¥rpm ï¼i xxx.rpm å³å¯å®æï¼å¸è½½åªéè¦rpm -e å å å³å¯å®æï¼å级éè¿rpm -U å å å½ä»¤å®æï¼éè¦æºå¨èç½ï¼ï¼rpm -q æä¾ç¸å ³æ¥è¯¢
ä¸ã debå å®è£
debæ¯debianåå ¶è¡ççæ¬å¦Ubuntuçå®è£ å ï¼å¨è¿ä¸¤ä¸ªç³»ç»çæ¡é¢ç¯å¢ä¸ï¼å¯åå»å ç´æ¥å®è£ ï¼å¨å½ä»¤è¡ä¸å¯ä»¥éè¿dpkg -i xxx.debå®æï¼éè¿dpkg -r å å å®æã
4. yumå®è£ 软件å
Yumæ¯ä¸ä¸ªå¨FedoraåRedHat以åSUSEãCentOSä¸ç软件å 管çå¨ï¼yumä¹å¯¹ä¾èµå ³ç³»è¿è¡ç®¡çï¼å¿ é¡»å¨èç½æ¡ä»¶ä¸è¿è¡ï¼ä¹å¯ä»¥ç»yum设置代çï¼ï¼ä½¿ç¨yumå®è£ 软件ä¹æ¯æ¬äººæ常ç¨çæ¹æ³ï¼å¨shellå½ä»¤è¡ä¸è¾å ¥yum install 软件å å å³å¯å®æå®è£ ï¼å¦æä¾èµå 没å®è£ ï¼ä¼èªå¨å®è£ ï¼å¸è½½éè¿yum remove å å å³å¯å®æï¼ä¸apt-get 类似ã
yum和apt-get的区别详解
yum和apt-get的区别一般来说著名的linux系统基本上分两大类:
1.RedHat系列:Redhat、Centos、Fedora等
2.Debian系列:Debian、Ubuntu等
RedHat 系列
1 常见的安装包格式 rpm包,安装rpm包的命令是rpm -参数
2 包管理工具 yum
3 支持tar包
Debian系列
1 常见的安装包格式 deb包,安装deb包的命令是dpkg -参数
2 包管理工具 apt-get
3 支持tar包
tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。
rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。
优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。
tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。
如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。
rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。
-------------------------------- *.rpm形式的二进制软件包[centos]
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
rpm -q nginx 查看是否已经安装
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
rpm -qa|grep php 查看已安装的RMP包
安装:rpm -ivh xxx
移除:rpm -e xxx
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
-------------------------------- src.rpm 源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
1、*.src.rpm形式的源代码软件包
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
--------------------------------dpkgubuntu
dpkg -l | grep 'php' 使用dpkg -l 来查看已经安装了的软件
dpkg 是Debian[待宾] Package 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux 发行版都使用 dpkg,例如 Ubuntu、Knoppix 等。
以下是一些 Dpkg 的普通用法:
1、dpkg -i package.deb
安装一个 Debian 软件包,如你手动下载的文件。
2、dpkg -c package.deb
列出 package.deb 的内容。
3、dpkg -I package.deb
从 package.deb 中提取包裹信息。
4、dpkg -r package
移除一个已安装的包裹。
5、dpkg -P package
完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
6、dpkg -L package
列出 package 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。
7、dpkg -s package
显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。
8、dpkg-reconfigure package
重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。
-------------------------------- 使用yum和apt-get。软件管理方法的升级.
yum的配置文件是/etc/yum.conf
1. 我们来先讲Redhat的yum 这种高级的包管理.
yum install gcc [centos]
更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx
#sudo -s
#LANG=C
#yum -y install gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel
用YUM安装软件包
yum -y package_name
命令:yum install package_name
用YUM删除软件包
命令:yum remove package_name
yum -y remove ... buster Release` 文件不存在,这是由于 `AdoptOpenJDK` 已更名为 `Adoptium`。解决方法为更新 `sources.list` 中对应 `AdoptOpenJDK` 的源配置,执行 `sudo sed -i '1c deb mirrors.tuna.tsinghua.edu.cn... buster main' /etc/apt/sources.list.d/AdoptOpenJDK.list` 并通过 `gpg` 命令验证和添加公钥。
4. **Mobian源报错处理**:如果遇到 Mobian 源暂时不可用的问题,可将该源从 `/etc/apt/sources.list.d/mobian.list` 文件中注释掉或禁用,使用命令 `sudo sed -i '1c #deb repo.mobian-project.org... bullseye main non-free' /etc/apt/sources.list.d/mobian.list`。 5. **一键更新软件源与系统程序**:执行一系列命令实现自动化操作,包括更新源、系统更新、重启 SSH 服务。命令如下:默认软件源修改完成。
AdoptOpenJDK 报错修复完成。
Mobian源报错屏蔽。
开始更新软件源列表。
更新完成。
系统程序更新完成。
使用 `sudo apt-get update` 更新源列表,`sudo apt-get upgrade` 更新系统程序至最新版,并在更新后使用 `sudo apt-mark hold openssh-server` 暂时禁用 `openssh-server`,以避免在后续升级中因依赖关系导致的意外中断,最后使用 `sudo apt-mark unhold openssh-server` 重新启用服务。 以上步骤涵盖了更换 Debian 软件源的流程,以及在遇到特定问题时的解决方法。通过这些步骤,可以确保系统的软件源符合要求,同时避免常见的更新错误。