commit 8e9f640f7b7b23003e9a98101d2785dad707fe00 Author: zj <1052308357@qq.com> Date: Wed Dec 10 04:08:30 2025 +0800 first commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6b156fe --- /dev/null +++ b/LICENSE @@ -0,0 +1,675 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7778423 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# BBTTMS + +livecd 最小化 diff --git a/add_empty_folders.sh b/add_empty_folders.sh new file mode 100755 index 0000000..5059ba2 --- /dev/null +++ b/add_empty_folders.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# 保存为 add_empty_folders.sh + +echo "正在查找并处理空文件夹..." + +# 查找所有空文件夹并创建 .gitkeep +find . -type d -empty | while read dir; do + if [ ! -f "$dir/.gitkeep" ]; then + touch "$dir/.gitkeep" + echo "✅ 已创建: $dir/.gitkeep" + fi +done + +echo "处理完成!" diff --git a/archiso.md b/archiso.md new file mode 100644 index 0000000..35588c2 --- /dev/null +++ b/archiso.md @@ -0,0 +1,28 @@ +You can build this iso if you have the right version of Archiso. + +Archiso is a package supplied by Arch Linux that will always undergo changes. + +You can follow up the versions via this link. + +https://www.archlinux.org/packages/extra/any/archiso/ + +We are now using this version + + +archiso-version=archiso 87-1 + + +sudo pacman -Q archiso and you will know your version + + +Downgrade to this version via a command in the terminal if you have a higher version. + +`sudo downgrade archiso` + +and choose the right version. + +Add it to the ignore list of pacman. + + +If you have a lower version then update your system. Check to see if archiso is not added to +your /etc/pacman.conf in the list of ignores. Delete it if it is in there. Then update. diff --git a/archiso/airootfs/etc/#shadow# b/archiso/airootfs/etc/#shadow# new file mode 100755 index 0000000..65f56dd --- /dev/null +++ b/archiso/airootfs/etc/#shadow# @@ -0,0 +1,2 @@ +root::14871:::::: +liveuser::14871:::::: diff --git a/archiso/airootfs/etc/default/grub b/archiso/airootfs/etc/default/grub new file mode 100755 index 0000000..889f998 --- /dev/null +++ b/archiso/airootfs/etc/default/grub @@ -0,0 +1,54 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="Arch" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. +#GRUB_SAVEDEFAULT="true" diff --git a/archiso/airootfs/etc/environment b/archiso/airootfs/etc/environment new file mode 100755 index 0000000..377d9cd --- /dev/null +++ b/archiso/airootfs/etc/environment @@ -0,0 +1,13 @@ +# +# This file is parsed by pam_env module +# +# Syntax: simple "KEY=VAL" pairs on separate lines +# + +GTK_IM_MODULE=fcitx +QT_IM_MODULE=fcitx +XMODIFIERS=@im=fcitx +SDL_IM_MODULE=fcitx +GLFW_IM_MODULE=fcitx +CLUTTER_IM_MODULE=fcitx + diff --git a/archiso/airootfs/etc/group b/archiso/airootfs/etc/group new file mode 100755 index 0000000..d7e7ed6 --- /dev/null +++ b/archiso/airootfs/etc/group @@ -0,0 +1,19 @@ +root:x:0:root +sys:x:3:bin,liveuser +network:x:90:liveuser +power:x:98:liveuser +adm:x:999:liveuser +wheel:x:998:liveuser +uucp:x:987:liveuser +optical:x:990:liveuser +rfkill:x:983:liveuser +video:x:986:liveuser +storage:x:988:liveuser +audio:x:995:liveuser +users:x:985:liveuser +nopasswdlogin:x:966:liveuser +autologin:x:967:liveuser +liveuser:x:1000: +tms:x:1001: +kdm:x:1002: +mysql:x:306: \ No newline at end of file diff --git a/archiso/airootfs/etc/group~ b/archiso/airootfs/etc/group~ new file mode 100755 index 0000000..2f50b54 --- /dev/null +++ b/archiso/airootfs/etc/group~ @@ -0,0 +1,16 @@ +root:x:0:root +sys:x:3:bin,liveuser +network:x:90:liveuser +power:x:98:liveuser +adm:x:999:liveuser +wheel:x:998:liveuser +uucp:x:987:liveuser +optical:x:990:liveuser +rfkill:x:983:liveuser +video:x:986:liveuser +storage:x:988:liveuser +audio:x:995:liveuser +users:x:985:liveuser +nopasswdlogin:x:966:liveuser +autologin:x:967:liveuser +liveuser:x:1000: \ No newline at end of file diff --git a/archiso/airootfs/etc/gshadow b/archiso/airootfs/etc/gshadow new file mode 100755 index 0000000..8bf2275 --- /dev/null +++ b/archiso/airootfs/etc/gshadow @@ -0,0 +1,16 @@ +root:::root +sys:!!::liveuser +network:!!::liveuser +power:!!::liveuser +adm:!!::liveuser +wheel:!!::liveuser +uucp:!!::liveuser +optical:!!::liveuser +rfkill:!!::liveuser +video:!!::liveuser +storage:!!::liveuser +audio:!!::liveuser +users:!!::liveuser +nopasswdlogin:!::liveuser +autologin:!::liveuser +liveuser:!:: diff --git a/archiso/airootfs/etc/hostname b/archiso/airootfs/etc/hostname new file mode 100755 index 0000000..2dbe21e --- /dev/null +++ b/archiso/airootfs/etc/hostname @@ -0,0 +1 @@ +archiso diff --git a/archiso/airootfs/etc/locale.conf b/archiso/airootfs/etc/locale.conf new file mode 100755 index 0000000..f638dd1 --- /dev/null +++ b/archiso/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=zh_CN.UTF-8 diff --git a/archiso/airootfs/etc/locale.gen b/archiso/airootfs/etc/locale.gen new file mode 100755 index 0000000..00a96be --- /dev/null +++ b/archiso/airootfs/etc/locale.gen @@ -0,0 +1,516 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is given in /usr/share/i18n/SUPPORTED +# and is included in this file. Uncomment the needed locales below. +# +#aa_DJ.UTF-8 UTF-8 +#aa_DJ ISO-8859-1 +#aa_ER UTF-8 +#aa_ET UTF-8 +#af_ZA.UTF-8 UTF-8 +#af_ZA ISO-8859-1 +#agr_PE UTF-8 +#ak_GH UTF-8 +#am_ET UTF-8 +#an_ES.UTF-8 UTF-8 +#an_ES ISO-8859-15 +#anp_IN UTF-8 +#ar_AE.UTF-8 UTF-8 +#ar_AE ISO-8859-6 +#ar_BH.UTF-8 UTF-8 +#ar_BH ISO-8859-6 +#ar_DZ.UTF-8 UTF-8 +#ar_DZ ISO-8859-6 +#ar_EG.UTF-8 UTF-8 +#ar_EG ISO-8859-6 +#ar_IN UTF-8 +#ar_IQ.UTF-8 UTF-8 +#ar_IQ ISO-8859-6 +#ar_JO.UTF-8 UTF-8 +#ar_JO ISO-8859-6 +#ar_KW.UTF-8 UTF-8 +#ar_KW ISO-8859-6 +#ar_LB.UTF-8 UTF-8 +#ar_LB ISO-8859-6 +#ar_LY.UTF-8 UTF-8 +#ar_LY ISO-8859-6 +#ar_MA.UTF-8 UTF-8 +#ar_MA ISO-8859-6 +#ar_OM.UTF-8 UTF-8 +#ar_OM ISO-8859-6 +#ar_QA.UTF-8 UTF-8 +#ar_QA ISO-8859-6 +#ar_SA.UTF-8 UTF-8 +#ar_SA ISO-8859-6 +#ar_SD.UTF-8 UTF-8 +#ar_SD ISO-8859-6 +#ar_SS UTF-8 +#ar_SY.UTF-8 UTF-8 +#ar_SY ISO-8859-6 +#ar_TN.UTF-8 UTF-8 +#ar_TN ISO-8859-6 +#ar_YE.UTF-8 UTF-8 +#ar_YE ISO-8859-6 +#ayc_PE UTF-8 +#az_AZ UTF-8 +#az_IR UTF-8 +#as_IN UTF-8 +#ast_ES.UTF-8 UTF-8 +#ast_ES ISO-8859-15 +#be_BY.UTF-8 UTF-8 +#be_BY CP1251 +#be_BY@latin UTF-8 +#bem_ZM UTF-8 +#ber_DZ UTF-8 +#ber_MA UTF-8 +#bg_BG.UTF-8 UTF-8 +#bg_BG CP1251 +#bhb_IN.UTF-8 UTF-8 +#bho_IN UTF-8 +#bho_NP UTF-8 +#bi_VU UTF-8 +#bn_BD UTF-8 +#bn_IN UTF-8 +#bo_CN UTF-8 +#bo_IN UTF-8 +#br_FR.UTF-8 UTF-8 +#br_FR ISO-8859-1 +#br_FR@euro ISO-8859-15 +#brx_IN UTF-8 +#bs_BA.UTF-8 UTF-8 +#bs_BA ISO-8859-2 +#byn_ER UTF-8 +#ca_AD.UTF-8 UTF-8 +#ca_AD ISO-8859-15 +#ca_ES.UTF-8 UTF-8 +#ca_ES ISO-8859-1 +#ca_ES@euro ISO-8859-15 +#ca_ES@valencia UTF-8 +#ca_FR.UTF-8 UTF-8 +#ca_FR ISO-8859-15 +#ca_IT.UTF-8 UTF-8 +#ca_IT ISO-8859-15 +#ce_RU UTF-8 +#chr_US UTF-8 +#ckb_IQ UTF-8 +#cmn_TW UTF-8 +#crh_RU UTF-8 +#crh_UA UTF-8 +#cs_CZ.UTF-8 UTF-8 +#cs_CZ ISO-8859-2 +#csb_PL UTF-8 +#cv_RU UTF-8 +#cy_GB.UTF-8 UTF-8 +#cy_GB ISO-8859-14 +#da_DK.UTF-8 UTF-8 +#da_DK ISO-8859-1 +#de_AT.UTF-8 UTF-8 +#de_AT ISO-8859-1 +#de_AT@euro ISO-8859-15 +#de_BE.UTF-8 UTF-8 +#de_BE ISO-8859-1 +#de_BE@euro ISO-8859-15 +#de_CH.UTF-8 UTF-8 +#de_CH ISO-8859-1 +#de_DE.UTF-8 UTF-8 +#de_DE ISO-8859-1 +#de_DE@euro ISO-8859-15 +#de_IT.UTF-8 UTF-8 +#de_IT ISO-8859-1 +#de_LI.UTF-8 UTF-8 +#de_LU.UTF-8 UTF-8 +#de_LU ISO-8859-1 +#de_LU@euro ISO-8859-15 +#doi_IN UTF-8 +#dsb_DE UTF-8 +#dv_MV UTF-8 +#dz_BT UTF-8 +#el_GR.UTF-8 UTF-8 +#el_GR ISO-8859-7 +#el_GR@euro ISO-8859-7 +#el_CY.UTF-8 UTF-8 +#el_CY ISO-8859-7 +#en_AG UTF-8 +#en_AU.UTF-8 UTF-8 +#en_AU ISO-8859-1 +#en_BW.UTF-8 UTF-8 +#en_BW ISO-8859-1 +#en_CA.UTF-8 UTF-8 +#en_CA ISO-8859-1 +#en_DK.UTF-8 UTF-8 +#en_DK ISO-8859-1 +#en_GB.UTF-8 UTF-8 +#en_GB ISO-8859-1 +#en_HK.UTF-8 UTF-8 +#en_HK ISO-8859-1 +#en_IE.UTF-8 UTF-8 +#en_IE ISO-8859-1 +#en_IE@euro ISO-8859-15 +#en_IL UTF-8 +#en_IN UTF-8 +#en_NG UTF-8 +#en_NZ.UTF-8 UTF-8 +#en_NZ ISO-8859-1 +#en_PH.UTF-8 UTF-8 +#en_PH ISO-8859-1 +#en_SC.UTF-8 UTF-8 +#en_SG.UTF-8 UTF-8 +#en_SG ISO-8859-1 +en_US.UTF-8 UTF-8 +#en_US ISO-8859-1 +#en_ZA.UTF-8 UTF-8 +#en_ZA ISO-8859-1 +#en_ZM UTF-8 +#en_ZW.UTF-8 UTF-8 +#en_ZW ISO-8859-1 +#eo UTF-8 +#es_AR.UTF-8 UTF-8 +#es_AR ISO-8859-1 +#es_BO.UTF-8 UTF-8 +#es_BO ISO-8859-1 +#es_CL.UTF-8 UTF-8 +#es_CL ISO-8859-1 +#es_CO.UTF-8 UTF-8 +#es_CO ISO-8859-1 +#es_CR.UTF-8 UTF-8 +#es_CR ISO-8859-1 +#es_CU UTF-8 +#es_DO.UTF-8 UTF-8 +#es_DO ISO-8859-1 +#es_EC.UTF-8 UTF-8 +#es_EC ISO-8859-1 +#es_ES.UTF-8 UTF-8 +#es_ES ISO-8859-1 +#es_ES@euro ISO-8859-15 +#es_GT.UTF-8 UTF-8 +#es_GT ISO-8859-1 +#es_HN.UTF-8 UTF-8 +#es_HN ISO-8859-1 +#es_MX.UTF-8 UTF-8 +#es_MX ISO-8859-1 +#es_NI.UTF-8 UTF-8 +#es_NI ISO-8859-1 +#es_PA.UTF-8 UTF-8 +#es_PA ISO-8859-1 +#es_PE.UTF-8 UTF-8 +#es_PE ISO-8859-1 +#es_PR.UTF-8 UTF-8 +#es_PR ISO-8859-1 +#es_PY.UTF-8 UTF-8 +#es_PY ISO-8859-1 +#es_SV.UTF-8 UTF-8 +#es_SV ISO-8859-1 +#es_US.UTF-8 UTF-8 +#es_US ISO-8859-1 +#es_UY.UTF-8 UTF-8 +#es_UY ISO-8859-1 +#es_VE.UTF-8 UTF-8 +#es_VE ISO-8859-1 +#et_EE.UTF-8 UTF-8 +#et_EE ISO-8859-1 +#et_EE.ISO-8859-15 ISO-8859-15 +#eu_ES.UTF-8 UTF-8 +#eu_ES ISO-8859-1 +#eu_ES@euro ISO-8859-15 +#fa_IR UTF-8 +#ff_SN UTF-8 +#fi_FI.UTF-8 UTF-8 +#fi_FI ISO-8859-1 +#fi_FI@euro ISO-8859-15 +#fil_PH UTF-8 +#fo_FO.UTF-8 UTF-8 +#fo_FO ISO-8859-1 +#fr_BE.UTF-8 UTF-8 +#fr_BE ISO-8859-1 +#fr_BE@euro ISO-8859-15 +#fr_CA.UTF-8 UTF-8 +#fr_CA ISO-8859-1 +#fr_CH.UTF-8 UTF-8 +#fr_CH ISO-8859-1 +#fr_FR.UTF-8 UTF-8 +#fr_FR ISO-8859-1 +#fr_FR@euro ISO-8859-15 +#fr_LU.UTF-8 UTF-8 +#fr_LU ISO-8859-1 +#fr_LU@euro ISO-8859-15 +#fur_IT UTF-8 +#fy_NL UTF-8 +#fy_DE UTF-8 +#ga_IE.UTF-8 UTF-8 +#ga_IE ISO-8859-1 +#ga_IE@euro ISO-8859-15 +#gbm_IN UTF-8 +#gd_GB.UTF-8 UTF-8 +#gd_GB ISO-8859-15 +#gez_ER UTF-8 +#gez_ER@abegede UTF-8 +#gez_ET UTF-8 +#gez_ET@abegede UTF-8 +#gl_ES.UTF-8 UTF-8 +#gl_ES ISO-8859-1 +#gl_ES@euro ISO-8859-15 +#gu_IN UTF-8 +#gv_GB.UTF-8 UTF-8 +#gv_GB ISO-8859-1 +#ha_NG UTF-8 +#hak_TW UTF-8 +#he_IL.UTF-8 UTF-8 +#he_IL ISO-8859-8 +#hi_IN UTF-8 +#hif_FJ UTF-8 +#hne_IN UTF-8 +#hr_HR.UTF-8 UTF-8 +#hr_HR ISO-8859-2 +#hsb_DE ISO-8859-2 +#hsb_DE.UTF-8 UTF-8 +#ht_HT UTF-8 +#hu_HU.UTF-8 UTF-8 +#hu_HU ISO-8859-2 +#hy_AM UTF-8 +#hy_AM.ARMSCII-8 ARMSCII-8 +#ia_FR UTF-8 +#id_ID.UTF-8 UTF-8 +#id_ID ISO-8859-1 +#ig_NG UTF-8 +#ik_CA UTF-8 +#is_IS.UTF-8 UTF-8 +#is_IS ISO-8859-1 +#it_CH.UTF-8 UTF-8 +#it_CH ISO-8859-1 +#it_IT.UTF-8 UTF-8 +#it_IT ISO-8859-1 +#it_IT@euro ISO-8859-15 +#iu_CA UTF-8 +#ja_JP.EUC-JP EUC-JP +#ja_JP.UTF-8 UTF-8 +#ka_GE.UTF-8 UTF-8 +#ka_GE GEORGIAN-PS +#kab_DZ UTF-8 +#kk_KZ.UTF-8 UTF-8 +#kk_KZ PT154 +#kl_GL.UTF-8 UTF-8 +#kl_GL ISO-8859-1 +#km_KH UTF-8 +#kn_IN UTF-8 +#ko_KR.EUC-KR EUC-KR +#ko_KR.UTF-8 UTF-8 +#kok_IN UTF-8 +#ks_IN UTF-8 +#ks_IN@devanagari UTF-8 +#ku_TR.UTF-8 UTF-8 +#ku_TR ISO-8859-9 +#kv_RU UTF-8 +#kw_GB.UTF-8 UTF-8 +#kw_GB ISO-8859-1 +#ky_KG UTF-8 +#lb_LU UTF-8 +#lg_UG.UTF-8 UTF-8 +#lg_UG ISO-8859-10 +#li_BE UTF-8 +#li_NL UTF-8 +#lij_IT UTF-8 +#ln_CD UTF-8 +#lo_LA UTF-8 +#lt_LT.UTF-8 UTF-8 +#lt_LT ISO-8859-13 +#ltg_LV.UTF-8 UTF-8 +#lv_LV.UTF-8 UTF-8 +#lv_LV ISO-8859-13 +#lzh_TW UTF-8 +#mag_IN UTF-8 +#mai_IN UTF-8 +#mai_NP UTF-8 +#mdf_RU UTF-8 +#mfe_MU UTF-8 +#mg_MG.UTF-8 UTF-8 +#mg_MG ISO-8859-15 +#mhr_RU UTF-8 +#mi_NZ.UTF-8 UTF-8 +#mi_NZ ISO-8859-13 +#miq_NI UTF-8 +#mjw_IN UTF-8 +#mk_MK.UTF-8 UTF-8 +#mk_MK ISO-8859-5 +#ml_IN UTF-8 +#mn_MN UTF-8 +#mni_IN UTF-8 +#mnw_MM UTF-8 +#mr_IN UTF-8 +#ms_MY.UTF-8 UTF-8 +#ms_MY ISO-8859-1 +#mt_MT.UTF-8 UTF-8 +#mt_MT ISO-8859-3 +#my_MM UTF-8 +#nan_TW UTF-8 +#nan_TW@latin UTF-8 +#nb_NO.UTF-8 UTF-8 +#nb_NO ISO-8859-1 +#nds_DE UTF-8 +#nds_NL UTF-8 +#ne_NP UTF-8 +#nhn_MX UTF-8 +#niu_NU UTF-8 +#niu_NZ UTF-8 +#nl_AW UTF-8 +#nl_BE.UTF-8 UTF-8 +#nl_BE ISO-8859-1 +#nl_BE@euro ISO-8859-15 +#nl_NL.UTF-8 UTF-8 +#nl_NL ISO-8859-1 +#nl_NL@euro ISO-8859-15 +#nn_NO.UTF-8 UTF-8 +#nn_NO ISO-8859-1 +#nr_ZA UTF-8 +#nso_ZA UTF-8 +#oc_FR.UTF-8 UTF-8 +#oc_FR ISO-8859-1 +#om_ET UTF-8 +#om_KE.UTF-8 UTF-8 +#om_KE ISO-8859-1 +#or_IN UTF-8 +#os_RU UTF-8 +#pa_IN UTF-8 +#pa_PK UTF-8 +#pap_AW UTF-8 +#pap_CW UTF-8 +#pl_PL.UTF-8 UTF-8 +#pl_PL ISO-8859-2 +#ps_AF UTF-8 +#pt_BR.UTF-8 UTF-8 +#pt_BR ISO-8859-1 +#pt_PT.UTF-8 UTF-8 +#pt_PT ISO-8859-1 +#pt_PT@euro ISO-8859-15 +#quz_PE UTF-8 +#raj_IN UTF-8 +#rif_MA UTF-8 +#ro_RO.UTF-8 UTF-8 +#ro_RO ISO-8859-2 +#ru_RU.KOI8-R KOI8-R +#ru_RU.UTF-8 UTF-8 +#ru_RU ISO-8859-5 +#ru_UA.UTF-8 UTF-8 +#ru_UA KOI8-U +#rw_RW UTF-8 +#sa_IN UTF-8 +#sah_RU UTF-8 +#sat_IN UTF-8 +#sc_IT UTF-8 +#scn_IT UTF-8 +#sd_IN UTF-8 +#sd_IN@devanagari UTF-8 +#se_NO UTF-8 +#sgs_LT UTF-8 +#shn_MM UTF-8 +#shs_CA UTF-8 +#si_LK UTF-8 +#sid_ET UTF-8 +#sk_SK.UTF-8 UTF-8 +#sk_SK ISO-8859-2 +#sl_SI.UTF-8 UTF-8 +#sl_SI ISO-8859-2 +#sm_WS UTF-8 +#so_DJ.UTF-8 UTF-8 +#so_DJ ISO-8859-1 +#so_ET UTF-8 +#so_KE.UTF-8 UTF-8 +#so_KE ISO-8859-1 +#so_SO.UTF-8 UTF-8 +#so_SO ISO-8859-1 +#sq_AL.UTF-8 UTF-8 +#sq_AL ISO-8859-1 +#sq_MK UTF-8 +#sr_ME UTF-8 +#sr_RS UTF-8 +#sr_RS@latin UTF-8 +#ss_ZA UTF-8 +#ssy_ER UTF-8 +#st_ZA.UTF-8 UTF-8 +#st_ZA ISO-8859-1 +#su_ID UTF-8 +#sv_FI.UTF-8 UTF-8 +#sv_FI ISO-8859-1 +#sv_FI@euro ISO-8859-15 +#sv_SE.UTF-8 UTF-8 +#sv_SE ISO-8859-1 +#sw_KE UTF-8 +#sw_TZ UTF-8 +#syr UTF-8 +#szl_PL UTF-8 +#ta_IN UTF-8 +#ta_LK UTF-8 +#tcy_IN.UTF-8 UTF-8 +#te_IN UTF-8 +#tg_TJ.UTF-8 UTF-8 +#tg_TJ KOI8-T +#th_TH.UTF-8 UTF-8 +#th_TH TIS-620 +#the_NP UTF-8 +#ti_ER UTF-8 +#ti_ET UTF-8 +#tig_ER UTF-8 +#tk_TM UTF-8 +#tl_PH.UTF-8 UTF-8 +#tl_PH ISO-8859-1 +#tn_ZA UTF-8 +#to_TO UTF-8 +#tok UTF-8 +#tpi_PG UTF-8 +#tr_CY.UTF-8 UTF-8 +#tr_CY ISO-8859-9 +#tr_TR.UTF-8 UTF-8 +#tr_TR ISO-8859-9 +#ts_ZA UTF-8 +#tt_RU UTF-8 +#tt_RU@iqtelif UTF-8 +#ug_CN UTF-8 +#uk_UA.UTF-8 UTF-8 +#uk_UA KOI8-U +#unm_US UTF-8 +#ur_IN UTF-8 +#ur_PK UTF-8 +#uz_UZ.UTF-8 UTF-8 +#uz_UZ ISO-8859-1 +#uz_UZ@cyrillic UTF-8 +#ve_ZA UTF-8 +#vi_VN UTF-8 +#wa_BE ISO-8859-1 +#wa_BE@euro ISO-8859-15 +#wa_BE.UTF-8 UTF-8 +#wae_CH UTF-8 +#wal_ET UTF-8 +#wo_SN UTF-8 +#xh_ZA.UTF-8 UTF-8 +#xh_ZA ISO-8859-1 +#yi_US.UTF-8 UTF-8 +#yi_US CP1255 +#yo_NG UTF-8 +#yue_HK UTF-8 +#yuw_PG UTF-8 +#zgh_MA UTF-8 +#zh_CN.GB18030 GB18030 +#zh_CN.GBK GBK +zh_CN.UTF-8 UTF-8 +#zh_CN GB2312 +#zh_HK.UTF-8 UTF-8 +#zh_HK BIG5-HKSCS +#zh_SG.UTF-8 UTF-8 +#zh_SG.GBK GBK +#zh_SG GB2312 +#zh_TW.EUC-TW EUC-TW +#zh_TW.UTF-8 UTF-8 +#zh_TW BIG5 +#zu_ZA.UTF-8 UTF-8 +#zu_ZA ISO-8859-1 diff --git a/archiso/airootfs/etc/localtime b/archiso/airootfs/etc/localtime new file mode 120000 index 0000000..0e35b57 --- /dev/null +++ b/archiso/airootfs/etc/localtime @@ -0,0 +1 @@ +/usr/share/zoneinfo/UTC \ No newline at end of file diff --git a/archiso/airootfs/etc/mkinitcpio.conf b/archiso/airootfs/etc/mkinitcpio.conf new file mode 100755 index 0000000..be5c1ac --- /dev/null +++ b/archiso/airootfs/etc/mkinitcpio.conf @@ -0,0 +1,67 @@ +# vim:set ft=sh +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES=(piix ide_disk reiserfs) +MODULES=() + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES=() + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES=() + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H ' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No raid, lvm2, or encrypted root is needed. +# HOOKS=(base) +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS=(base udev autodetect block filesystems) +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS=(base udev block filesystems) +# +## This setup assembles a pata mdadm array with an encrypted root FS. +## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. +# HOOKS=(base udev block mdadm encrypt filesystems) +# +## This setup loads an lvm2 volume group on a usb device. +# HOOKS=(base udev block lvm2 filesystems) +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr, fsck and shutdown hooks. +HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) + +# COMPRESSION +# Use this to compress the initramfs image. By default, gzip compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" +COMPRESSION="zstd" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=() diff --git a/archiso/airootfs/etc/mkinitcpio.conf.d/archiso.conf b/archiso/airootfs/etc/mkinitcpio.conf.d/archiso.conf new file mode 100755 index 0000000..5c008e5 --- /dev/null +++ b/archiso/airootfs/etc/mkinitcpio.conf.d/archiso.conf @@ -0,0 +1,3 @@ +HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) +COMPRESSION="xz" +COMPRESSION_OPTIONS=(-9e) diff --git a/archiso/airootfs/etc/mkinitcpio.d/linux.preset b/archiso/airootfs/etc/mkinitcpio.d/linux.preset new file mode 100755 index 0000000..9f67184 --- /dev/null +++ b/archiso/airootfs/etc/mkinitcpio.d/linux.preset @@ -0,0 +1,8 @@ +# mkinitcpio preset file for the 'linux' package on archiso + +PRESETS=('archiso') + +ALL_kver='/boot/vmlinuz-linux' +ALL_config='/etc/mkinitcpio.conf' + +archiso_image="/boot/initramfs-linux.img" diff --git a/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf b/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf new file mode 100755 index 0000000..0eae70c --- /dev/null +++ b/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf @@ -0,0 +1,7 @@ +# The broadcom-wl package requires some modules to be disabled in order to use +# wl. Since the ISO image needs to cover many hardware cases, this file +# overrides the default blacklist in /usr/lib/modprobe.d/ +# +# If you need to use wl, you may need to delete this file, then `rmmod` any +# already-loaded modules that are now blacklisted before proceeding to modprobe +# wl itself. diff --git a/archiso/airootfs/etc/motd b/archiso/airootfs/etc/motd new file mode 100755 index 0000000..4d9eda1 --- /dev/null +++ b/archiso/airootfs/etc/motd @@ -0,0 +1,11 @@ +To install Arch Linux follow the installation guide: +https://wiki.archlinux.org/title/Installation_guide + +For Wi-Fi, authenticate to the wireless network using the iwctl utility. +For mobile broadband (WWAN) modems, connect with the mmcli utility. +Ethernet, WLAN and WWAN interfaces using DHCP should work automatically. + +After connecting to the internet, the installation guide can be accessed +via the convenience script Installation_guide. + +                                           diff --git a/archiso/airootfs/etc/my.cnf b/archiso/airootfs/etc/my.cnf new file mode 100644 index 0000000..ddc22ca --- /dev/null +++ b/archiso/airootfs/etc/my.cnf @@ -0,0 +1,34 @@ +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html +# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the +# *** default location during install, and will be replaced if you +# *** upgrade to a newer version of MySQL. + +[mysqld] +datadir=/data/mysql #指定mysql的数据目录 +innodb_file_per_table=on #在mariadb5.5以上版的是默认值,可不加 +skip_name_resolve=on #禁止主机名解析,建议使用 + +# Remove leading # and set to the amount of RAM for the most important data +# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. +# innodb_buffer_pool_size = 128M + +# Remove leading # to turn on a very important data integrity option: logging +# changes to the binary log between backups. +# log_bin + +# These are commonly set, remove the # and set as required. +# basedir = ..... +# datadir = ..... +# port = ..... +# server_id = ..... +# socket = ..... + +# Remove leading # to set options mainly useful for reporting servers. +# The server defaults are faster for transactions and fast SELECTs. +# Adjust sizes as needed, experiment to find the optimal values. +# join_buffer_size = 128M +# sort_buffer_size = 2M +# read_rnd_buffer_size = 2M + +sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES diff --git a/archiso/airootfs/etc/pacman-more.conf b/archiso/airootfs/etc/pacman-more.conf new file mode 100755 index 0000000..e76e6df --- /dev/null +++ b/archiso/airootfs/etc/pacman-more.conf @@ -0,0 +1,118 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives +# +# SPDX-License-Identifier: GPL-3.0-or-later + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[arcolinux_repo_testing] +#SigLevel = Required DatabaseOptional +#Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo] +SigLevel = Required DatabaseOptional +Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo_3party] +SigLevel = Required DatabaseOptional +Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo_xlarge] +SigLevel = Required DatabaseOptional +Include = /etc/pacman.d/arcolinux-mirrorlist + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/archiso/airootfs/etc/pacman.conf b/archiso/airootfs/etc/pacman.conf new file mode 100755 index 0000000..f578f76 --- /dev/null +++ b/archiso/airootfs/etc/pacman.conf @@ -0,0 +1,107 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives +# +# SPDX-License-Identifier: GPL-3.0-or-later + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 8 +#DownloadUser = alpm +#DisableSandbox + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[core-testing] +#Include = /etc/pacman.d/mirrorlist + +[custom] +SigLevel = Optional TrustAll +Server = http://git.yuyujing.cn/zj/custompkgs/raw/x86_64 + +[core] +Include = /etc/pacman.d/mirrorlist + +#[extra-testing] +#Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + + diff --git a/archiso/airootfs/etc/pacman.d/gnupg/gpg.conf b/archiso/airootfs/etc/pacman.d/gnupg/gpg.conf new file mode 100755 index 0000000..fa7f15f --- /dev/null +++ b/archiso/airootfs/etc/pacman.d/gnupg/gpg.conf @@ -0,0 +1,13 @@ +no-greeting +no-permission-warning +lock-never +keyserver-options timeout=10 +keyserver-options import-clean +keyserver-options no-self-sigs-only + +keyserver hkp://keyserver.ubuntu.com:80 +#keyserver hkp://pool.sks-keyservers.net:80 +#keyserver hkps://hkps.pool.sks-keyservers.net:443 +#keyserver hkp://ipv4.pool.sks-keyservers.net:11371 + + diff --git a/archiso/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook b/archiso/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook new file mode 100755 index 0000000..342aa95 --- /dev/null +++ b/archiso/airootfs/etc/pacman.d/hooks/uncomment-mirrors.hook @@ -0,0 +1,13 @@ +# remove from airootfs! +[Trigger] +Operation = Install +Operation = Upgrade +Type = Package +Target = pacman-mirrorlist + +[Action] +Description = Uncommenting all mirrors in /etc/pacman.d/mirrorlist... +When = PostTransaction +Depends = pacman-mirrorlist +Depends = sed +Exec = /usr/bin/sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist diff --git a/archiso/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook b/archiso/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook new file mode 100755 index 0000000..8dfb943 --- /dev/null +++ b/archiso/airootfs/etc/pacman.d/hooks/zzzz99-remove-custom-hooks-from-airootfs.hook @@ -0,0 +1,18 @@ +# remove from airootfs! +# As a workaround for https://bugs.archlinux.org/task/49347 , remove pacman hooks specific to the ISO build process. +# If not, they would be used when pacstrap is run in the live environment. + +[Trigger] +Operation = Install +Operation = Upgrade +Operation = Remove +Type = Package +Target = * + +[Action] +Description = Work around FS#49347 by removing custom pacman hooks that are only required during ISO build... +When = PostTransaction +Depends = sh +Depends = coreutils +Depends = grep +Exec = /bin/sh -c "rm -- $(grep -Frl 'remove from airootfs' /etc/pacman.d/hooks/)" diff --git a/archiso/airootfs/etc/pacman.d/mirrorlist b/archiso/airootfs/etc/pacman.d/mirrorlist new file mode 100755 index 0000000..59ac5bc --- /dev/null +++ b/archiso/airootfs/etc/pacman.d/mirrorlist @@ -0,0 +1,38 @@ +## +## Arch Linux repository mirrorlist +## Generated on 2022-07-01 +## + +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch + +## China +Server = http://mirrors.163.com/archlinux/$repo/os/$arch +Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.redrock.team/archlinux/$repo/os/$arch +Server = https://mirror.redrock.team/archlinux/$repo/os/$arch +Server = http://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch diff --git a/archiso/airootfs/etc/pacman.d/mirrorlist~ b/archiso/airootfs/etc/pacman.d/mirrorlist~ new file mode 100755 index 0000000..59ac5bc --- /dev/null +++ b/archiso/airootfs/etc/pacman.d/mirrorlist~ @@ -0,0 +1,38 @@ +## +## Arch Linux repository mirrorlist +## Generated on 2022-07-01 +## + +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch + +## China +Server = http://mirrors.163.com/archlinux/$repo/os/$arch +Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.redrock.team/archlinux/$repo/os/$arch +Server = https://mirror.redrock.team/archlinux/$repo/os/$arch +Server = http://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch diff --git a/archiso/airootfs/etc/passwd b/archiso/airootfs/etc/passwd new file mode 100755 index 0000000..b22e8fd --- /dev/null +++ b/archiso/airootfs/etc/passwd @@ -0,0 +1,5 @@ +root:x:0:0:root:/root:/usr/bin/zsh +liveuser:x:1000:1000::/home/liveuser:/bin/bash +tms:x:1001:1001::/home/tms:/sbin/nologin +kdm:x:1002:1002::/home/kdm:/sbin/nologin +mysql:x:306:306::/data/mysql:/sbin/nologin diff --git a/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules b/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules new file mode 100755 index 0000000..afc8670 --- /dev/null +++ b/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules @@ -0,0 +1,9 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); + diff --git a/archiso/airootfs/etc/pureftpd.passwd b/archiso/airootfs/etc/pureftpd.passwd new file mode 100644 index 0000000..6c4d3e4 --- /dev/null +++ b/archiso/airootfs/etc/pureftpd.passwd @@ -0,0 +1,2 @@ +tms:$argon2id$v=19$m=8192,t=511,p=1$XOyXf4pgs/PgfyJWHJuT9Q$j6PWu8V1IIeQxTsnMt4soJYt9p6swQCei72I6WGEe4Q:1001:1001::/media/cinema/./:::::::::::: +kdm:$argon2id$v=19$m=8192,t=511,p=1$SMpF8Bh3VuO+4A+fzn8XZA$uWbxeraghIP26a6+8ABf3r14zKHn0v/Z7mzINaU1F74:1002:1002::/media/kdm/./:::::::::::: diff --git a/archiso/airootfs/etc/pureftpd.pdb b/archiso/airootfs/etc/pureftpd.pdb new file mode 100644 index 0000000..f55d823 Binary files /dev/null and b/archiso/airootfs/etc/pureftpd.pdb differ diff --git a/archiso/airootfs/etc/redhat-release b/archiso/airootfs/etc/redhat-release new file mode 100644 index 0000000..f287f07 --- /dev/null +++ b/archiso/airootfs/etc/redhat-release @@ -0,0 +1 @@ +Arch Linux release 25.12 diff --git a/archiso/airootfs/etc/resolv.conf b/archiso/airootfs/etc/resolv.conf new file mode 120000 index 0000000..3639662 --- /dev/null +++ b/archiso/airootfs/etc/resolv.conf @@ -0,0 +1 @@ +/run/systemd/resolve/stub-resolv.conf \ No newline at end of file diff --git a/archiso/airootfs/etc/sddm.conf b/archiso/airootfs/etc/sddm.conf new file mode 100755 index 0000000..bb6424f --- /dev/null +++ b/archiso/airootfs/etc/sddm.conf @@ -0,0 +1,38 @@ +[General] +InputMethod= +Namespaces= +Numlock=on + +[Theme] +DisableAvatarsThreshold=7 +EnableAvatars=true +FacesDir=/usr/share/sddm/faces +ThemeDir=/usr/share/sddm/themes + +[Users] +DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin +HideShells= +HideUsers= +RememberLastSession=true +RememberLastUser=true +ReuseSession=true + +[Wayland] +EnableHiDPI=true +SessionCommand=/usr/share/sddm/scripts/wayland-session +SessionDir=/usr/share/wayland-sessions +SessionLogFile=.local/share/sddm/wayland-session.log + +[X11] +DisplayCommand=/usr/share/sddm/scripts/Xsetup +DisplayStopCommand=/usr/share/sddm/scripts/Xstop +EnableHiDPI=true +MinimumVT=1 +ServerArguments=-nolisten tcp +ServerPath=/usr/bin/X +SessionCommand=/usr/share/sddm/scripts/Xsession +SessionDir=/usr/share/xsessions +SessionLogFile=.local/share/sddm/xorg-session.log +UserAuthFile=.Xauthority +XauthPath=/usr/bin/xauth +XephyrPath=/usr/bin/Xephyr diff --git a/archiso/airootfs/etc/sddm.conf.d/kde_settings.conf b/archiso/airootfs/etc/sddm.conf.d/kde_settings.conf new file mode 100755 index 0000000..beee881 --- /dev/null +++ b/archiso/airootfs/etc/sddm.conf.d/kde_settings.conf @@ -0,0 +1,17 @@ +[Autologin] +Relogin=false +User=liveuser +Session=xfce + +[General] +HaltCommand=/usr/bin/systemctl poweroff +RebootCommand=/usr/bin/systemctl reboot + +[Theme] +Current=breeze +CursorTheme= +Font= + +[Users] +MaximumUid=60513 +MinimumUid=1000 diff --git a/archiso/airootfs/etc/shadow b/archiso/airootfs/etc/shadow new file mode 100755 index 0000000..d4b6f89 --- /dev/null +++ b/archiso/airootfs/etc/shadow @@ -0,0 +1,5 @@ +root::14871:::::: +liveuser::14871:::::: +tms:$y$j9T$P8J8q258sVG0sCYRV13wk1$G.SgrUqdKNgCspkpbS9Bd20vMurHDcI5Mz19XPLyaR1:20407:0:99999:7::: +kdm:$y$j9T$Uy4NyUrbTpYE3kPOaOu.y/$lr2ovSQ.m/6UGRgelMLTar/KHqSHYMXUOFwxJXiV..D:20407:0:99999:7::: +mysql:!:20407:::::: diff --git a/archiso/airootfs/etc/skel/.Xresources b/archiso/airootfs/etc/skel/.Xresources new file mode 100755 index 0000000..368ec2c --- /dev/null +++ b/archiso/airootfs/etc/skel/.Xresources @@ -0,0 +1,34 @@ +! ------------------------------------------------------------------------------ +! xterm standard arcolinux theme +! ------------------------------------------------------------------------------ +! https://critical.ch/xterm/ +! ------------------------------------------------------------------------------ + +xterm*faceName: Monospace +xterm*faceSize: 13 +xterm*loginShell: true +xterm*saveLines: 4000 +xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48 +xterm*termName: xterm-color +xterm*eightBitInput: false +xterm*foreground: rgb:d9/d4/d4 +xterm*background: rgb:32/32/32 +xterm*color0: rgb:00/00/00 +xterm*color1: rgb:a8/00/00 +xterm*color2: rgb:00/a8/00 +xterm*color3: rgb:a8/54/00 +xterm*color4: rgb:5f/81/9d +xterm*color5: rgb:a8/00/a8 +xterm*color6: rgb:00/a8/a8 +xterm*color7: rgb:70/78/80 +xterm*color8: rgb:54/54/54 +xterm*color9: rgb:fc/54/54 +xterm*color10: rgb:54/fc/54 +xterm*color11: rgb:fc/fc/54 +xterm*color12: rgb:81/a2/be +xterm*color13: rgb:fc/54/fc +xterm*color14: rgb:54/fc/fc +xterm*color15: rgb:c5/c8/c6 +xterm*boldMode: false + + diff --git a/archiso/airootfs/etc/skel/.bashrc b/archiso/airootfs/etc/skel/.bashrc new file mode 100755 index 0000000..572ff9e --- /dev/null +++ b/archiso/airootfs/etc/skel/.bashrc @@ -0,0 +1,96 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +# 基础别名 +alias ls='ls --color=auto' +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' +alias grep='grep --color=auto' + +# 安全操作 +alias rm='rm -i' +alias cp='cp -i' +alias mv='mv -i' + +# 导航别名 +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' + +# 系统信息 +alias df='df -h' +alias du='du -h' +alias dus='du -sh * | sort -nr' +alias free='free -h' + +# Git 快捷方式 +alias gs='git status' +alias ga='git add' +alias gc='git commit' +alias gp='git push' +alias gl='git log --oneline' + +alias tms='sh /home/smart/.tms3/starter/tms-tools.sh' +alias rtms='sh /home/smart/.tms3/starter/restart' + +# 文件大小查看别名 +alias size='ls -lahSr' # 简单版本 +alias sizes='du -sh * | sort -h' # 准确版本 +alias sizeall='du -sh .[!.]* * 2>/dev/null | sort -h' # 包含隐藏文件 + +# 详细版本,显示文件权限和大小 +alias sizedetail='du -sh * | sort -h | while read s n; do ls -ld "$n" | awk '\''{printf "%-10s %-5s %-8s ", $1, $3, $4}'\''; echo "$s $n"; done' + +# 文件大小查看函数 +fsize() { + local path="${1:-.}" # 默认当前目录 + local depth="${2:-0}" # 目录深度 + + echo "=== 文件大小统计: $path ===" + + if [ "$depth" -eq 0 ]; then + # 只显示当前目录下的文件 + du -sh "$path"/* 2>/dev/null | sort -h + else + # 显示指定深度的目录结构 + find "$path" -maxdepth "$depth" -type f -exec du -sh {} + 2>/dev/null | sort -h + fi +} + +# 快捷别名 +alias sz='fsize . 0' +alias sz1='fsize . 1' +alias sz2='fsize . 2' + +# 环境变量 +export EDITOR=vim +export VISUAL=vim +export HISTSIZE=10000 +export HISTFILESIZE=20000 + +# Wine 环境变量 - 添加到 PATH +export WINE_HOME="/home/smart/wine" +export PATH="$WINE_HOME/bin:$PATH" + +# 彩色提示符 +PS1='\[\033[01;33m\]\t\[\033[00m\] \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + +# 实用函数 +mkcd() { mkdir -p "$1" && cd "$1"; } +findf() { find . -name "$1" -type f 2>/dev/null; } + +# 检查 wine 是否可用 +wine-check() { + if command -v wine >/dev/null 2>&1; then + echo "✓ Wine is available: $(which wine)" + wine --version + else + echo "✗ Wine not found in PATH" + echo "Current PATH: $PATH" + fi +} diff --git a/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf b/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf new file mode 100755 index 0000000..a1053b6 --- /dev/null +++ b/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf @@ -0,0 +1,3 @@ +# Allow root login using password authentication +PasswordAuthentication yes +PermitRootLogin no diff --git a/archiso/airootfs/etc/sudoers.d/g_wheel b/archiso/airootfs/etc/sudoers.d/g_wheel new file mode 100755 index 0000000..bbad988 --- /dev/null +++ b/archiso/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL:ALL) NOPASSWD: ALL diff --git a/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf new file mode 100755 index 0000000..b69850d --- /dev/null +++ b/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf @@ -0,0 +1,2 @@ +[Journal] +Storage=volatile diff --git a/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf new file mode 100755 index 0000000..f3ecb39 --- /dev/null +++ b/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf @@ -0,0 +1,4 @@ +[Login] +HandleSuspendKey=ignore +HandleHibernateKey=ignore +HandleLidSwitch=ignore diff --git a/archiso/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf b/archiso/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf new file mode 100755 index 0000000..0e9ceb4 --- /dev/null +++ b/archiso/airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf @@ -0,0 +1,2 @@ +[Network] +IPv6PrivacyExtensions=yes diff --git a/archiso/airootfs/etc/systemd/network/20-ethernet.network b/archiso/airootfs/etc/systemd/network/20-ethernet.network new file mode 100755 index 0000000..d3a3271 --- /dev/null +++ b/archiso/airootfs/etc/systemd/network/20-ethernet.network @@ -0,0 +1,24 @@ +[Match] +# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*). +# See https://bugs.archlinux.org/task/70892 +# Instead match by globbing the network interface name. +Name=en* +Name=eth* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes +MulticastDNS=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=100 + +[IPv6AcceptRA] +RouteMetric=100 diff --git a/archiso/airootfs/etc/systemd/network/20-wlan.network b/archiso/airootfs/etc/systemd/network/20-wlan.network new file mode 100755 index 0000000..8b70a95 --- /dev/null +++ b/archiso/airootfs/etc/systemd/network/20-wlan.network @@ -0,0 +1,20 @@ +[Match] +Name=wl* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes +MulticastDNS=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=600 + +[IPv6AcceptRA] +RouteMetric=600 diff --git a/archiso/airootfs/etc/systemd/network/20-wwan.network b/archiso/airootfs/etc/systemd/network/20-wwan.network new file mode 100755 index 0000000..6e1c8dd --- /dev/null +++ b/archiso/airootfs/etc/systemd/network/20-wwan.network @@ -0,0 +1,19 @@ +[Match] +Name=ww* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=700 + +[IPv6AcceptRA] +RouteMetric=700 diff --git a/archiso/airootfs/etc/systemd/resolved.conf.d/archiso.conf b/archiso/airootfs/etc/systemd/resolved.conf.d/archiso.conf new file mode 100755 index 0000000..636f3bd --- /dev/null +++ b/archiso/airootfs/etc/systemd/resolved.conf.d/archiso.conf @@ -0,0 +1,4 @@ +# Default systemd-resolved configuration for archiso + +[Resolve] +MulticastDNS=yes diff --git a/archiso/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator b/archiso/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator new file mode 120000 index 0000000..dc1dc0c --- /dev/null +++ b/archiso/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator @@ -0,0 +1 @@ +/dev/null \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/choose-mirror.service b/archiso/airootfs/etc/systemd/system/choose-mirror.service new file mode 100755 index 0000000..b6a3562 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service new file mode 120000 index 0000000..ebc50f0 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-config.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service new file mode 120000 index 0000000..80fa3c8 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-final.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service new file mode 120000 index 0000000..dd8e9f1 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-local.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service new file mode 120000 index 0000000..875ff73 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-main.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-main.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service new file mode 120000 index 0000000..ae77734 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-network.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-network.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service new file mode 120000 index 0000000..dcf7c8e --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ModemManager.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service new file mode 120000 index 0000000..4c158e6 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service new file mode 120000 index 0000000..a7e5cd4 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-dispatcher.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service new file mode 120000 index 0000000..4f6ae34 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/default.target b/archiso/airootfs/etc/systemd/system/default.target new file mode 120000 index 0000000..cf9fa51 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/default.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/graphical.target \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/display-manager.service b/archiso/airootfs/etc/systemd/system/display-manager.service new file mode 120000 index 0000000..56f1df2 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/display-manager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sddm.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/archiso/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100755 index 0000000..038961e --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755,noswap diff --git a/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100755 index 0000000..b9d22eb --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin root - $TERM diff --git a/archiso/airootfs/etc/systemd/system/lightdm.service.d/startup-delay.conf b/archiso/airootfs/etc/systemd/system/lightdm.service.d/startup-delay.conf new file mode 100644 index 0000000..07bf624 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/lightdm.service.d/startup-delay.conf @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/bin/sleep 5 diff --git a/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service b/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service new file mode 100755 index 0000000..03db4b9 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service @@ -0,0 +1,13 @@ +[Unit] +Description=Unmute All Sound Card Controls For Use With The Live Arch Environment +# This needs to run after the audio device becomes available. +Wants=systemd-udev-settle.service +After=systemd-udev-settle.service sound.target +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/livecd-sound -u + +[Install] +WantedBy=sound.target diff --git a/archiso/airootfs/etc/systemd/system/livecd-talk.service b/archiso/airootfs/etc/systemd/system/livecd-talk.service new file mode 100755 index 0000000..b38df22 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/livecd-talk.service @@ -0,0 +1,20 @@ +[Unit] +Description=Screen reader service +After=livecd-alsa-unmuter.service +Before=getty@tty1.service +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +TTYPath=/dev/tty13 +ExecStartPre=/usr/bin/chvt 13 +ExecStart=/usr/local/bin/livecd-sound -p +ExecStartPost=/usr/bin/chvt 1 +ExecStartPost=systemctl start espeakup.service +StandardInput=tty +TTYVHangup=yes +TTYVTDisallocate=yes +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service new file mode 120000 index 0000000..dcf7c8e --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ModemManager.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/SOService.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/SOService.service new file mode 120000 index 0000000..14a84cf --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/SOService.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/SOService.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service new file mode 120000 index 0000000..2d8d256 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/choose-mirror.service @@ -0,0 +1 @@ +../choose-mirror.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service new file mode 120000 index 0000000..20ac7b2 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_fcopy_daemon.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service new file mode 120000 index 0000000..a7eac4a --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_kvp_daemon.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service new file mode 120000 index 0000000..eae19ef --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_vss_daemon.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service new file mode 120000 index 0000000..3625abd --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/iwd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service new file mode 120000 index 0000000..b917481 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/livecd-talk.service @@ -0,0 +1 @@ +/etc/systemd/system/livecd-talk.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/mysqld.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/mysqld.service new file mode 120000 index 0000000..705a7c0 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/mysqld.service @@ -0,0 +1 @@ +/etc/systemd/system/mysqld.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service new file mode 120000 index 0000000..d09eec6 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pacman-init.service @@ -0,0 +1 @@ +../pacman-init.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pure-ftpd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pure-ftpd.service new file mode 120000 index 0000000..ab7dabf --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/pure-ftpd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/pure-ftpd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service new file mode 120000 index 0000000..d372729 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/reflector.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/reflector.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/runsunloginclient.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/runsunloginclient.service new file mode 120000 index 0000000..12625c7 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/runsunloginclient.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/runsunloginclient.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/smarttms.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/smarttms.service new file mode 120000 index 0000000..edf9437 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/smarttms.service @@ -0,0 +1 @@ +/etc/systemd/system/smarttms.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service new file mode 120000 index 0000000..4c158e6 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service new file mode 120000 index 0000000..4f6ae34 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/teamviewerd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/teamviewerd.service new file mode 120000 index 0000000..cf1c6cd --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/teamviewerd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/teamviewerd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/todeskd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/todeskd.service new file mode 120000 index 0000000..7f89831 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/todeskd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/todeskd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service new file mode 120000 index 0000000..cb2d560 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vboxservice.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service new file mode 120000 index 0000000..e0a11a7 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmtoolsd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service new file mode 120000 index 0000000..173f306 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmware-vmblock-fuse.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/mysqld.service b/archiso/airootfs/etc/systemd/system/mysqld.service new file mode 100644 index 0000000..3e72435 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/mysqld.service @@ -0,0 +1,27 @@ +[Unit] +Description=MySQL Server +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql + +# 直接使用 mysqld +ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf +ExecStop=/usr/local/mysql/bin/mysqladmin shutdown + +# 重启策略 +Restart=on-failure +RestartSec=5s + +# 超时设置 +TimeoutStartSec=300 +TimeoutStopSec=60 + +# 资源限制 +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target + diff --git a/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service b/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service new file mode 120000 index 0000000..b78b586 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-wait-online.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service b/archiso/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service new file mode 120000 index 0000000..7d6ad92 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd-wait-online.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/pacman-init.service b/archiso/airootfs/etc/systemd/system/pacman-init.service new file mode 100755 index 0000000..b824884 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/pacman-init.service @@ -0,0 +1,15 @@ +[Unit] +Description=Initializes Pacman keyring +Requires=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount time-sync.target +BindsTo=etc-pacman.d-gnupg.mount +Before=archlinux-keyring-wkd-sync.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate + +[Install] +WantedBy=multi-user.target diff --git a/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf b/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf new file mode 100755 index 0000000..de6664d --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf @@ -0,0 +1,6 @@ +[Unit] +ConditionKernelCommandLine=!mirror + +[Service] +Restart=on-failure +RestartSec=10 diff --git a/archiso/airootfs/etc/systemd/system/smarttms.service b/archiso/airootfs/etc/systemd/system/smarttms.service new file mode 100755 index 0000000..208d3f7 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/smarttms.service @@ -0,0 +1,19 @@ +[Unit] +Description=SmartTMS Service +After=mysqld.service +Wants=mysqld.service + +[Service] +Type=forking +User=root +ExecStart=/usr/bin/smarttms start +ExecStop=/usr/bin/smarttms stop +ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure +RestartSec=5 +TimeoutStartSec=300 +TimeoutStopSec=300 + +[Install] +WantedBy=multi-user.target + diff --git a/archiso/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket b/archiso/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket new file mode 120000 index 0000000..3897c63 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/sockets.target.wants/pcscd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/pcscd.socket \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket b/archiso/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket new file mode 120000 index 0000000..51942c8 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.socket \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service b/archiso/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service new file mode 120000 index 0000000..98c0fc8 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/sound.target.wants/livecd-alsa-unmuter.service @@ -0,0 +1 @@ +../livecd-alsa-unmuter.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service b/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service new file mode 120000 index 0000000..cabf28b --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-time-wait-sync.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service b/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf new file mode 100755 index 0000000..c9f9bce --- /dev/null +++ b/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf @@ -0,0 +1,6 @@ +# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist, +# network-online.target gets needlessly delayed. +# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online +[Service] +ExecStart= +ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any diff --git a/archiso/airootfs/etc/teamviewer/global.conf b/archiso/airootfs/etc/teamviewer/global.conf new file mode 100644 index 0000000..ff3f0b0 --- /dev/null +++ b/archiso/airootfs/etc/teamviewer/global.conf @@ -0,0 +1,10 @@ +TeamViewer Global Settings +# It is not recommended to edit this file manually + + +[int32] Always_Online = 1 +[int32] EulaAccepted = 1 +[int32] General_DirectLAN = 1 +[bin ] PermanentPassword = 13b0a813880888089e8ac6a1dcdeee4db2db172fa0d33d68c903aac7500a9ec8978b1106e8ea26a978ec58f3d073f05507cb0a96ce973f1abdd25b24cc971d2297b83d090d2ab380507dd0e106b7e890599680af5c2afd6166a65c13b6697684878b3aa1ca58b0c7d3ddd0405354ad608c0a5089a588b4cea8528a1937ce4d22b2b8b764660b54218af08baa04925bfcf1cbaf59de19dea8244f022ba43cbcb09b4087b5d5c39ffd91bd4d2cc9443b05bd90d28b690a4300c5f87fef8b9d94d03416413c40aa8941d81dfdeed4e7e19be457e774b0346befb05d68eba1d5090c0798cbed803635bba6c5a4c8f608813d931bc742d5c47498ce16a335e2fdd391a7f9ee188b23381fda251ac8b6472f67daa63b377d1374a67af639045bf2ba4b22d0c1607d5af5ed0dc6a3c67371da9c +[strng] PermanentPasswordDate = "20251119T120621" +[int32] Security_PasswordStrength = 1 diff --git a/archiso/airootfs/etc/xdg/reflector/reflector.conf b/archiso/airootfs/etc/xdg/reflector/reflector.conf new file mode 100755 index 0000000..209eb2c --- /dev/null +++ b/archiso/airootfs/etc/xdg/reflector/reflector.conf @@ -0,0 +1,9 @@ +# Reflector configuration file for the systemd service. + +--save /etc/pacman.d/mirrorlist +--ipv4 +--ipv6 +--protocol https +--latest 20 +--sort rate +--country China \ No newline at end of file diff --git a/archiso/airootfs/home/liveuser/.bashrc b/archiso/airootfs/home/liveuser/.bashrc new file mode 100755 index 0000000..572ff9e --- /dev/null +++ b/archiso/airootfs/home/liveuser/.bashrc @@ -0,0 +1,96 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +# 基础别名 +alias ls='ls --color=auto' +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' +alias grep='grep --color=auto' + +# 安全操作 +alias rm='rm -i' +alias cp='cp -i' +alias mv='mv -i' + +# 导航别名 +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' + +# 系统信息 +alias df='df -h' +alias du='du -h' +alias dus='du -sh * | sort -nr' +alias free='free -h' + +# Git 快捷方式 +alias gs='git status' +alias ga='git add' +alias gc='git commit' +alias gp='git push' +alias gl='git log --oneline' + +alias tms='sh /home/smart/.tms3/starter/tms-tools.sh' +alias rtms='sh /home/smart/.tms3/starter/restart' + +# 文件大小查看别名 +alias size='ls -lahSr' # 简单版本 +alias sizes='du -sh * | sort -h' # 准确版本 +alias sizeall='du -sh .[!.]* * 2>/dev/null | sort -h' # 包含隐藏文件 + +# 详细版本,显示文件权限和大小 +alias sizedetail='du -sh * | sort -h | while read s n; do ls -ld "$n" | awk '\''{printf "%-10s %-5s %-8s ", $1, $3, $4}'\''; echo "$s $n"; done' + +# 文件大小查看函数 +fsize() { + local path="${1:-.}" # 默认当前目录 + local depth="${2:-0}" # 目录深度 + + echo "=== 文件大小统计: $path ===" + + if [ "$depth" -eq 0 ]; then + # 只显示当前目录下的文件 + du -sh "$path"/* 2>/dev/null | sort -h + else + # 显示指定深度的目录结构 + find "$path" -maxdepth "$depth" -type f -exec du -sh {} + 2>/dev/null | sort -h + fi +} + +# 快捷别名 +alias sz='fsize . 0' +alias sz1='fsize . 1' +alias sz2='fsize . 2' + +# 环境变量 +export EDITOR=vim +export VISUAL=vim +export HISTSIZE=10000 +export HISTFILESIZE=20000 + +# Wine 环境变量 - 添加到 PATH +export WINE_HOME="/home/smart/wine" +export PATH="$WINE_HOME/bin:$PATH" + +# 彩色提示符 +PS1='\[\033[01;33m\]\t\[\033[00m\] \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + +# 实用函数 +mkcd() { mkdir -p "$1" && cd "$1"; } +findf() { find . -name "$1" -type f 2>/dev/null; } + +# 检查 wine 是否可用 +wine-check() { + if command -v wine >/dev/null 2>&1; then + echo "✓ Wine is available: $(which wine)" + wine --version + else + echo "✗ Wine not found in PATH" + echo "Current PATH: $PATH" + fi +} diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/desktop/accels.scm b/archiso/airootfs/home/liveuser/.config/xfce4/desktop/accels.scm new file mode 100644 index 0000000..ba500f9 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/desktop/accels.scm @@ -0,0 +1,49 @@ +; xfdesktop-settings GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/XfdesktopFileIconManager/properties" "Return") +; (gtk_accel_path "/XfceDesktop/primary-menu-2" "Menu") +; (gtk_accel_path "/XfdesktopFileIconManager/open-with-other" "") +; (gtk_accel_path "/XfdesktopIconView/activate-3" "Return") +; (gtk_accel_path "/XfdesktopFileIconManager/properties-3" "KP_Enter") +; (gtk_accel_path "/XfdesktopFileIconManager/trash" "Delete") +; (gtk_accel_path "/XfceDesktop/next-background" "") +; (gtk_accel_path "/XfdesktopFileIconManager/copy-2" "Insert") +; (gtk_accel_path "/XfdesktopFileIconManager/cut" "x") +; (gtk_accel_path "/XfdesktopIconView/unselect-all" "Escape") +; (gtk_accel_path "/XfdesktopFileIconManager/cut-2" "") +; (gtk_accel_path "/XfdesktopWindowIconManager/close" "c") +; (gtk_accel_path "/XfdesktopIconView/activate" "space") +; (gtk_accel_path "/XfdesktopIconView/activate-2" "KP_Space") +; (gtk_accel_path "/XfdesktopFileIconManager/open" "o") +; (gtk_accel_path "/XfdesktopIconView/select-all" "a") +; (gtk_accel_path "/XfdesktopFileIconManager/properties-2" "ISO_Enter") +; (gtk_accel_path "/XfdesktopFileIconManager/empty-trash" "") +; (gtk_accel_path "/XfdesktopFileIconManager/open-trash" "") +; (gtk_accel_path "/XfdesktopFileIconManager/trash-3" "") +; (gtk_accel_path "/XfdesktopFileIconManager/delete" "Delete") +; (gtk_accel_path "/XfdesktopFileIconManager/copy" "c") +; (gtk_accel_path "/XfceDesktop/reload-2" "Reload") +; (gtk_accel_path "/XfdesktopFileIconManager/delete-3" "") +; (gtk_accel_path "/XfdesktopFileIconManager/trash-2" "KP_Delete") +; (gtk_accel_path "/XfceDesktop/reload" "r") +; (gtk_accel_path "/XfdesktopFileIconManager/paste-into-folder" "") +; (gtk_accel_path "/XfdesktopFileIconManager/paste-2" "Insert") +; (gtk_accel_path "/XfceDesktop/secondary-menu" "F10") +; (gtk_accel_path "/XfdesktopFileIconManager/delete-2" "KP_Delete") +; (gtk_accel_path "/XfdesktopIconView/toggle-cursor-2" "KP_Space") +; (gtk_accel_path "/XfceDesktop/reload-1" "F5") +; (gtk_accel_path "/XfdesktopFileIconManager/open-filesystem" "") +; (gtk_accel_path "/XfdesktopIconView/activate-5" "KP_Enter") +; (gtk_accel_path "/XfceDesktop/primary-menu" "F10") +; (gtk_accel_path "/XfdesktopFileIconManager/create-document" "") +; (gtk_accel_path "/XfdesktopFileIconManager/create-folder" "n") +; (gtk_accel_path "/XfdesktopIconView/toggle-cursor" "space") +; (gtk_accel_path "/XfdesktopFileIconManager/toggle-show-hidden" "h") +; (gtk_accel_path "/XfdesktopFileIconManager/open-home" "Home") +; (gtk_accel_path "/XfdesktopFileIconManager/paste" "v") +; (gtk_accel_path "/XfdesktopWindowIconManager/unminimize" "o") +; (gtk_accel_path "/XfdesktopIconView/activate-4" "ISO_Enter") +; (gtk_accel_path "/XfdesktopFileIconManager/rename" "F2") +; (gtk_accel_path "/XfdesktopIconView/arrange-icons" "") +; (gtk_accel_path "/XfceDesktop/secondary-menu-2" "Menu") diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/desktop/icons.screen0.yaml b/archiso/airootfs/home/liveuser/.config/xfce4/desktop/icons.screen0.yaml new file mode 100644 index 0000000..cb60343 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/desktop/icons.screen0.yaml @@ -0,0 +1,63 @@ +# +# DO NOT EDIT THIS FILE WHILE XFDESKTOP IS RUNNING +# +configs: +- level: 0 + monitors: + - id: "219c758276014cf095bbaa65c548f7934ea6afe1" + display_name: "Virtual-1" + geometry: + x: 0 + y: 0 + width: 1280 + height: 800 + icons: + "/home/smart/Desktop/dcpomatic2.desktop": + row: 6 + col: 0 + "trash:///": + row: 2 + col: 0 + "/home/smart/Desktop/DCC2.desktop": + row: 1 + col: 1 + "/home/smart/Desktop/Communicator.desktop": + row: 3 + col: 1 + "/home/smart/Desktop/sunlogin.desktop": + row: 0 + col: 2 + "/home/smart/Desktop/firefox.desktop": + row: 5 + col: 0 + "/home/smart/Desktop/\u7247\u5E93": + row: 5 + col: 1 + "/home/smart/Desktop/\u5BC6\u94A5": + row: 6 + col: 1 + "/home/smart": + row: 0 + col: 0 + "/": + row: 1 + col: 0 + "/home/smart/Desktop/Barco Commander.desktop": + row: 4 + col: 1 + "/home/smart/Desktop/DCC.desktop": + row: 2 + col: 1 + "/home/smart/Desktop/com.teamviewer.TeamViewer.desktop": + row: 0 + col: 1 + "2025-11-20-22-50-22-00": + row: 3 + col: 0 + last_seen: 1763720886802894 + "/home/smart/Desktop/org.remmina.Remmina.desktop": + row: 4 + col: 0 + "/home/smart/Desktop/restart.desktop": + row: 1 + col: 2 diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/help.rc b/archiso/airootfs/home/liveuser/.config/xfce4/help.rc new file mode 100644 index 0000000..f9a741a --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/help.rc @@ -0,0 +1,2 @@ +auto-online=false + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17633237721.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17633237721.desktop new file mode 100644 index 0000000..553938b --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17633237721.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch TerminalEmulator +Icon=org.xfce.terminalemulator +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +Keywords=terminal;command line;shell;console;xfce; +OnlyShowIn=XFCE; +X-AppStream-Ignore=True +Name=Terminal Emulator +Comment=Use the command line +X-XFCE-Source=file:///usr/share/applications/xfce4-terminal-emulator.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17637208851.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17637208851.desktop new file mode 100644 index 0000000..422f0cb --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-13/17637208851.desktop @@ -0,0 +1,17 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch TerminalEmulator +Icon=org.xfce.terminalemulator +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +Keywords[zh_CN]=终端;命令行;shell;控制台;xfce; +Keywords=terminal;command line;shell;console;xfce; +OnlyShowIn=XFCE; +X-AppStream-Ignore=True +Name[zh_CN]=终端模拟器 +Name=Terminal Emulator +Comment[zh_CN]=使用命令行 +Comment=Use the command line +X-XFCE-Source=file:///usr/share/applications/xfce4-terminal-emulator.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17633237722.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17633237722.desktop new file mode 100644 index 0000000..142eb53 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17633237722.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch FileManager %u +Icon=org.xfce.filemanager +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +Keywords=file;manager;explorer;browse;filesystem;directory;folder;xfce; +OnlyShowIn=XFCE; +X-XFCE-MimeType=inode/directory;x-scheme-handler/trash; +X-AppStream-Ignore=True +Name=File Manager +Comment=Browse the file system +X-XFCE-Source=file:///usr/share/applications/xfce4-file-manager.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17637208852.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17637208852.desktop new file mode 100644 index 0000000..95d0be8 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-14/17637208852.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch FileManager %u +Icon=org.xfce.filemanager +StartupNotify=true +Terminal=false +Categories=Utility;X-XFCE;X-Xfce-Toplevel; +Keywords[zh_CN]=文件;管理;浏览;文件系统;目录;文件夹;xfce; +Keywords=file;manager;explorer;browse;filesystem;directory;folder;xfce; +OnlyShowIn=XFCE; +X-XFCE-MimeType=inode/directory;x-scheme-handler/trash; +X-AppStream-Ignore=True +Name[zh_CN]=文件管理器 +Name=File Manager +Comment[zh_CN]=浏览文件系统 +Comment=Browse the file system +X-XFCE-Source=file:///usr/share/applications/xfce4-file-manager.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17633237723.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17633237723.desktop new file mode 100644 index 0000000..f3a3fa3 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17633237723.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch WebBrowser %u +Icon=org.xfce.webbrowser +StartupNotify=true +Terminal=false +Categories=Network;X-XFCE;X-Xfce-Toplevel; +Keywords=internet;web;browser;surf;explore;xfce; +OnlyShowIn=XFCE; +X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https; +X-AppStream-Ignore=True +Name=Web Browser +Comment=Browse the web +X-XFCE-Source=file:///usr/share/applications/xfce4-web-browser.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17637208853.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17637208853.desktop new file mode 100644 index 0000000..6d7ba72 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-15/17637208853.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=exo-open --launch WebBrowser %u +Icon=org.xfce.webbrowser +StartupNotify=true +Terminal=false +Categories=Network;X-XFCE;X-Xfce-Toplevel; +Keywords[zh_CN]=互联网;网页;浏览器;冲浪;探索;xfce; +Keywords=internet;web;browser;surf;explore;xfce; +OnlyShowIn=XFCE; +X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https; +X-AppStream-Ignore=True +Name[zh_CN]=网络浏览器 +Name=Web Browser +Comment[zh_CN]=浏览网络 +Comment=Browse the web +X-XFCE-Source=file:///usr/share/applications/xfce4-web-browser.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17633237724.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17633237724.desktop new file mode 100644 index 0000000..9306ddc --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17633237724.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=1.0 +Exec=xfce4-appfinder +Icon=org.xfce.appfinder +StartupNotify=true +Terminal=false +Type=Application +Categories=Utility;X-XFCE; +Name=Application Finder +Comment=Find and launch applications installed on your system +Keywords=program;applications;bookmarks; +X-XFCE-Source=file:///usr/share/applications/xfce4-appfinder.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17637208864.desktop b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17637208864.desktop new file mode 100644 index 0000000..94f6473 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/launcher-16/17637208864.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Exec=xfce4-appfinder +Icon=org.xfce.appfinder +StartupNotify=true +Terminal=false +Type=Application +Categories=Utility;X-XFCE; +Name[zh_CN]=应用程序查找器 +Name=Application Finder +Comment[zh_CN]=查找和启动在您系统上安装的应用程序 +Comment=Find and launch applications installed on your system +Keywords[zh_CN]=program;applications;bookmarks;程序;应用;书签; +Keywords=program;applications;bookmarks; +X-XFCE-Source=file:///usr/share/applications/xfce4-appfinder.desktop diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/panel/xfce4-clipman-actions.xml b/archiso/airootfs/home/liveuser/.config/xfce4/panel/xfce4-clipman-actions.xml new file mode 100644 index 0000000..ba2f9ea --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/panel/xfce4-clipman-actions.xml @@ -0,0 +1,44 @@ + + + + Bugz + bug\s*#?\s*([0-9]+) + 0 + + + GNOME Bug + exo-open https://bugzilla.gnome.org/show_bug.cgi?id=\1 + + + Xfce Bug + exo-open https://bugzilla.xfce.org/show_bug.cgi?id=\1 + + + + + Image + (http|ftp).+\.(jpg|png|gif) + 0 + + + View with Ristretto + ristretto "\0" + + + Edit with Gimp + gimp "\0" + + + + + Long URL + https?://[^\s]{120,} + 0 + + + Shrink the URL + exo-open https://tinyurl.com/create.php?url=\0 + + + + \ No newline at end of file diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml new file mode 100644 index 0000000..4d8fd4a --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml new file mode 100644 index 0000000..8a62908 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml new file mode 100644 index 0000000..ecbdbea --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/ristretto.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/ristretto.xml new file mode 100644 index 0000000..f199fed --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/ristretto.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml new file mode 100644 index 0000000..0698293 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml new file mode 100644 index 0000000..ffb23c0 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml new file mode 100644 index 0000000..d0c8b56 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml new file mode 100644 index 0000000..8cca892 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000..6fc3567 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml new file mode 100644 index 0000000..9ee80f0 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml new file mode 100644 index 0000000..a2723ec --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml new file mode 100644 index 0000000..aac00c8 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml new file mode 100644 index 0000000..4cb26b0 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml new file mode 100644 index 0000000..96b5ecb --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml new file mode 100644 index 0000000..9f11552 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml new file mode 100644 index 0000000..f80504f --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml new file mode 100644 index 0000000..180540f --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..4891e40 --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..7595a6c --- /dev/null +++ b/archiso/airootfs/home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archiso/airootfs/home/liveuser/.config/xfce4/xfwm4/.gitkeep b/archiso/airootfs/home/liveuser/.config/xfce4/xfwm4/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/archiso/airootfs/home/liveuser/BBTTMS.png b/archiso/airootfs/home/liveuser/BBTTMS.png new file mode 100644 index 0000000..ac64ad4 Binary files /dev/null and b/archiso/airootfs/home/liveuser/BBTTMS.png differ diff --git a/archiso/airootfs/home/liveuser/Desktop/calamares.desktop b/archiso/airootfs/home/liveuser/Desktop/calamares.desktop new file mode 100755 index 0000000..ae25441 --- /dev/null +++ b/archiso/airootfs/home/liveuser/Desktop/calamares.desktop @@ -0,0 +1,17 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=Install Manjaro Linux +Name[da]=Installer Manjaro Linux +Name[zh_CN]=TMS安装程序 +GenericName=Live Installer +GenericName[da]=Live-installationsprogram +Comment=Install the operating system to disk +Comment[da]=Installer styresystemet på disk +Comment[de]=Manjaro Linux installieren +Exec=/usr/bin/calamares_polkit %f +Icon=calamares +Terminal=false +StartupNotify=true +Type=Application +Categories=Qt;System; diff --git a/archiso/airootfs/home/liveuser/Desktop/com.teamviewer.TeamViewer.desktop b/archiso/airootfs/home/liveuser/Desktop/com.teamviewer.TeamViewer.desktop new file mode 100755 index 0000000..7b1060d --- /dev/null +++ b/archiso/airootfs/home/liveuser/Desktop/com.teamviewer.TeamViewer.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Type=Application +Categories=Network; + +Name=TeamViewer +Comment=Remote control solution. +Exec=/opt/teamviewer/tv_bin/script/teamviewer +StartupWMClass=TeamViewer + +Icon=TeamViewer diff --git a/archiso/airootfs/home/liveuser/Desktop/firefox.desktop b/archiso/airootfs/home/liveuser/Desktop/firefox.desktop new file mode 100755 index 0000000..7568fd8 --- /dev/null +++ b/archiso/airootfs/home/liveuser/Desktop/firefox.desktop @@ -0,0 +1,902 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=/usr/lib/firefox/firefox %u +Terminal=false +X-MultipleArgs=false +Icon=firefox +StartupWMClass=firefox +DBusActivatable=false +Categories=GNOME;GTK;Network;WebBrowser; +MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto; +StartupNotify=true +Actions=new-window;new-private-window;open-profile-manager; +Name=Firefox +Name[ach]=Firefox +Name[af]=Firefox +Name[an]=Firefox +Name[ar]=Firefox +Name[ast]=Firefox +Name[az]=Firefox +Name[be]=Firefox +Name[bg]=Firefox +Name[bn]=Firefox +Name[br]=Firefox +Name[brx]=Firefox +Name[bs]=Firefox +Name[ca]=Firefox +Name[ca_valencia]=Firefox +Name[cak]=Firefox +Name[ckb]=Firefox +Name[cs]=Firefox +Name[cy]=Firefox +Name[da]=Firefox +Name[de]=Firefox +Name[dsb]=Firefox +Name[el]=Firefox +Name[en_CA]=Firefox +Name[en_GB]=Firefox +Name[eo]=Firefox +Name[es_AR]=Firefox +Name[es_CL]=Firefox +Name[es_ES]=Firefox +Name[es_MX]=Firefox +Name[et]=Firefox +Name[eu]=Firefox +Name[fa]=Firefox +Name[ff]=Firefox +Name[fi]=Firefox +Name[fr]=Firefox +Name[fur]=Firefox +Name[fy_NL]=Firefox +Name[ga_IE]=Firefox +Name[gd]=Firefox +Name[gl]=Firefox +Name[gn]=Firefox +Name[gu_IN]=Firefox +Name[he]=Firefox +Name[hi_IN]=Firefox +Name[hr]=Firefox +Name[hsb]=Firefox +Name[hu]=Firefox +Name[hy_AM]=Firefox +Name[hye]=Firefox +Name[ia]=Firefox +Name[id]=Firefox +Name[is]=Firefox +Name[it]=Firefox +Name[ja]=Firefox +Name[ka]=Firefox +Name[kab]=Firefox +Name[kk]=Firefox +Name[km]=Firefox +Name[kn]=Firefox +Name[ko]=Firefox +Name[lij]=Firefox +Name[lo]=Firefox +Name[lt]=Firefox +Name[ltg]=Firefox +Name[lv]=Firefox +Name[meh]=Firefox +Name[mk]=Firefox +Name[mr]=Firefox +Name[ms]=Firefox +Name[my]=Firefox +Name[nb_NO]=Firefox +Name[ne_NP]=Firefox +Name[nl]=Firefox +Name[nn_NO]=Firefox +Name[oc]=Firefox +Name[pa_IN]=Firefox +Name[pl]=Firefox +Name[pt_BR]=Firefox +Name[pt_PT]=Firefox +Name[rm]=Firefox +Name[ro]=Firefox +Name[ru]=Firefox +Name[sat]=Firefox +Name[sc]=Firefox +Name[sco]=Firefox +Name[si]=Firefox +Name[sk]=Firefox +Name[skr]=Firefox +Name[sl]=Firefox +Name[son]=Firefox +Name[sq]=Firefox +Name[sr]=Firefox +Name[sv_SE]=Firefox +Name[szl]=Firefox +Name[ta]=Firefox +Name[te]=Firefox +Name[tg]=Firefox +Name[th]=Firefox +Name[tl]=Firefox +Name[tr]=Firefox +Name[trs]=Firefox +Name[uk]=Firefox +Name[ur]=Firefox +Name[uz]=Firefox +Name[vi]=Firefox +Name[wo]=Firefox +Name[xh]=Firefox +Name[zh_CN]=TMS +Name[zh_TW]=Firefox +Comment=Browse the World Wide Web +Comment[ach]=Browse the World Wide Web +Comment[af]=Browse the World Wide Web +Comment[an]=Browse the World Wide Web +Comment[ar]=تصفح شبكة الوِب العالمية +Comment[ast]=Browse the World Wide Web +Comment[az]=Browse the World Wide Web +Comment[be]=Аглядайце Сеціва +Comment[bg]=Разгледайте световната мрежа +Comment[bn]=Browse the World Wide Web +Comment[br]=Ergerzhout ar World Wide Web +Comment[brx]=Browse the World Wide Web +Comment[bs]=Pretražujte World Wide Web +Comment[ca]=Navegeu pel Web +Comment[ca_valencia]=Browse the World Wide Web +Comment[cak]=Tok chupam Word Wide Web +Comment[ckb]=Browse the World Wide Web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[cy]=Pori'r We Fyd Eang +Comment[da]=Brug internettet +Comment[de]=Im Internet surfen +Comment[dsb]=Pśeglědajśo World Wide Web +Comment[el]=Περιηγηθείτε στον παγκόσμιο ιστό +Comment[en_CA]=Browse the World Wide Web +Comment[en_GB]=Browse the World Wide Web +Comment[eo]=Retumi en la reto +Comment[es_AR]=Navegar la World Wide Web +Comment[es_CL]=Navegar por la World Wide Web +Comment[es_ES]=Navegar por la web +Comment[es_MX]=Navegar por la web +Comment[et]=Browse the World Wide Web +Comment[eu]=Arakatu World Wide Web-a +Comment[fa]=Browse the World Wide Web +Comment[ff]=Browse the World Wide Web +Comment[fi]=Selaa Internetiä +Comment[fr]=Naviguer sur le Web +Comment[fur]=Navighe sul Web +Comment[fy_NL]=Navigearje op it wrâldwide web +Comment[ga_IE]=Browse the World Wide Web +Comment[gd]=Rùraich lìon na cruinne +Comment[gl]=Navegar pola World Wide Web +Comment[gn]=Eikundaha World Wide Web rupi +Comment[gu_IN]=Browse the World Wide Web +Comment[he]=גלישה באינטרנט +Comment[hi_IN]=Browse the World Wide Web +Comment[hr]=Pregledaj World Wide Web +Comment[hsb]=Přehladajće World Wide Web +Comment[hu]=Böngésszen a világhálón +Comment[hy_AM]=Զննի՛ր համաշխարհային սարդոստայնը +Comment[hye]=Browse the World Wide Web +Comment[ia]=Navigar sur le Web +Comment[id]=Jelajahi World Wide Web +Comment[is]=Vafraðu um veraldarvefinn +Comment[it]=Naviga sul Web +Comment[ja]=World Wide Web をブラウジング +Comment[ka]=მსოფლიო ქსელთან წვდომა +Comment[kab]=Inig deg Web +Comment[kk]=Ғаламторды шолу +Comment[km]=Browse the World Wide Web +Comment[kn]=Browse the World Wide Web +Comment[ko]=월드 와이드 웹 탐색 +Comment[lij]=Browse the World Wide Web +Comment[lo]=ທ່ອງເວັບທົ່ວໂລກ +Comment[lt]=Browse the World Wide Web +Comment[ltg]=Browse the World Wide Web +Comment[lv]=Pārlūkojiet globālo tīmekli +Comment[meh]=Browse the World Wide Web +Comment[mk]=Browse the World Wide Web +Comment[mr]=Browse the World Wide Web +Comment[ms]=Browse the World Wide Web +Comment[my]=Browse the World Wide Web +Comment[nb_NO]=Surf på nettet +Comment[ne_NP]=Browse the World Wide Web +Comment[nl]=Navigeren op het wereldwijde web +Comment[nn_NO]=Surf på nettet +Comment[oc]=Navegar pel Web +Comment[pa_IN]=ਵਰਲਡ ਵਾਈਡ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਕਰੋ +Comment[pl]=Przeglądaj Internet +Comment[pt_BR]=Navegue na World Wide Web +Comment[pt_PT]=Navegar na Internet +Comment[rm]=Navigar en il web +Comment[ro]=Browse the World Wide Web +Comment[ru]=Доступ в Интернет +Comment[sat]=World Wide Web ᱠᱷᱩᱞᱟᱹᱭ ᱢᱮ +Comment[sc]=Nàviga su Web +Comment[sco]=Browse the World Wide Web +Comment[si]=ලෝක ව්‍යාප්ත වියමන පිරික්සන්න +Comment[sk]=Prehľadávať web (www) +Comment[skr]=ورلڈ وائیڈ ویب براؤز کرو +Comment[sl]=Brskanje po svetovnem spletu +Comment[son]=Browse the World Wide Web +Comment[sq]=Shfletoni në World Wide Web +Comment[sr]=Истражите интернет +Comment[sv_SE]=Surfa på webben +Comment[szl]=Browse the World Wide Web +Comment[ta]=Browse the World Wide Web +Comment[te]=Browse the World Wide Web +Comment[tg]=Ба шабакаи ҷаҳонии Интернет дастрасӣ пайдо намоед +Comment[th]=เรียกดูเวิลด์ไวด์เว็บ +Comment[tl]=Browse the World Wide Web +Comment[tr]=Web’de gezin +Comment[trs]=Gāchē nu ngà World Wide Web +Comment[uk]=Переглядайте всесвітню мережу +Comment[ur]=Browse the World Wide Web +Comment[uz]=Browse the World Wide Web +Comment[vi]=Duyệt web trên toàn thế giới +Comment[wo]=Browse the World Wide Web +Comment[xh]=Browse the World Wide Web +Comment[zh_CN]=浏览万维网 +Comment[zh_TW]=瀏覽全球資訊網 +GenericName=Web Browser +GenericName[ach]=Web Browser +GenericName[af]=Web Browser +GenericName[an]=Web Browser +GenericName[ar]=متصفح الإنترنت +GenericName[ast]=Web Browser +GenericName[az]=Web Browser +GenericName[be]=Вэб-браўзер +GenericName[bg]=Уеб браузър +GenericName[bn]=Web Browser +GenericName[br]=Merdeer Web +GenericName[brx]=Web Browser +GenericName[bs]=Web pretraživač +GenericName[ca]=Navegador web +GenericName[ca_valencia]=Web Browser +GenericName[cak]=Web Okik'amaya'l +GenericName[ckb]=Web Browser +GenericName[cs]=Webový prohlížeč +GenericName[cy]=Porwr Gwe +GenericName[da]=Webbrowser +GenericName[de]=Internet-Browser +GenericName[dsb]=Webwobglědowak +GenericName[el]=Πρόγραμμα περιήγησης +GenericName[en_CA]=Web Browser +GenericName[en_GB]=Web Browser +GenericName[eo]=Retumilo +GenericName[es_AR]=Navegador web +GenericName[es_CL]=Navegador Web +GenericName[es_ES]=Navegador web +GenericName[es_MX]=Navegador Web +GenericName[et]=Web Browser +GenericName[eu]=Web nabigatzailea +GenericName[fa]=Web Browser +GenericName[ff]=Web Browser +GenericName[fi]=Verkkoselain +GenericName[fr]=Navigateur web +GenericName[fur]=Navigadôr Web +GenericName[fy_NL]=Webbrowser +GenericName[ga_IE]=Web Browser +GenericName[gd]=Brabhsair-lìn +GenericName[gl]=Navegador web +GenericName[gn]=Ñanduti Kundahára +GenericName[gu_IN]=Web Browser +GenericName[he]=דפדפן אינטרנט +GenericName[hi_IN]=Web Browser +GenericName[hr]=Web preglednik +GenericName[hsb]=Webwobhladowak +GenericName[hu]=Webböngésző +GenericName[hy_AM]=Վեբ դիտարկիչ +GenericName[hye]=Web Browser +GenericName[ia]=Navigator web +GenericName[id]=Peramban Web +GenericName[is]=Vafri +GenericName[it]=Browser web +GenericName[ja]=ウェブブラウザー +GenericName[ka]=ბრაუზერი +GenericName[kab]=Iminig web +GenericName[kk]=Веб-браузері +GenericName[km]=Web Browser +GenericName[kn]=Web Browser +GenericName[ko]=웹 브라우저 +GenericName[lij]=Navegatô Web +GenericName[lo]=ຕົວ​ທ່ອງ​ເວັບ​ເວັບ​ໄຊ​ຕ​໌ +GenericName[lt]=Web Browser +GenericName[ltg]=Web Browser +GenericName[lv]=Tīmekļa pārlūks +GenericName[meh]=Web Browser +GenericName[mk]=Web Browser +GenericName[mr]=Web Browser +GenericName[ms]=Web Browser +GenericName[my]=Web Browser +GenericName[nb_NO]=Nettleser +GenericName[ne_NP]=Web Browser +GenericName[nl]=Webbrowser +GenericName[nn_NO]=Nettlesar +GenericName[oc]=Navegador Web +GenericName[pa_IN]=ਵੈੱਬ ਬਰਾਊਜ਼ਰ +GenericName[pl]=Przeglądarka internetowa +GenericName[pt_BR]=Navegador web +GenericName[pt_PT]=Navegador Web +GenericName[rm]=Navigatur web +GenericName[ro]=Web Browser +GenericName[ru]=Веб-браузер +GenericName[sat]=ᱣᱮᱵᱽ ᱵᱽᱨᱟᱣᱡᱚᱨ +GenericName[sc]=Navigadore web +GenericName[sco]=Web Browser +GenericName[si]=වියමන අතිරික්සුව +GenericName[sk]=Webový prehliadač +GenericName[skr]=ویب براؤزر +GenericName[sl]=Spletni brskalnik +GenericName[son]=Web Browser +GenericName[sq]=Shfletues +GenericName[sr]=Веб прегледач +GenericName[sv_SE]=Webbläsare +GenericName[szl]=Web Browser +GenericName[ta]=Web Browser +GenericName[te]=Web Browser +GenericName[tg]=Браузери веб +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tl]=Web Browser +GenericName[tr]=Web Tarayıcısı +GenericName[trs]=Web riña gāchē nu’ +GenericName[uk]=Браузер +GenericName[ur]=Web Browser +GenericName[uz]=Web Browser +GenericName[vi]=Trình duyệt web +GenericName[wo]=Web Browser +GenericName[xh]=Web Browser +GenericName[zh_CN]=Web 浏览器 +GenericName[zh_TW]=網頁瀏覽器 +Keywords=Internet;WWW;Browser;Web;Explorer; +Keywords[ach]=Internet;WWW;Browser;Web;Explorer; +Keywords[af]=Internet;WWW;Browser;Web;Explorer; +Keywords[an]=Internet;WWW;Browser;Web;Explorer; +Keywords[ar]=Internet;WWW;Browser;Web;Explorer; +Keywords[ast]=Internet;WWW;Browser;Web;Explorer; +Keywords[az]=Internet;WWW;Browser;Web;Explorer; +Keywords[be]=Internet;WWW;Browser;Web;Explorer; +Keywords[bg]=Internet;WWW;Browser;Web;Explorer; +Keywords[bn]=Internet;WWW;Browser;Web;Explorer; +Keywords[br]=Internet;WWW;Merdeer;Web;Ergerzhout; +Keywords[brx]=Internet;WWW;Browser;Web;Explorer; +Keywords[bs]=Internet;WWW;Pretraživač;Web;Istraživač; +Keywords[ca]=Internet;WWW;Browser;Web;Explorador;Navegador; +Keywords[ca_valencia]=Internet;WWW;Browser;Web;Explorer; +Keywords[cak]=K'amaya'l;WWW;Okik'amaya'l;Kanob'äl; +Keywords[ckb]=Internet;WWW;Browser;Web;Explorer; +Keywords[cs]=internet;WWW;prohlížeč;web; +Keywords[cy]=Rhyngrwyd;WWW;Porwr;Gwe;Archwiliwr; +Keywords[da]=Internet;WWW;Browser;Nettet;Explorer; +Keywords[de]=Internet;WWW;Browser;Web;Explorer; +Keywords[dsb]=Internet;WWW;wobglědowak;Web;Explorer; +Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Ιστός;Ίντερνετ; +Keywords[en_CA]=Internet;WWW;Browser;Web;Explorer; +Keywords[en_GB]=Internet;WWW;Browser;Web;Explorer; +Keywords[eo]=Interreto;Retumilo;TTT;Teksaĵo;Reto;Internet;WWW;Browser;Web;Explorer; +Keywords[es_AR]=Internet;WWW;Navegador;Web;Explorador; +Keywords[es_CL]=Internet;WWW;Navegador;Web;Explorador; +Keywords[es_ES]=Internet;WWW;Navegador;Web;Explorador; +Keywords[es_MX]=Internet;WWW;Navegador;Web;Explorador; +Keywords[et]=Internet;WWW;Browser;Web;Explorer; +Keywords[eu]=Internet;WWW;Nabigatzailea;Web;Arakatzailea; +Keywords[fa]=Internet;WWW;Browser;Web;Explorer; +Keywords[ff]=Internet;WWW;Browser;Web;Explorer; +Keywords[fi]=Internet;WWW;Browser;Web;Explorer;netti;webbi;selain; +Keywords[fr]=Internet;WWW;Navigateur;Web;Explorer; +Keywords[fur]=Internet;WWW;Browser;Navigadôr;Web;Esploradôr;Explorer; +Keywords[fy_NL]=Ynternet;WWW;Browser;Web;Ferkenner; +Keywords[ga_IE]=Internet;WWW;Browser;Web;Explorer; +Keywords[gd]=Internet;WWW;Browser;Web;Explorer;eadar-lìon;brabhsair;brobhsair;lìon;taisgealaiche; +Keywords[gl]=Internet;WWW;Navegador;Web;Explorador; +Keywords[gn]=Internet;WWW;Browser;Web;Explorer; +Keywords[gu_IN]=Internet;WWW;Browser;Web;Explorer; +Keywords[he]=אינטרנט;WWW;דפדפן;רשת;סייר;מרשתת; +Keywords[hi_IN]=Internet;WWW;Browser;Web;Explorer; +Keywords[hr]=Internet;WWW;Preglednik;Web;Istraživač; +Keywords[hsb]=Internet;WWW;wobhladowak;Web;Explorer; +Keywords[hu]=Internet;WWW;Böngésző;Web;Világháló; +Keywords[hy_AM]=Համացանց,WWW,Զննիչ,Վեբ,Ցանցախույզ: +Keywords[hye]=Internet;WWW;Browser;Web;Explorer; +Keywords[ia]=Internet;WWW;Navigator;Web;Explorator; +Keywords[id]=Internet;WWW;Browser;Web;Explorer; +Keywords[is]=Internet;WWW; Vafri; Vefur; Explorer; +Keywords[it]=Internet;WWW;Browser;Web;Explorer;Navigatore; +Keywords[ja]=Internet;WWW;Browser;Web;Explorer;インターネット;ブラウザー;ウェブ; +Keywords[ka]=ინტერნეტი;WWW;ბრაუზერი;ქსელი;ქსელთან წვდომა; +Keywords[kab]=Internet;WWW;Browser;Web;Explorer; +Keywords[kk]=Internet;WWW;Browser;Web;Explorer;Интернет;Ғаламтор;Браузер;Желі;Шолғыш; +Keywords[km]=Internet;WWW;Browser;Web;Explorer; +Keywords[kn]=Internet;WWW;Browser;Web;Explorer; +Keywords[ko]=인터넷;브라우저;웹;탐색기;Internet;WWW;Browser;Web;Explorer; +Keywords[lij]=Internet;WWW;Browser;Web;Explorer;Navegatô; +Keywords[lo]=Internet;WWW;Browser;Web;Explorer; +Keywords[lt]=Internet;WWW;Browser;Web;Explorer; +Keywords[ltg]=Internet;WWW;Browser;Web;Explorer; +Keywords[lv]=Internets;WWW;Pārlūkprogramma;Tīmeklis; +Keywords[meh]=Internet;WWW;Browser;Web;Explorer; +Keywords[mk]=Internet;WWW;Browser;Web;Explorer; +Keywords[mr]=Internet;WWW;Browser;Web;Explorer; +Keywords[ms]=Internet;WWW;Browser;Web;Explorer; +Keywords[my]=Internet;WWW;Browser;Web;Explorer; +Keywords[nb_NO]=Internett;WWW;Nettleser;Web;Utforsker; +Keywords[ne_NP]=Internet;WWW;Browser;Web;Explorer; +Keywords[nl]=Internet;WWW;Browser;Web;Verkenner; +Keywords[nn_NO]=Internett;WWW;Nettlesar;Web;Utforskar; +Keywords[oc]=Internet;WWW;Navegador;Navigador;Navegator;Navigator;Web;Explorer; +Keywords[pa_IN]=ਇੰਟਰਨੈੱਟ;WWW;ਬਰਾਊਜ਼ਰ;ਵੈੱਬ;ਐਕਸਪਲਰੋਰ;ਵੈਬ;ਇੰਟਰਨੈਟ; +Keywords[pl]=Internet;WWW;Przeglądarka;Browser;Wyszukiwarka;Web;Sieć;Explorer;Eksplorer;Strony;Witryny;internetowe; +Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorer;Navegador; +Keywords[pt_PT]=Internet;WWW;Navegador;Web;Explorador; +Keywords[rm]=Internet;WWW;Browser;Web;Explorer;navigatur; +Keywords[ro]=Internet;WWW;Browser;Web;Explorer; +Keywords[ru]=Сеть;Интернет;Браузер;Доступ в Интернет; +Keywords[sat]=Internet;WWW;Browser;Web;Explorer; +Keywords[sc]=Internet;WWW;Navigadore;Web;Explorer; +Keywords[sco]=Internet;WWW;Browser;Web;Explorer; +Keywords[si]=අන්තර්ජාලය;අතිරික්සුව;පිරික්සන්න;ගවේශකය;Internet;WWW;Browser;Web;Explorer; +Keywords[sk]=Internet;WWW;Prehliadač;Web;Prieskumník; +Keywords[skr]=Internet;WWW;Browser;Web;Explorer; +Keywords[sl]=internet;www;brskalnik;splet; +Keywords[son]=Internet;WWW;Browser;Web;Explorer; +Keywords[sq]=Internet;WWW;Shfletues;Web;Eksplorues; +Keywords[sr]=Internet;WWW;Browser;Web;Explorer; +Keywords[sv_SE]=Internet;WWW;Webbläsare;Webb;Utforskare; +Keywords[szl]=Internet;WWW;Browser;Web;Explorer; +Keywords[ta]=Internet;WWW;Browser;Web;Explorer; +Keywords[te]=Internet;WWW;Browser;Web;Explorer; +Keywords[tg]=Интернет;WWW;Браузер;Сомона;Ҷустуҷӯгар; +Keywords[th]=อินเทอร์เน็ต;เบราว์เซอร์;เว็บ;Internet;WWW;Browser;Web;Explorer; +Keywords[tl]=Internet;WWW;Browser;Web;Explorer; +Keywords[tr]=Internet;WWW;Browser;Web;Explorer;İnternet;Tarayıcı; +Keywords[trs]=Internet;WWW;Browser;Web;Explorer; +Keywords[uk]=Інтернет;WWW;Браузер;Веб;Переглядач; +Keywords[ur]=Internet;WWW;Browser;Web;Explorer; +Keywords[uz]=Internet;WWW;Browser;Web;Explorer; +Keywords[vi]=Internet;WWW;Trình duyệt;Web;Duyệt web; +Keywords[wo]=Internet;WWW;Browser;Web;Explorer; +Keywords[xh]=Internet;WWW;Browser;Web;Explorer; +Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer; +Keywords[zh_TW]=網際網路;網路;瀏覽器;網頁;上網;Internet;WWW;Browser;Web;Explorer; +X-GNOME-FullName=Firefox Web Browser +X-GNOME-FullName[ach]=Firefox Web Browser +X-GNOME-FullName[af]=Firefox Web Browser +X-GNOME-FullName[an]=Firefox Web Browser +X-GNOME-FullName[ar]=متصفح Firefox +X-GNOME-FullName[ast]=Firefox Web Browser +X-GNOME-FullName[az]=Firefox Web Browser +X-GNOME-FullName[be]=Вэб-браўзер Firefox +X-GNOME-FullName[bg]=Firefox Уеб браузър +X-GNOME-FullName[bn]=Firefox Web Browser +X-GNOME-FullName[br]=Merdeer Web Firefox +X-GNOME-FullName[brx]=Firefox Web Browser +X-GNOME-FullName[bs]=Firefox web pretraživač +X-GNOME-FullName[ca]=Navegador web Firefox +X-GNOME-FullName[ca_valencia]=Firefox Web Browser +X-GNOME-FullName[cak]=Firefox Web Browser +X-GNOME-FullName[ckb]=Firefox Web Browser +X-GNOME-FullName[cs]=Webový prohlížeč Firefox +X-GNOME-FullName[cy]=Porwr Gwe Firefox +X-GNOME-FullName[da]=Firefox-browser +X-GNOME-FullName[de]=Firefox-Web-Browser +X-GNOME-FullName[dsb]=Webwobglědowak Firefox +X-GNOME-FullName[el]=Πρόγραμμα περιήγησης Firefox +X-GNOME-FullName[en_CA]=Firefox Web Browser +X-GNOME-FullName[en_GB]=Firefox Web Browser +X-GNOME-FullName[eo]=Retumilo Firefox +X-GNOME-FullName[es_AR]=Navegador web Firefox +X-GNOME-FullName[es_CL]=Navegador web Firefox +X-GNOME-FullName[es_ES]=Navegador web Firefox +X-GNOME-FullName[es_MX]=Navegador web Firefox +X-GNOME-FullName[et]=Firefox Web Browser +X-GNOME-FullName[eu]=Firefox web nabigatzailea +X-GNOME-FullName[fa]=Firefox Web Browser +X-GNOME-FullName[ff]=Firefox Web Browser +X-GNOME-FullName[fi]=Firefox-verkkoselain +X-GNOME-FullName[fr]=Navigateur web Firefox +X-GNOME-FullName[fur]=Navigadôr web Firefox +X-GNOME-FullName[fy_NL]=Firefox-webbrowser +X-GNOME-FullName[ga_IE]=Firefox Web Browser +X-GNOME-FullName[gd]=Brabhsair-lìn Firefox +X-GNOME-FullName[gl]=Navegador web Firefox +X-GNOME-FullName[gn]=Firefox Ñanduti Kundahára +X-GNOME-FullName[gu_IN]=Firefox Web Browser +X-GNOME-FullName[he]=דפדפן אינטרנט Firefox +X-GNOME-FullName[hi_IN]=Firefox वेब ब्राउज़र +X-GNOME-FullName[hr]=Firefox web preglednik +X-GNOME-FullName[hsb]=Webwobhladowak Firefox +X-GNOME-FullName[hu]=Firefox webböngésző +X-GNOME-FullName[hy_AM]=Firefox վեբ դիտարկիչ +X-GNOME-FullName[hye]=Firefox Web Browser +X-GNOME-FullName[ia]=Navigator web Firefox +X-GNOME-FullName[id]=Firefox Peramban Web +X-GNOME-FullName[is]=Firefox-vafri +X-GNOME-FullName[it]=Browser web Firefox +X-GNOME-FullName[ja]=Firefox ウェブブラウザー +X-GNOME-FullName[ka]=Firefox-ბრაუზერი +X-GNOME-FullName[kab]=Iminig web Firefox +X-GNOME-FullName[kk]=Firefox веб-браузері +X-GNOME-FullName[km]=Firefox Web Browser +X-GNOME-FullName[kn]=Firefox Web Browser +X-GNOME-FullName[ko]=Firefox 웹 브라우저 +X-GNOME-FullName[lij]=Firefox Navegatô Web +X-GNOME-FullName[lo]=Firefox ເວັບບຣາວເຊີ +X-GNOME-FullName[lt]=Firefox Web Browser +X-GNOME-FullName[ltg]=Firefox Web Browser +X-GNOME-FullName[lv]=Firefox tīmekļa pārlūks +X-GNOME-FullName[meh]=Firefox Web Browser +X-GNOME-FullName[mk]=Firefox Web Browser +X-GNOME-FullName[mr]=Firefox Web Browser +X-GNOME-FullName[ms]=Firefox Web Browser +X-GNOME-FullName[my]=Firefox Web Browser +X-GNOME-FullName[nb_NO]=Firefox-nettleser +X-GNOME-FullName[ne_NP]=Firefox Web Browser +X-GNOME-FullName[nl]=Firefox-webbrowser +X-GNOME-FullName[nn_NO]=Firefox-nettlesar +X-GNOME-FullName[oc]=Navegador web Firefox +X-GNOME-FullName[pa_IN]=Firefox ਵੈੱਬ ਬਰਾਊਜ਼ਰ +X-GNOME-FullName[pl]=Przeglądarka Firefox +X-GNOME-FullName[pt_BR]=Navegador web Firefox +X-GNOME-FullName[pt_PT]=Navegador Web Firefox +X-GNOME-FullName[rm]=Navigatur-web Firefox +X-GNOME-FullName[ro]=Firefox Web Browser +X-GNOME-FullName[ru]=Веб-браузер Firefox +X-GNOME-FullName[sat]=Firefox ᱣᱮᱵᱽ ᱵᱽᱨᱟᱣᱡᱚᱨ +X-GNOME-FullName[sc]=Navigadore web Firefox +X-GNOME-FullName[sco]=Firefox Web Browser +X-GNOME-FullName[si]=Firefox අතිරික්සුව +X-GNOME-FullName[sk]=Webový prehliadač Firefox +X-GNOME-FullName[skr]=Firefox ویب براؤزر +X-GNOME-FullName[sl]=Spletni brskalnik Firefox +X-GNOME-FullName[son]=Firefox Web Browser +X-GNOME-FullName[sq]=Shfletuesi Firefox +X-GNOME-FullName[sr]=Firefox веб прегледач +X-GNOME-FullName[sv_SE]=Firefox webbläsare +X-GNOME-FullName[szl]=Firefox Web Browser +X-GNOME-FullName[ta]=Firefox Web Browser +X-GNOME-FullName[te]=Firefox Web Browser +X-GNOME-FullName[tg]=Браузери интернетии «Firefox» +X-GNOME-FullName[th]=เว็บเบราว์เซอร์ Firefox +X-GNOME-FullName[tl]=Firefox Web Browser +X-GNOME-FullName[tr]=Firefox Web Tarayıcısı +X-GNOME-FullName[trs]=Firefox Web riña gāchē nu’ +X-GNOME-FullName[uk]=Браузер Firefox +X-GNOME-FullName[ur]=Firefox Web Browser +X-GNOME-FullName[uz]=Firefox Web Browser +X-GNOME-FullName[vi]=Trình duyệt Web Firefox +X-GNOME-FullName[wo]=Firefox Web Browser +X-GNOME-FullName[xh]=Firefox Web Browser +X-GNOME-FullName[zh_CN]=Firefox 浏览器 +X-GNOME-FullName[zh_TW]=Firefox 網頁瀏覽器 + +[Desktop Action new-window] +Exec=/usr/lib/firefox/firefox --new-window %u +Name=New Window +Name[ach]=New Window +Name[af]=New Window +Name[an]=New Window +Name[ar]=نافذة جديدة +Name[ast]=New Window +Name[az]=New Window +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn]=New Window +Name[br]=Prenestr nevez +Name[brx]=New Window +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[ca_valencia]=New Window +Name[cak]=K'ak'a' Tzuwäch +Name[ckb]=New Window +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_CA]=New Window +Name[en_GB]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=New Window +Name[eu]=Leiho berria +Name[fa]=New Window +Name[ff]=New Window +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fur]=Gnûf barcon +Name[fy_NL]=Nij finster +Name[ga_IE]=New Window +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=New Window +Name[he]=חלון חדש +Name[hi_IN]=New Window +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր պատուհան +Name[hye]=New Window +Name[ia]=Nove fenestra +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ka]=ახალი ფანჯარა +Name[kab]=Asfaylu amaynut +Name[kk]=Жаңа терезе +Name[km]=New Window +Name[kn]=New Window +Name[ko]=새 창 +Name[lij]=Neuvo Barcon +Name[lo]=ວິນໂດໃໝ່ +Name[lt]=New Window +Name[ltg]=New Window +Name[lv]=Jauns logs +Name[meh]=New Window +Name[mk]=New Window +Name[mr]=New Window +Name[ms]=New Window +Name[my]=New Window +Name[nb_NO]=Nytt vindu +Name[ne_NP]=New Window +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[oc]=Fenèstra novèla +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=New Window +Name[ru]=Новое окно +Name[sat]=ᱱᱟᱶᱟ ᱣᱤᱱᱰᱳ +Name[sc]=Ventana noa +Name[sco]=New Window +Name[si]=නව කවුළුව +Name[sk]=Nové okno +Name[skr]=نویں ونڈو +Name[sl]=Novo okno +Name[son]=New Window +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[szl]=New Window +Name[ta]=New Window +Name[te]=New Window +Name[tg]=Равзанаи нав +Name[th]=หน้าต่างใหม่ +Name[tl]=New Window +Name[tr]=Yeni pencere +Name[trs]=Bēntanâ nākàa +Name[uk]=Нове вікно +Name[ur]=New Window +Name[uz]=New Window +Name[vi]=Cửa sổ mới +Name[wo]=New Window +Name[xh]=New Window +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 + +[Desktop Action new-private-window] +Exec=/usr/lib/firefox/firefox --private-window %u +Name=New Private Window +Name[ach]=New Private Window +Name[af]=New Private Window +Name[an]=New Private Window +Name[ar]=نافذة خاصة جديدة +Name[ast]=New Private Window +Name[az]=New Private Window +Name[be]=Новае прыватнае акно +Name[bg]=Нов личен прозорец +Name[bn]=New Private Window +Name[br]=Prenestr prevez nevez +Name[brx]=New Private Window +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[ca_valencia]=New Private Window +Name[cak]=K'ak'a' Ichinan Tzuwäch +Name[ckb]=New Private Window +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο ιδιωτικό παράθυρο +Name[en_CA]=New Private Window +Name[en_GB]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=New Private Window +Name[eu]=Leiho pribatu berria +Name[fa]=New Private Window +Name[ff]=New Private Window +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre privée +Name[fur]=Gnûf barcon privât +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=New Private Window +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=New Private Window +Name[he]=חלון פרטי חדש +Name[hi_IN]=New Private Window +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Նոր գաղտնի պատուհան +Name[hye]=New Private Window +Name[ia]=Nove fenestra private +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kab]=Asfaylu amaynut n tunigin tusligt +Name[kk]=Жаңа жекелік терезе +Name[km]=New Private Window +Name[kn]=New Private Window +Name[ko]=새 사생활 보호 창 +Name[lij]=Neuvo Barcon Privòu +Name[lo]=ວິນໂດສ່ວນຕົວໃໝ່ +Name[lt]=New Private Window +Name[ltg]=New Private Window +Name[lv]=Jauns privātais logs +Name[meh]=New Private Window +Name[mk]=New Private Window +Name[mr]=New Private Window +Name[ms]=New Private Window +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=New Private Window +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[oc]=Fenèstra privada novèla +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=New Private Window +Name[ru]=Новое приватное окно +Name[sat]=ᱱᱟᱶᱟ ᱱᱤᱡᱮᱨᱟᱜ ᱣᱤᱱᱰᱳ +Name[sc]=Ventana privada noa +Name[sco]=New Private Window +Name[si]=නව පෞද්. කවුළුව +Name[sk]=Nové súkromné okno +Name[skr]=نویں نجی ونڈو +Name[sl]=Novo zasebno okno +Name[son]=New Private Window +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватни прозор +Name[sv_SE]=Nytt privat fönster +Name[szl]=New Private Window +Name[ta]=New Private Window +Name[te]=New Private Window +Name[tg]=Равзанаи хусусии нав +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tl]=New Private Window +Name[tr]=Yeni gizli pencere +Name[trs]=Bēntanâ huì nākàa +Name[uk]=Приватне вікно +Name[ur]=New Private Window +Name[uz]=New Private Window +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=New Private Window +Name[xh]=New Private Window +Name[zh_CN]=新建隐私窗口 +Name[zh_TW]=開新隱私視窗 + +[Desktop Action open-profile-manager] +Exec=/usr/lib/firefox/firefox --ProfileManager +Name=Open Profile Manager +Name[ach]=Open Profile Manager +Name[af]=Open Profile Manager +Name[an]=Open Profile Manager +Name[ar]=افتح مدير الملف الشخصي +Name[ast]=Open Profile Manager +Name[az]=Open Profile Manager +Name[be]=Адкрыць менеджар профіляў +Name[bg]=Отваряне на мениджъра на профили +Name[bn]=Open Profile Manager +Name[br]=Digeriñ an ardoer aeladoù +Name[brx]=Open Profile Manager +Name[bs]=Otvori Menadžera profila +Name[ca]=Obre el gestor de perfils +Name[ca_valencia]=Open Profile Manager +Name[cak]=Open Profile Manager +Name[ckb]=Open Profile Manager +Name[cs]=Otevřete Správce profilů +Name[cy]=Agorwch y Rheolwr Proffil +Name[da]=Åbn profilhåndtering +Name[de]=Profilverwaltung öffnen +Name[dsb]=Profilowy zastojnik wócyniś +Name[el]=Άνοιγμα Διαχείρισης προφίλ +Name[en_CA]=Open Profile Manager +Name[en_GB]=Open Profile Manager +Name[eo]=Malfermi administranton de profiloj +Name[es_AR]=Abrir administrador de perfiles +Name[es_CL]=Abrir administrador de perfiles +Name[es_ES]=Abrir administrador de perfiles +Name[es_MX]=Abrir administrador de perfiles +Name[et]=Open Profile Manager +Name[eu]=Ireki profilen kudeatzailea +Name[fa]=Open Profile Manager +Name[ff]=Open Profile Manager +Name[fi]=Avaa profiilien hallinta +Name[fr]=Ouvrir le gestionnaire de profils +Name[fur]=Vierç gjestôr profîi +Name[fy_NL]=Profylbehearder iepenje +Name[ga_IE]=Open Profile Manager +Name[gd]=Fosgail manaidsear nam pròifilean +Name[gl]=Abrir o xestor de perfís +Name[gn]=Embojuruja mba’ete ñangarekoha +Name[gu_IN]=Open Profile Manager +Name[he]=פתיחת מנהל הפרופילים +Name[hi_IN]=Open Profile Manager +Name[hr]=Otvori upravljač profila +Name[hsb]=Zrjadowak profilow wočinić +Name[hu]=Profilkezelő megnyitása +Name[hy_AM]=Բացեք պրոֆիլի կառավարիչը +Name[hye]=Open Profile Manager +Name[ia]=Aperir le gestor de profilo +Name[id]=Buka Pengelola Profil +Name[is]=Opna umsýslu notandasniða +Name[it]=Apri gestore profili +Name[ja]=プロファイルマネージャーを開く +Name[ka]=პროფილის მმართველის გახსნა +Name[kab]=Ldi amsefrak n umaɣnu +Name[kk]=Профильдер бақарушысын ашу +Name[km]=Open Profile Manager +Name[kn]=Open Profile Manager +Name[ko]=프로필 관리자 열기 +Name[lij]=Open Profile Manager +Name[lo]=ເປີດຕົວຈັດການໂປຣໄຟລ໌ +Name[lt]=Open Profile Manager +Name[ltg]=Open Profile Manager +Name[lv]=Atvērt profilu pārvaldnieku +Name[meh]=Open Profile Manager +Name[mk]=Open Profile Manager +Name[mr]=Open Profile Manager +Name[ms]=Open Profile Manager +Name[my]=Open Profile Manager +Name[nb_NO]=Åpne profilbehandler +Name[ne_NP]=Open Profile Manager +Name[nl]=Profielbeheerder openen +Name[nn_NO]=Opne profilhandsaming +Name[oc]=Dobrir lo gestionari de perfils +Name[pa_IN]=ਪਰੋਫ਼ਾਈਲ ਮੈਨੇਜਰ ਖੋਲ੍ਹੋ +Name[pl]=Menedżer profili +Name[pt_BR]=Abrir gerenciador de perfis +Name[pt_PT]=Abrir o Gestor de Perfis +Name[rm]=Avrir l'administraziun da profils +Name[ro]=Open Profile Manager +Name[ru]=Открыть менеджер профилей +Name[sat]=ᱢᱮᱫᱦᱟᱸ ᱢᱮᱱᱮᱡᱚᱨ ᱠᱷᱩᱞᱟᱹᱭ ᱢᱮ +Name[sc]=Aberi su gestore de profilos +Name[sco]=Open Profile Manager +Name[si]=පැතිකඩ කළමනාකරු අරින්න +Name[sk]=Otvoriť Správcu profilov +Name[skr]=پروفائل منیجر کھولو +Name[sl]=Odpri upravitelja profilov +Name[son]=Open Profile Manager +Name[sq]=Hapni Përgjegjës Profilesh +Name[sr]=Отворите управљач профила +Name[sv_SE]=Öppna Profilhanteraren +Name[szl]=Open Profile Manager +Name[ta]=Open Profile Manager +Name[te]=Open Profile Manager +Name[tg]=Кушодани мудири профилҳо +Name[th]=เปิดตัวจัดการโปรไฟล์ +Name[tl]=Open Profile Manager +Name[tr]=Profil yöneticisini aç +Name[trs]=Sa nīkāj ñu’ūnj nej perfî huā nì’nï̀nj ïn +Name[uk]=Відкрити менеджер профілів +Name[ur]=Open Profile Manager +Name[uz]=Open Profile Manager +Name[vi]=Mở trình quản lý hồ sơ +Name[wo]=Open Profile Manager +Name[xh]=Open Profile Manager +Name[zh_CN]=打开配置文件管理器 +Name[zh_TW]=開啟設定檔管理員 diff --git a/archiso/airootfs/home/liveuser/Desktop/sunlogin.desktop b/archiso/airootfs/home/liveuser/Desktop/sunlogin.desktop new file mode 100755 index 0000000..902427d --- /dev/null +++ b/archiso/airootfs/home/liveuser/Desktop/sunlogin.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Comment=Sunlogin Remote Control is a software that supports remote control of mobile devices, Windows, Mac, Linux and other systems. It is the best choice for IT technology, game players, designers and other people with remote management needs. +Comment[zh_CN]=向日葵远程控制软件是一个支持移动设备、Windows、Mac、Linux等多系统多设备间相互远程控制的软件,是具有远程管理等需求的IT技术、游戏玩家、设计师等人群的不二选择。 +Exec=/usr/bin/sunloginclient +GenericName=Sunlogin Client +GenericName[zh_CN]=向日葵远程控制 +Name=Sunlogin Client +Name[zh_CN]=向日葵远程控制 +StartupNotify=false +Terminal=false +Type=Application +Categories=Network;RemoteControl; +Icon=sunloginclient +# Remove under line for fixing icon bug in taskbar +#StartupWMClass=sunloginclient diff --git a/archiso/airootfs/root/.automated_script.sh b/archiso/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..f7f3ced --- /dev/null +++ b/archiso/airootfs/root/.automated_script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +script_cmdline() { + local param + for param in $(/dev/null | sort -h + else + # 显示指定深度的目录结构 + find "$path" -maxdepth "$depth" -type f -exec du -sh {} + 2>/dev/null | sort -h + fi +} + +# 快捷别名 +alias sz='fsize . 0' +alias sz1='fsize . 1' +alias sz2='fsize . 2' + +# 环境变量 +export EDITOR=vim +export VISUAL=vim +export HISTSIZE=10000 +export HISTFILESIZE=20000 + +# Wine 环境变量 - 添加到 PATH +export WINE_HOME="/home/smart/wine" +export PATH="$WINE_HOME/bin:$PATH" + +# 彩色提示符 +PS1='\[\033[01;33m\]\t\[\033[00m\] \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + +# 实用函数 +mkcd() { mkdir -p "$1" && cd "$1"; } +findf() { find . -name "$1" -type f 2>/dev/null; } + +# 检查 wine 是否可用 +wine-check() { + if command -v wine >/dev/null 2>&1; then + echo "✓ Wine is available: $(which wine)" + wine --version + else + echo "✗ Wine not found in PATH" + echo "Current PATH: $PATH" + fi +} diff --git a/archiso/airootfs/root/.gnupg/scdaemon.conf b/archiso/airootfs/root/.gnupg/scdaemon.conf new file mode 100755 index 0000000..e1f3d1f --- /dev/null +++ b/archiso/airootfs/root/.gnupg/scdaemon.conf @@ -0,0 +1,4 @@ +disable-ccid +disable-pinpad +pcsc-driver /usr/lib/libpcsclite.so +pcsc-shared diff --git a/archiso/airootfs/root/.zlogin b/archiso/airootfs/root/.zlogin new file mode 100755 index 0000000..bf6bc8f --- /dev/null +++ b/archiso/airootfs/root/.zlogin @@ -0,0 +1,6 @@ +# fix for screen readers +if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then + setopt SINGLE_LINE_ZLE +fi + +~/.automated_script.sh diff --git a/archiso/airootfs/root/customize_airootfs.sh b/archiso/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..9080c5f --- /dev/null +++ b/archiso/airootfs/root/customize_airootfs.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# 更新 pacman 数据库,确保能找到本地仓库的包 +pacman -Sy + +# 安装本地仓库的 linux 和 linux-headers +# 由于 [custom] 仓库优先级最高,pacman 会从这里安装 +pacman -S --noconfirm linux linux-headers + +# 重新生成 initramfs,确保新内核能启动 +# 这通常在安装内核时由 pacman 自动处理,但手动安装后最好确认一下 +mkinitcpio -P + +# 清理 pacman 缓存 +pacman -Scc --noconfirm + +# 删除本地仓库的数据库文件,避免在最终系统上占用空间 +# rm -rf /localrepo/custom.db.tar.gz /localrepo/custom.files.tar.gz +# rm -rf /localrepo/*.pkg.tar.zst +# rmdir /localrepo + +# 如果你希望在安装完成后移除本地仓库的定义,可以编辑 pacman.conf +# 但对于 livecd 或安装介质,通常不需要这样做,因为它是临时环境 +# sed -i '/^\[custom\]/,/^Server = file:\/\/\/localrepo/d' /etc/pacman.conf diff --git a/archiso/airootfs/root/jing_test b/archiso/airootfs/root/jing_test new file mode 100644 index 0000000..999b87f --- /dev/null +++ b/archiso/airootfs/root/jing_test @@ -0,0 +1,12 @@ +bbt tms 自定义镜像 + +镜像内置软件 +1.抱抱堂TMS软件 +2.dcpomatic2 +3.teamviewer +4.向日葵 +5.todesk +6.nec放映机连接软件 dcc/dccv2/dccs2 +7.巴克放映机和服务器软件 communicator/commander +8.vnc/rdp连接软件remmina +9.浏览器 firefox/chrome diff --git a/archiso/airootfs/usr/local/bin/Installation_guide b/archiso/airootfs/usr/local/bin/Installation_guide new file mode 100755 index 0000000..4266754 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/Installation_guide @@ -0,0 +1,5 @@ +#!/bin/sh +# +# SPDX-License-Identifier: GPL-3.0-or-later + +exec lynx 'https://wiki.archlinux.org/title/Installation_guide' diff --git a/archiso/airootfs/usr/local/bin/alci-displaymanager-check b/archiso/airootfs/usr/local/bin/alci-displaymanager-check new file mode 100755 index 0000000..da654a8 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/alci-displaymanager-check @@ -0,0 +1,34 @@ +#!/bin/bash +#set -e +############################################################################### +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +############################################################################### +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +############################################################################### + +package=sddm +if pacman -Qs $package > /dev/null ; then + ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service +fi +package=gdm +if pacman -Qs $package > /dev/null ; then + ln -sf /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service +fi +package=lxdm +if pacman -Qs $package > /dev/null ; then + /bin/cp -f /home/smart/lxdm.service /usr/lib/systemd/system/lxdm.service + ln -sf /usr/lib/systemd/system/lxdm.service /etc/systemd/system/display-manager.service +fi +package=lightdm +if pacman -Qs $package > /dev/null ; then + ln -sf /usr/lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service +fi diff --git a/archiso/airootfs/usr/local/bin/alci-make-a-pure-arch b/archiso/airootfs/usr/local/bin/alci-make-a-pure-arch new file mode 100755 index 0000000..e2bbfa2 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/alci-make-a-pure-arch @@ -0,0 +1,18 @@ +#!/bin/bash +#set -e +############################################################################### +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +############################################################################### +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +############################################################################### + +#if necessary we can use this script too diff --git a/archiso/airootfs/usr/local/bin/alci-virtual-machine-check b/archiso/airootfs/usr/local/bin/alci-virtual-machine-check new file mode 100755 index 0000000..0247830 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/alci-virtual-machine-check @@ -0,0 +1,191 @@ +#!/bin/bash +#set -e +############################################################################### +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +############################################################################### +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +############################################################################### + +echo "###########################################" +echo "Start ALCI virtual machine check" +echo "###########################################" + +result=$(systemd-detect-virt) + +while [ -e "/var/lib/pacman/db.lck" ]; +do + echo 'Pacman is not ready yet. Will try again in 5 seconds.' + seconds=$(($seconds + 5)) + sleep 5 + if [[ "$seconds" == "30" ]]; then + echo 'Warning: removing pacman db.lck!' + rm /var/lib/pacman/db.lck + fi +done + +echo "You are working on "$result + +if [ $result = "oracle" ]; + then + #remove vmware + if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then + rm /etc/xdg/autostart/vmware-user.desktop + echo "Removed vmware-user.desktop" + fi + + if pacman -Qi open-vm-tools &> /dev/null; then + systemctl disable vmware-vmblock-fuse.service + systemctl disable vmtoolsd.service + echo "Disabled vmtoolsd.service" + pacman -Rns open-vm-tools --noconfirm + echo "Removed open-vm-tools" + fi + + if pacman -Qi xf86-video-vmware &> /dev/null; then + pacman -Rns xf86-video-vmware --noconfirm + echo "Removed xf86-video-vmware" + fi + + if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then + rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service + echo "Removed vmtoolsd.service if still exists" + fi + + #remove qemu + if pacman -Qi qemu-guest-agent &> /dev/null; then + systemctl disable qemu-guest-agent.service + pacman -Rns qemu-guest-agent --noconfirm + echo "Removed qemu-guest-agent" + fi +fi + +if [ $result = "kvm" ]; + then + #remove vmware + if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then + rm /etc/xdg/autostart/vmware-user.desktop + echo "Removed vmware-user.desktop" + fi + + if pacman -Qi open-vm-tools &> /dev/null; then + systemctl disable vmware-vmblock-fuse.service + systemctl disable vmtoolsd.service + echo "Disabled vmtoolsd.service" + pacman -Rns open-vm-tools --noconfirm + echo "Removed open-vm-tools" + fi + + if pacman -Qi xf86-video-vmware &> /dev/null; then + pacman -Rns xf86-video-vmware --noconfirm + echo "Removed xf86-video-vmware" + fi + + if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then + rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service + echo "Removed vmtoolsd.service if still exists" + fi + + #remove virtualbox + if pacman -Qi virtualbox-guest-utils &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils --noconfirm + echo "Removed virtualbox-guest-utils" + fi + if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils-nox --noconfirm + echo "Removed virtualbox-guest-utils-nox" + fi +fi + +if [ $result = "vmware" ]; + then + #remove virtualbox + if pacman -Qi virtualbox-guest-utils &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils --noconfirm + echo "Removed virtualbox-guest-utils" + fi + if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils-nox --noconfirm + echo "Removed virtualbox-guest-utils-nox" + fi + + #remove qemu + if pacman -Qi qemu-guest-agent &> /dev/null; then + systemctl disable qemu-guest-agent.service + pacman -Rns qemu-guest-agent --noconfirm + echo "Removed qemu-guest-agent" + fi +fi + +if [ $result = "none" ]; + then + #remove virtualbox + if pacman -Qi virtualbox-guest-utils &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils --noconfirm + echo "Removed virtualbox-guest-utils" + fi + + if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then + systemctl disable vboxservice.service + pacman -Rns virtualbox-guest-utils-nox --noconfirm + echo "Removed virtualbox-guest-utils-nox" + fi + + #remove vmware + if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then + rm /etc/xdg/autostart/vmware-user.desktop + echo "Removed vmware-user.desktop" + fi + + if pacman -Qi open-vm-tools &> /dev/null; then + systemctl disable vmware-vmblock-fuse.service + systemctl disable vmtoolsd.service + echo "Disabled vmtoolsd.service" + pacman -Rns open-vm-tools --noconfirm + echo "Removed open-vm-tools" + fi + + if pacman -Qi xf86-video-vmware &> /dev/null; then + pacman -Rns xf86-video-vmware --noconfirm + echo "Removed xf86-video-vmware" + fi + + if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then + rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service + echo "Removed vmtoolsd.service if still exists" + fi + + #remove qemu + if pacman -Qi qemu-guest-agent &> /dev/null; then + systemctl disable qemu-guest-agent.service + pacman -Rns qemu-guest-agent --noconfirm + echo "Removed qemu-guest-agent" + fi + + if [ -f /usr/local/bin/arcolinux-virtual-machine-check ]; then + rm /usr/local/bin/arcolinux-virtual-machine-check + echo "Removed avm-check script" + fi + + if [ -L /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then + rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service + echo "Removed avm-check script" + fi +fi + +echo "########################################" +echo "End ALCI virtual machine check" +echo "########################################" diff --git a/archiso/airootfs/usr/local/bin/choose-mirror b/archiso/airootfs/usr/local/bin/choose-mirror new file mode 100755 index 0000000..d2349de --- /dev/null +++ b/archiso/airootfs/usr/local/bin/choose-mirror @@ -0,0 +1,29 @@ +#!/bin/bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +get_cmdline() { + local param + for param in $(/etc/pacman.d/mirrorlist < /dev/null; then + tput setaf 2 + echo + echo "You are online" + echo + tput sgr0 + Online=1 + else + tput setaf 1 + echo + echo "You are not connected to the internet" + echo "We can not download the latest archlinux-keyring package" + echo + echo "Make sure you are online to retrieve packages" + echo + tput sgr0 + Online=0 + fi + } + +check_connectivity + +if [ $Online -eq 1 ] ; then + tput setaf 2 + echo + echo "Installing the latest archlinux-keyring package from the internet" + echo + tput sgr0 + sudo pacman -Sy archlinux-keyring --noconfirm + echo +fi + +echo "###############################################################################" +echo "Removing the pacman databases at /var/lib/pacman/sync/*" +echo "###############################################################################" +echo +sudo rm /var/lib/pacman/sync/* +echo + +echo "###############################################################################" +echo "Removing /etc/pacman.d/gnupg folder" +echo "###############################################################################" +echo +sudo rm -rf /etc/pacman.d/gnupg/* +echo + +echo "###############################################################################" +echo "Initialize pacman keys with pacman-key --init" +echo "###############################################################################" +echo +sudo pacman-key --init +echo + +echo "###############################################################################" +echo "Populating keyring with pacman-key --populate" +echo "###############################################################################" +echo +sudo pacman-key --populate +echo + +echo "###############################################################################" +echo "Adding Ubuntu keyserver to /etc/pacman.d/gnupg/gpg.conf" +echo "###############################################################################" +echo +echo " +keyserver hkp://keyserver.ubuntu.com:80" | sudo tee --append /etc/pacman.d/gnupg/gpg.conf + +echo +echo "###############################################################################" +echo "Getting new databases with pacman -Sy" +echo "###############################################################################" +echo +sudo pacman -Sy +echo + +echo "###############################################################################" +echo "### DONE - YOU CAN CLOSE THIS WINDOW ####" +echo "###############################################################################" \ No newline at end of file diff --git a/archiso/airootfs/usr/local/bin/fixkey b/archiso/airootfs/usr/local/bin/fixkey new file mode 120000 index 0000000..135401b --- /dev/null +++ b/archiso/airootfs/usr/local/bin/fixkey @@ -0,0 +1 @@ +fix-keys \ No newline at end of file diff --git a/archiso/airootfs/usr/local/bin/fixkeys b/archiso/airootfs/usr/local/bin/fixkeys new file mode 120000 index 0000000..135401b --- /dev/null +++ b/archiso/airootfs/usr/local/bin/fixkeys @@ -0,0 +1 @@ +fix-keys \ No newline at end of file diff --git a/archiso/airootfs/usr/local/bin/get-chadwm b/archiso/airootfs/usr/local/bin/get-chadwm new file mode 100755 index 0000000..1d3563d --- /dev/null +++ b/archiso/airootfs/usr/local/bin/get-chadwm @@ -0,0 +1,160 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.alci.online +# Website : https://www.ariser.eu +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## +#tput setaf 0 = black +#tput setaf 1 = red +#tput setaf 2 = green +#tput setaf 3 = yellow +#tput setaf 4 = dark blue +#tput setaf 5 = purple +#tput setaf 6 = cyan +#tput setaf 7 = gray +#tput setaf 8 = light blue +################################################################################################################## + +installed_dir=$(dirname $(readlink -f $(basename `pwd`))) + +################################################################################################################## + +sudo pacman -Syyu +sudo pacman -S wget --noconfirm --needed +sudo pacman -S jq --noconfirm --needed +arco_repo_db=$(wget -qO- https://api.github.com/repos/arcolinux/arcolinux_repo/contents/x86_64) +echo "Getting the ArcoLinux keys from the ArcoLinux repo" + +sudo wget "$(echo "$arco_repo_db" | jq -r '[.[] | select(.name | contains("arcolinux-keyring")) | .name] | .[0] | sub("arcolinux-keyring-"; "https://github.com/arcolinux/arcolinux_repo/raw/main/x86_64/arcolinux-keyring-")')" -O /tmp/arcolinux-keyring-git-any.pkg.tar.zst +sudo pacman -U --noconfirm --needed /tmp/arcolinux-keyring-git-any.pkg.tar.zst + +###################################################################################################################### + +echo "Getting the latest arcolinux mirrors file" + +sudo wget "$(echo "$arco_repo_db" | jq -r '[.[] | select(.name | contains("arcolinux-mirrorlist-git-")) | .name] | .[0] | sub("arcolinux-mirrorlist-git-"; "https://github.com/arcolinux/arcolinux_repo/raw/main/x86_64/arcolinux-mirrorlist-git-")')" -O /tmp/arcolinux-mirrorlist-git-any.pkg.tar.zst +sudo pacman -U --noconfirm --needed /tmp/arcolinux-mirrorlist-git-any.pkg.tar.zst + +if grep -q arcolinux_repo /etc/pacman.conf; then + + echo + tput setaf 2 + echo "################################################################" + echo "################ ArcoLinux repos are already in /etc/pacman.conf " + echo "################################################################" + tput sgr0 + echo + +else + +echo ' + +#[arcolinux_repo_testing] +#SigLevel = PackageRequired DatabaseNever +#Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo] +SigLevel = PackageRequired DatabaseNever +Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo_3party] +SigLevel = PackageRequired DatabaseNever +Include = /etc/pacman.d/arcolinux-mirrorlist + +[arcolinux_repo_xlarge] +SigLevel = PackageRequired DatabaseNever +Include = /etc/pacman.d/arcolinux-mirrorlist' | sudo tee --append /etc/pacman.conf + +fi + + +sudo pacman -Sy + + + +func_install() { + if pacman -Qi $1 &> /dev/null; then + tput setaf 2 + echo "###############################################################################" + echo "################## The package "$1" is already installed" + echo "###############################################################################" + echo + tput sgr0 + else + tput setaf 3 + echo "###############################################################################" + echo "################## Installing package " $1 + echo "###############################################################################" + echo + tput sgr0 + sudo pacman -S --noconfirm --needed $1 + fi +} + +func_install_chadwm() { + + echo + tput setaf 2 + echo "################################################################" + echo "################### Install chadwm" + echo "################################################################" + tput sgr0 + echo + + list=( + alacritty + archlinux-logout-git + arconet-variety-config + arcolinux-chadwm-git + arcolinux-chadwm-pacman-hook-git + arcolinux-powermenu-git + dash + dmenu + eww + feh + lxappearance + picom + polkit-gnome + rofi-lbonn-wayland + scrot + sxhkd + thunar + thunar-archive-plugin + thunar-volman + ttf-hack + ttf-jetbrains-mono-nerd + ttf-meslo-nerd-font-powerlevel10k + volumeicon + xfce4-notifyd + xfce4-power-manager + xfce4-screenshooter + xfce4-settings + xfce4-taskmanager + xfce4-terminal + ) + + count=0 + + for name in "${list[@]}" ; do + count=$[count+1] + tput setaf 3;echo "Installing package nr. "$count " " $name;tput sgr0; + func_install $name + done +} + +func_install_chadwm + +cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) +cp -arf /etc/skel/. ~ diff --git a/archiso/airootfs/usr/local/bin/get-nemesis-on-alci b/archiso/airootfs/usr/local/bin/get-nemesis-on-alci new file mode 100755 index 0000000..5a69d41 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/get-nemesis-on-alci @@ -0,0 +1,51 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.alci.online +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## +#tput setaf 0 = black +#tput setaf 1 = red +#tput setaf 2 = green +#tput setaf 3 = yellow +#tput setaf 4 = dark blue +#tput setaf 5 = purple +#tput setaf 6 = cyan +#tput setaf 7 = gray +#tput setaf 8 = light blue +################################################################################################################## + +#iso=alci-iso + +echo +tput setaf 3 +echo "################################################################" +echo "################### Start clone arcolinux-nemesis" +echo "################################################################" +tput sgr0 +echo + +sudo pacman -Sy git --noconfirm --needed + +[ -d $HOME"/DATA" ] || mkdir -p $HOME"/DATA" +cd ~/DATA +git clone https://github.com/erikdubois/arcolinux-nemesis + +echo +tput setaf 3 +echo "################################################################" +echo "################### End clone arcolinux-nemesis" +echo "################################################################" +tput sgr0 +echo \ No newline at end of file diff --git a/archiso/airootfs/usr/local/bin/livecd-sound b/archiso/airootfs/usr/local/bin/livecd-sound new file mode 100755 index 0000000..b92fcf2 --- /dev/null +++ b/archiso/airootfs/usr/local/bin/livecd-sound @@ -0,0 +1,239 @@ +#!/usr/bin/env bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +usage() { + cat <<-_EOF_ + live cd sound helper script. + Usage: livecdsound [OPTION] + OPTIONS + -u, --unmute unmute all sound cards + -p, --pick select a card for speetch output + -h, --help Show this usage message + +_EOF_ +} + +bugout() { + printf "/usr/local/bin/livecdsound: programming error" + stat_fail +} + +echo_card_indices() { + if [[ -f /proc/asound/cards ]]; then + sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards + fi +} + +# The following functions try to set many controls. +# No card has all the controls and so some of the attempts are bound to fail. +# Because of this, the functions can't return useful status values. + +# $1 +# $2 +# $3 +unmute_and_set_level() { + [[ -n "$3" && -n "$2" && -n "$1" ]] || bugout + systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute + return 0 +} + +# $1 +# $2 +mute_and_zero_level() { + [[ -n "$1" && -n "$2" ]] || bugout + systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute + return 0 +} + +# $1 +# $2 +# $3 "on" | "off" +switch_control() { + [[ -n "$3" && -n "$1" ]] || bugout + systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3" + systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" + return 0 +} + +# $1 +sanify_levels_on_card() { + unmute_and_set_level "$1" "Front" "80%" + unmute_and_set_level "$1" "Master" "80%" + unmute_and_set_level "$1" "Master Mono" "80%" + unmute_and_set_level "$1" "Master Digital" "80%" # E.g., cs4237B + unmute_and_set_level "$1" "Playback" "80%" + unmute_and_set_level "$1" "Headphone" "100%" + unmute_and_set_level "$1" "PCM" "80%" + unmute_and_set_level "$1" "PCM,1" "80%" # E.g., ess1969 + unmute_and_set_level "$1" "DAC" "80%" # E.g., envy24, cs46xx + unmute_and_set_level "$1" "DAC,0" "80%" # E.g., envy24 + unmute_and_set_level "$1" "DAC,1" "80%" # E.g., envy24 + unmute_and_set_level "$1" "Synth" "80%" + unmute_and_set_level "$1" "CD" "80%" + unmute_and_set_level "$1" "PC Speaker" "100%" + + mute_and_zero_level "$1" "Mic" + mute_and_zero_level "$1" "IEC958" # Ubuntu #19648 + + # Intel P4P800-MX + switch_control "$1" "Master Playback Switch" on + switch_control "$1" "Master Surround" on + + # Trident/YMFPCI/emu10k1: + unmute_and_set_level "$1" "Wave" "80%" + unmute_and_set_level "$1" "Music" "80%" + unmute_and_set_level "$1" "AC97" "80%" + + # DRC: + unmute_and_set_level "$1" "Dynamic Range Compression" "80%" + + # Required for HDA Intel (hda-intel): + unmute_and_set_level "$1" "Front" "80%" + + # Required for SB Live 7.1/24-bit (ca0106): + unmute_and_set_level "$1" "Analog Front" "80%" + + # Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard + switch_control "$1" "IEC958 Capture Monitor" off + + # Required for hardware allowing toggles for AC97 through IEC958, + # valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. + unmute_and_set_level "$1" "IEC958 Playback AC97-SPSA" "0" + + # Required for newer Via hardware + unmute_and_set_level "$1" "VIA DXS,0" "80%" + unmute_and_set_level "$1" "VIA DXS,1" "80%" + unmute_and_set_level "$1" "VIA DXS,2" "80%" + unmute_and_set_level "$1" "VIA DXS,3" "80%" + + # Required on some notebooks with ICH4: + switch_control "$1" "Headphone Jack Sense" off + switch_control "$1" "Line Jack Sense" off + + # Some machines need one or more of these to be on; + # others need one or more of these to be off: + + switch_control "$1" "Audigy Analog/Digital Output Jack" on + switch_control "$1" "SB Live Analog/Digital Output Jack" on + + # D1984 -- Thinkpad T61/X61 + switch_control "$1" "Speaker" on + switch_control "$1" "Headphone" on + + # HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) + unmute_and_set_level "$1" "Digital" "80%" + + return 0 +} + +# $1 | "all" +sanify_levels() { + local ttsdml_returnstatus=0 + local card + case "$1" in + all) + for card in $(echo_card_indices); do + sanify_levels_on_card "$card" || ttsdml_returnstatus=1 + done + ;; + *) + sanify_levels_on_card "$1" || ttsdml_returnstatus=1 + ;; + esac + return "$ttsdml_returnstatus" +} + +# List all cards that *should* be usable for PCM audio. In my experience, +# the console speaker (handled by the pcsp driver) isn't a suitable playback +# device, so we'll exclude it. +list_non_pcsp_cards() { + for card in $(echo_card_indices); do + local cardfile="/proc/asound/card${card}/id" + if [[ -r "$cardfile" && -f "$cardfile" && "$(cat "$cardfile")" != pcsp ]]; then + echo "$card" + fi + done +} + +# Properly initialize the sound card so that we have audio at boot. +unmute_all_cards() { + sanify_levels all +} + +is_numeric() { + local str="$1" + [[ "$str" =~ ^[0-9]+$ ]] +} + +set_default_card() { + local card="$1" + sed -e "s/%card%/$card/g" /etc/asound.conf +} + +play_on_card() { + local card="$1" file="$2" + aplay -q "-Dplughw:$card,0" "$file" +} + +# If there are multiple usable sound cards, prompt the user to choose one, +# using auditory feedback. +pick_a_card() { + set -f + usable_cards="$(list_non_pcsp_cards)" + num_usable_cards="$(wc -w <<<"$usable_cards")" + + if (( num_usable_cards == 1 )); then + systemd-cat -t "livecdsound" printf "Only one sound card is detected\n" + exit 0 + fi + systemd-cat -t "livecdsound" printf "multiple sound cards detected\n" + for card in "${usable_cards[@]}"; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sounds/pick-a-card.wav & + done + wait + sleep 1 + for card in "${usable_cards[@]}"; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sounds/beep.wav + if read -r -t 10; then + systemd-cat -t "livecdsound" printf "Selecting %s sound card as default\n" "$card" + set_default_card "$card" + break + fi + done +} + +if (( $# == 0 )); then + echo "error: No argument passed." + exit 1 +fi +while [[ "${1}" != "" ]]; do + case ${1} in + -h|--help) + usage + exit + ;; + -u|--unmute) + systemd-cat -t "livecdsound" printf "Unmuting all cards" + unmute_all_cards + ;; + -p|--pick) + pick_a_card + ;; + *) + echo "error: Unsupported argument" + usage + exit 1 + ;; + esac + shift +done diff --git a/archiso/airootfs/usr/local/share/livecd-sound/asound.conf.in b/archiso/airootfs/usr/local/share/livecd-sound/asound.conf.in new file mode 100755 index 0000000..3f9c7aa --- /dev/null +++ b/archiso/airootfs/usr/local/share/livecd-sound/asound.conf.in @@ -0,0 +1,3 @@ +Defaults node +defaults.ctl.card %card%; +defaults.pcm.card %card%; diff --git a/archiso/airootfs/usr/share/applications/.gitkeep b/archiso/airootfs/usr/share/applications/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/archiso/airootfs/usr/share/dbus-1/services/.gitkeep b/archiso/airootfs/usr/share/dbus-1/services/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/archiso/bootstrap_packages.x86_64 b/archiso/bootstrap_packages.x86_64 new file mode 100755 index 0000000..64966d0 --- /dev/null +++ b/archiso/bootstrap_packages.x86_64 @@ -0,0 +1,2 @@ +arch-install-scripts +base diff --git a/archiso/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/archiso/efiboot/loader/entries/01-archiso-x86_64-linux.conf new file mode 100755 index 0000000..8f8fa5a --- /dev/null +++ b/archiso/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -0,0 +1,5 @@ +title BBTTMS Linux install medium (x86_64, UEFI) +sort-key 01 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% cow_spacesize=4G copytoram=n diff --git a/archiso/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf b/archiso/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf new file mode 100755 index 0000000..c42fab0 --- /dev/null +++ b/archiso/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf @@ -0,0 +1,7 @@ +title BBTTMS Linux install medium (x86_64, UEFI) with speech +sort-key 02 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on cow_spacesize=4G copytoram=n diff --git a/archiso/efiboot/loader/entries/03-archiso-x86_64-memtest86+.conf b/archiso/efiboot/loader/entries/03-archiso-x86_64-memtest86+.conf new file mode 100755 index 0000000..d0b305c --- /dev/null +++ b/archiso/efiboot/loader/entries/03-archiso-x86_64-memtest86+.conf @@ -0,0 +1,3 @@ +title Memtest86+ +sort-key 03 +efi /boot/memtest86+/memtest.efi diff --git a/archiso/efiboot/loader/loader.conf b/archiso/efiboot/loader/loader.conf new file mode 100755 index 0000000..2d137aa --- /dev/null +++ b/archiso/efiboot/loader/loader.conf @@ -0,0 +1,3 @@ +timeout 15 +default 01-archiso-x86_64-linux.conf +beep on diff --git a/archiso/grub/grub.cfg b/archiso/grub/grub.cfg new file mode 100755 index 0000000..799f9e9 --- /dev/null +++ b/archiso/grub/grub.cfg @@ -0,0 +1,107 @@ +# Load partition table and file system modules +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 +insmod ntfs +insmod ntfscomp +insmod exfat +insmod udf + +# Use graphics-mode output +if loadfont "${prefix}/fonts/unicode.pf2" ; then + insmod all_video + set gfxmode="auto" + terminal_input console + terminal_output console +fi + +# Enable serial console +insmod serial +insmod usbserial_common +insmod usbserial_ftdi +insmod usbserial_pl2303 +insmod usbserial_usbdebug +if serial --unit=0 --speed=115200; then + terminal_input --append serial + terminal_output --append serial +fi + +# Get a human readable platform identifier +if [ "${grub_platform}" == 'efi' ]; then + archiso_platform='UEFI' + if [ "${grub_cpu}" == 'x86_64' ]; then + archiso_platform="x64 ${archiso_platform}" + elif [ "${grub_cpu}" == 'i386' ]; then + archiso_platform="IA32 ${archiso_platform}" + else + archiso_platform="${grub_cpu} ${archiso_platform}" + fi +elif [ "${grub_platform}" == 'pc' ]; then + archiso_platform='BIOS' +else + archiso_platform="${grub_cpu} ${grub_platform}" +fi + +# Set default menu entry +default=alci +timeout=15 +timeout_style=menu + + +# Menu entries + +menuentry "BBTTMS Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% cow_spacesize=4G copytoram=n + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +} + +menuentry "BBTTMS Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on cow_spacesize=4G copytoram=n + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +} + + +if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest.efi + } +fi +if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest + } +fi +if [ "${grub_platform}" == 'efi' ]; then + if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellia32.efi + } + fi + + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } +fi + +menuentry 'System shutdown' --class shutdown --class poweroff { + echo 'System shutting down...' + halt +} + +menuentry 'System restart' --class reboot --class restart { + echo 'System rebooting...' + reboot +} + + +# GRUB init tune for accessibility +play 600 988 1 1319 4 diff --git a/archiso/grub/loopback.cfg b/archiso/grub/loopback.cfg new file mode 100755 index 0000000..fc84cd3 --- /dev/null +++ b/archiso/grub/loopback.cfg @@ -0,0 +1,80 @@ +# https://www.supergrubdisk.org/wiki/Loopback.cfg + +# Search for the ISO volume +search --no-floppy --set=archiso_img_dev --file "${iso_path}" +probe --set archiso_img_dev_uuid --fs-uuid "${archiso_img_dev}" + +# Get a human readable platform identifier +if [ "${grub_platform}" == 'efi' ]; then + archiso_platform='UEFI' + if [ "${grub_cpu}" == 'x86_64' ]; then + archiso_platform="x64 ${archiso_platform}" + elif [ "${grub_cpu}" == 'i386' ]; then + archiso_platform="IA32 ${archiso_platform}" + else + archiso_platform="${grub_cpu} ${archiso_platform}" + fi +elif [ "${grub_platform}" == 'pc' ]; then + archiso_platform='BIOS' +else + archiso_platform="${grub_cpu} ${grub_platform}" +fi + +# Set default menu entry +default=archlinux +timeout=15 +timeout_style=menu + + +# Menu entries + +menuentry "BBTTMS Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +} + +menuentry "BBTTMS Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" accessibility=on + initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img +} + + +if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest.efi + } +fi +if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then + menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest + } +fi +if [ "${grub_platform}" == 'efi' ]; then + if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then + menuentry 'UEFI Shell' --class efi { + chainloader /shellia32.efi + } + fi + + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } +fi + +menuentry 'System shutdown' --class shutdown --class poweroff { + echo 'System shutting down...' + halt +} + +menuentry 'System restart' --class reboot --class restart { + echo 'System rebooting...' + reboot +} diff --git a/archiso/packages.x86_64 b/archiso/packages.x86_64 new file mode 100755 index 0000000..ddccaab --- /dev/null +++ b/archiso/packages.x86_64 @@ -0,0 +1,288 @@ +alsa-utils +amd-ucode +arch-install-scripts +archinstall +b43-fwcutter +base +bcachefs-tools +bind +bolt +brltty +broadcom-wl +btrfs-progs +clonezilla +cloud-init +cryptsetup +darkhttpd +ddrescue +dhclient +dhcpcd +diffutils +dmidecode +dmraid +dnsmasq +dosfstools +e2fsprogs +edk2-shell +efibootmgr +espeakup +ethtool +exfatprogs +f2fs-tools +fatresize +foot-terminfo +fsarchiver +gpart +gpm +gptfdisk +grml-zsh-config +grub +hdparm +hyperv +intel-ucode +irssi +iw +iwd +jfsutils +kitty-terminfo +ldns +less +lftp +libfido2 +libusb-compat +linux +linux-atm +linux-firmware +linux-firmware-marvell +livecd-sounds +lsscsi +lvm2 +lynx +man-db +man-pages +mc +mdadm +memtest86+ +memtest86+-efi +mkinitcpio +mkinitcpio-archiso +mkinitcpio-nfs-utils +modemmanager +mtools +nano +nbd +ndisc6 +nfs-utils +nilfs-utils +nmap +ntfs-3g +nvme-cli +open-iscsi +open-vm-tools +openconnect +openpgp-card-tools +openssh +openvpn +partclone +parted +partimage +pcsclite +ppp +pptpclient +pv +qemu-guest-agent +refind +reflector +rp-pppoe +rsync +rxvt-unicode-terminfo +screen +sdparm +sequoia-sq +sg3_utils +smartmontools +sof-firmware +squashfs-tools +sudo +syslinux +systemd-resolvconf +tcpdump +terminus-font +testdisk +tmux +tpm2-tools +tpm2-tss +udftools +usb_modeswitch +usbmuxd +usbutils +vim +virtualbox-guest-utils +vpnc +wireless-regdb +wireless_tools +wpa_supplicant +wvdial +xfsprogs +xl2tpd +zsh + + +# everything above comes from archiso releng folder +####################################################### +### ALCI ### +####################################################### + +####################################################### +### PACKAGES THAT ARE REMOVED AFTER INSTALLATION ### +### VIA CALAMARES CONFIG ### +####################################################### + +#alci-dwm +#alci-dwm-nemesis +calamares +kcrash +bbt-calamares-config +xterm + +####################################################### +### PACKAGES THAT STAY AFTER INSTALLATION ### +####################################################### + +sddm +bash-completion +os-prober +dex +libxinerama +make +xorg-xkill +xterm +xorg-xrdb +mkinitcpio-openswap + +##### you can also use nmtui from the terminal +networkmanager +network-manager-applet + +####################################################### +### EXTRAS ### +####################################################### + +##### xorg applications + +xorg-server +xorg-apps +neofetch + + +##### Drivers for graphical cards + +#driver for virtualbox - xf86-video-vmware is dependency +#systemctl enable vboxservice +#systemctl start vboxservice +#to have fullscreen +#virtualbox-guest-utils + +mesa +lib32-mesa +vulkan-intel +lib32-vulkan-intel +#xf86-video-intel +#xf86-video-amdgpu +#xf86-video-nouveau + +#nvidia +#nvidia-settings +#nvidia-utils + +##### want to have a desktop + +#test +xfce4 +mousepad +ristretto +thunar-archive-plugin +thunar-media-tags-plugin +xfce4-artwork +xfce4-battery-plugin +xfce4-clipman-plugin +xfce4-netload-plugin +xfce4-places-plugin +xfce4-screensaver +xfce4-screenshooter +#xfce4-taskmanager +xfce4-time-out-plugin +xfce4-timer-plugin +xfce4-verve-plugin +xfce4-wavelan-plugin +xfce4-whiskermenu-plugin +xfce4-xkb-plugin +xfce4-pulseaudio-plugin + +git + +#grub theme +tms-grub-theme-git + +#浏览器 +firefox +google-chrome + +#字体 +noto-fonts-cjk +noto-fonts-emoji +wqy-zenhei +adobe-source-han-sans-cn-fonts + +#输入法 +fcitx5 +fcitx5-configtool +fcitx5-chinese-addons + +#存储磁盘工具 +gparted +ntfs-3g +exfatprogs +xfsprogs +xfsdump + +#远程工具 +sunloginclient +teamviewer +todesk-bin +remmina +libvncserver +freerdp + +wget +numactl +ncurses5-compat-libs +websockify +x11vnc + +fmt +gvfs +libxml2-legacy +ttf-liberation + +#音频 +alsa-utils +alsa-firmware +alsa-plugins +pipewire +pipewire-pulse +wireplumber +pipewire-alsa +pipewire-jack +pavucontrol + +#服务器工具 +htop +sysstat +unhide +gnome-disk-utility +gnome-system-monitor +iftop +nmap +zip +unzip diff --git a/archiso/pacman.conf b/archiso/pacman.conf new file mode 100755 index 0000000..23b248f --- /dev/null +++ b/archiso/pacman.conf @@ -0,0 +1,152 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 8 +#DownloadUser = alpm +#DisableSandbox + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#you can create packages and put them on your local repo +#the folder should be on your homedirectory with the name alci_local_repo +#see uploaded example -there is a copy of the local repo in your folder +#Copy/paste it to your homefolder +#update the packages database +#Change the name erik to your own username + +#Your local repository +#[alci_local_repo] +#SigLevel = Optional TrustedOnly +#Server = file:///home/erik/$repo/$arch + +#repository from ALCI +#[alci_repo] +#SigLevel = Optional TrustedOnly +#Server = http://yuyujing.cn/data/sh/alci_repo/alci_repo-master/x86_64 + +#repositories from ArcoLinux +#[arcolinux_repo_testing] +#SigLevel = Optional TrustedOnly +#Include = /etc/pacman.d/arcolinux-mirrorlist + +#[arcolinux_repo] +#SigLevel = Optional TrustedOnly +#Include = /etc/pacman.d/arcolinux-mirrorlist + +#[arcolinux_repo_3party] +#SigLevel = Optional TrustedOnly +#Include = /etc/pacman.d/arcolinux-mirrorlist + +#[arcolinux_repo_xlarge] +#SigLevel = Optional TrustedOnly +#Include = /etc/pacman.d/arcolinux-mirrorlist + +#[core-testing] +#Include = /etc/pacman.d/mirrorlist + +[custom] +SigLevel = Optional TrustAll +#Server = http://yuyujing.cn/data/sh/custompkgs/x86_64/ +#Server = http://192.168.10.207:3000/zj/custompkgs/raw/x86_64/ +Server = http://git.yuyujing.cn/zj/custompkgs/raw/x86_64/ + +[core] +Include = /etc/pacman.d/mirrorlist + + +#[extra-testing] +#Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + + +#more repositories here : +#https://wiki.archlinux.org/index.php/unofficial_user_repositories + +#remember to add chaotic-mirrorlist and chaotic-keyring to the packages.x86_64 +#[chaotic-aur] +#Include = /etc/pacman.d/chaotic-mirrorlist + +[archlinuxcn] +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch diff --git a/archiso/profiledef.sh b/archiso/profiledef.sh new file mode 100755 index 0000000..6bfce0d --- /dev/null +++ b/archiso/profiledef.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2034 + +iso_name="BBTTMS" +iso_label="BBTTMS_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)" +iso_publisher="BBTTMS " +iso_application="BBTTMS Arch Linux Live/Rescue/Install mini DVD" +iso_version="MINI_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" +install_dir="BBTTMS" +buildmodes=('iso') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' + 'uefi-ia32.systemd-boot.esp' 'uefi-x64.systemd-boot.esp' + 'uefi-ia32.systemd-boot.eltorito' 'uefi-x64.systemd-boot.eltorito') +arch="x86_64" +pacman_conf="pacman.conf" +airootfs_image_type="squashfs" +airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M') +bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19') +file_permissions=( + ["/etc/shadow"]="0:0:400" + ["/root"]="0:0:750" + ["/root/.automated_script.sh"]="0:0:755" + ["/root/.gnupg"]="0:0:700" + ["/usr/local/bin/choose-mirror"]="0:0:755" + ["/usr/local/bin/Installation_guide"]="0:0:755" + ["/usr/local/bin/livecd-sound"]="0:0:755" + ["/etc/polkit-1/rules.d"]="0:0:750" + ["/etc/sudoers.d"]="0:0:750" + ["/usr/local/bin/alci-make-a-pure-arch"]="0:0:755" + ["/usr/local/bin/alci-displaymanager-check"]="0:0:755" + ["/usr/local/bin/alci-virtual-machine-check"]="0:0:755" + ["/usr/local/bin/get-nemesis-on-alci"]="0:0:755" + ["/usr/local/bin/fix-keys"]="0:0:755" + ["/usr/local/bin/get-chadwm"]="0:0:755" + ["/etc/teamviewer"]="0:0:755" + ["/etc/teamviewer/global.conf"]="0:0:600" + ["/usr/share/dbus-1/services"]="0:0:755" + ["/etc/redhat-release"]="0:0:644" +) diff --git a/archiso/syslinux/archiso_head.cfg b/archiso/syslinux/archiso_head.cfg new file mode 100755 index 0000000..671ab4e --- /dev/null +++ b/archiso/syslinux/archiso_head.cfg @@ -0,0 +1,28 @@ +SERIAL 0 115200 +UI vesamenu.c32 +MENU TITLE Arch Linux +MENU BACKGROUND splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32 + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std + +MENU CLEAR +MENU IMMEDIATE diff --git a/archiso/syslinux/archiso_pxe-linux.cfg b/archiso/syslinux/archiso_pxe-linux.cfg new file mode 100755 index 0000000..5d0f741 --- /dev/null +++ b/archiso/syslinux/archiso_pxe-linux.cfg @@ -0,0 +1,32 @@ +LABEL arch64_nbd +TEXT HELP +Boot the Arch Linux install medium using NBD. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (x86_64, NBD) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y +SYSAPPEND 3 + +LABEL arch64_nfs +TEXT HELP +Boot the Arch Linux live medium using NFS. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (x86_64, NFS) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y +SYSAPPEND 3 + +LABEL arch64_http +TEXT HELP +Boot the Arch Linux live medium using HTTP. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (x86_64, HTTP) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD ::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y +SYSAPPEND 3 diff --git a/archiso/syslinux/archiso_pxe.cfg b/archiso/syslinux/archiso_pxe.cfg new file mode 100755 index 0000000..b4c9a80 --- /dev/null +++ b/archiso/syslinux/archiso_pxe.cfg @@ -0,0 +1,5 @@ +INCLUDE archiso_head.cfg + +INCLUDE archiso_pxe-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/archiso/syslinux/archiso_sys-linux.cfg b/archiso/syslinux/archiso_sys-linux.cfg new file mode 100755 index 0000000..7d3458e --- /dev/null +++ b/archiso/syslinux/archiso_sys-linux.cfg @@ -0,0 +1,20 @@ +LABEL arch64 +TEXT HELP +Boot the Arch Linux install medium on BIOS. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Arch Linux install medium (x86_64, BIOS) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% cow_spacesize=4G copytoram=n + +# Accessibility boot option +LABEL arch64speech +TEXT HELP +Boot the Arch Linux install medium on BIOS with speakup screen reader. +It allows you to install Arch Linux or perform system maintenance with speech feedback. +ENDTEXT +MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on cow_spacesize=4G copytoram=n diff --git a/archiso/syslinux/archiso_sys.cfg b/archiso/syslinux/archiso_sys.cfg new file mode 100755 index 0000000..d93bcfe --- /dev/null +++ b/archiso/syslinux/archiso_sys.cfg @@ -0,0 +1,8 @@ +INCLUDE archiso_head.cfg + +DEFAULT arch64 +TIMEOUT 150 + +INCLUDE archiso_sys-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/archiso/syslinux/archiso_tail.cfg b/archiso/syslinux/archiso_tail.cfg new file mode 100755 index 0000000..e84897c --- /dev/null +++ b/archiso/syslinux/archiso_tail.cfg @@ -0,0 +1,35 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 chain.c32 +APPEND hd0 0 + +# https://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX /boot/memtest86+/memtest + +# https://wiki.syslinux.org/wiki/index.php/Hdt_(Hardware_Detection_Tool) +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 hdt.c32 +APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz + +LABEL reboot +TEXT HELP +Reboot computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Reboot +COM32 reboot.c32 + +LABEL poweroff +TEXT HELP +Power off computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Power Off +COM32 poweroff.c32 diff --git a/archiso/syslinux/splash.png b/archiso/syslinux/splash.png new file mode 100755 index 0000000..64b959a Binary files /dev/null and b/archiso/syslinux/splash.png differ diff --git a/archiso/syslinux/syslinux.cfg b/archiso/syslinux/syslinux.cfg new file mode 100755 index 0000000..cbda72f --- /dev/null +++ b/archiso/syslinux/syslinux.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG archiso_pxe.cfg + +LABEL sys +CONFIG archiso_sys.cfg diff --git a/installation-scripts/30-build-the-iso-the-first-time.sh b/installation-scripts/30-build-the-iso-the-first-time.sh new file mode 100755 index 0000000..c2f8556 --- /dev/null +++ b/installation-scripts/30-build-the-iso-the-first-time.sh @@ -0,0 +1,313 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.online +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +# Website : https://www.alci.online +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## + +if lsblk -f | grep btrfs > /dev/null 2>&1 ; then + echo + echo "################################################################## " + tput setaf 3 + echo "Message" + echo "This script has been known to cause issues on a Btrfs filesystem" + echo "Make backups before continuing" + echo "Continu at your own risk" + tput sgr0 + echo + read -p "Press Enter to continue... CTRL + C to stop" +fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 1 : " +echo "- Setting General parameters" +tput sgr0 +echo "################################################################## " +echo + + # setting of the general parameters + archisoRequiredVersion="archiso 83-1" + buildFolder=$HOME"/bbttms-build" + outFolder=$HOME"/Bbttms-Iso-Out" + archisoVersion=$(sudo pacman -Q archiso) + + echo "################################################################## " + #echo "Building the desktop : "$desktop + #echo "Building version : "$arcolinuxVersion + #echo "Iso label : "$isoLabel + echo "Do you have the right archiso version? : "$archisoVersion + echo "What is the required archiso version? : "$archisoRequiredVersion + echo "Build folder : "$buildFolder + echo "Out folder : "$outFolder + echo "################################################################## " + + if [ "$archisoVersion" == "$archisoRequiredVersion" ]; then + tput setaf 2 + echo "##################################################################" + echo "Archiso has the correct version. Continuing ..." + echo "##################################################################" + tput sgr0 + else + tput setaf 1 + echo "###################################################################################################" + echo "You need to install the correct version of Archiso" + echo "Use 'sudo downgrade archiso' to do that" + echo "or update your system" + echo "If a new archiso package comes in and you want to test if you can still build" + echo "the iso then change the version in line 37." + echo "###################################################################################################" + tput sgr0 + fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 2 :" +echo "- Checking if archiso is installed" +echo "- Saving current archiso version to archiso.md" +echo "- Making mkarchiso verbose" +tput sgr0 +echo "################################################################## " +echo + + package="archiso" + + #---------------------------------------------------------------------------------- + + #checking if application is already installed or else install with aur helpers + if pacman -Qi $package &> /dev/null; then + + echo "Archiso is already installed" + + else + + #checking which helper is installed + if pacman -Qi yay &> /dev/null; then + + echo "################################################################" + echo "######### Installing with yay" + echo "################################################################" + yay -S --noconfirm $package + + elif pacman -Qi trizen &> /dev/null; then + + echo "################################################################" + echo "######### Installing with trizen" + echo "################################################################" + trizen -S --noconfirm --needed --noedit $package + + fi + + # Just checking if installation was successful + if pacman -Qi $package &> /dev/null; then + + echo "################################################################" + echo "######### "$package" has been installed" + echo "################################################################" + + else + + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!! "$package" has NOT been installed" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 1 + fi + + fi + + echo + echo "Saving current archiso version to archiso.md" + sudo sed -i "s/\(^archiso-version=\).*/\1$archisoVersion/" ../archiso.md + echo + echo "Making mkarchiso verbose" + sudo sed -i 's/quiet="y"/quiet="n"/g' /usr/bin/mkarchiso + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 3 :" +echo "- Deleting the build folder if one exists" +echo "- Copying the Archiso folder to build folder" +tput sgr0 +echo "################################################################## " +echo + + echo "Deleting the build folder if one exists - takes some time" + [ -d $buildFolder ] && sudo rm -rf $buildFolder + echo + echo "Copying the Archiso folder to build work" + echo + mkdir $buildFolder + cp -r ../archiso $buildFolder/archiso + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 4 :" +# echo "- Deleting any files in /etc/skel" +# echo "- Getting the last version of bashrc in /etc/skel" +# echo "- Removing the old packages.x86_64 file from build folder" +# echo "- Copying the new packages.x86_64 file to the build folder" +# echo "- Changing group for polkit folder" +# tput sgr0 +# echo "################################################################## " +# echo + +# echo "Deleting any files in /etc/skel" +# rm -rf $buildFolder/archiso/airootfs/etc/skel/.* 2> /dev/null +# echo + +# echo "Getting the last version of bashrc in /etc/skel" +# echo +# wget https://raw.githubusercontent.com/arcolinux/arcolinux-root/master/etc/skel/.bashrc-latest -O $buildFolder/archiso/airootfs/etc/skel/.bashrc + +# echo "Removing the old packages.x86_64 file from build folder" +# rm $buildFolder/archiso/packages.x86_64 +# echo +# echo "Copying the new packages.x86_64 file to the build folder" +# cp -f ../archiso/packages.x86_64 $buildFolder/archiso/packages.x86_64 +# echo +# echo "Changing group for polkit folder" +# sudo chgrp polkitd $buildFolder/archiso/airootfs/etc/polkit-1/rules.d +# #is not working so fixing this during calamares installation + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 5 : " +# echo "- Changing all references" +# echo "- Adding time to /etc/dev-rel" +# tput sgr0 +# echo "################################################################## " +# echo +# +# #Setting variables +# +# #profiledef.sh +# oldname1='iso_name=arcolinux' +# newname1='iso_name=arcolinux' +# +# oldname2='iso_label="arcolinux' +# newname2='iso_label="arcolinux' +# +# oldname3='ArcoLinux' +# newname3='ArcoLinux' +# +# #hostname +# oldname4='ArcoLinux' +# newname4='ArcoLinux' +# +# #lightdm.conf user-session +# oldname5='user-session=xfce' +# newname5='user-session='$lightdmDesktop +# +# #lightdm.conf autologin-session +# oldname6='#autologin-session=' +# newname6='autologin-session='$lightdmDesktop +# +# echo "Changing all references" +# echo +# sed -i 's/'$oldname1'/'$newname1'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname2'/'$newname2'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname3'/'$newname3'/g' $buildFolder/archiso/airootfs/etc/dev-rel +# sed -i 's/'$oldname4'/'$newname4'/g' $buildFolder/archiso/airootfs/etc/hostname +# sed -i 's/'$oldname5'/'$newname5'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# sed -i 's/'$oldname6'/'$newname6'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# +# echo "Adding time to /etc/dev-rel" +# date_build=$(date -d now) +# echo "Iso build on : "$date_build +# sudo sed -i "s/\(^ISO_BUILD=\).*/\1$date_build/" $buildFolder/archiso/airootfs/etc/dev-rel + + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 6 :" +echo "- Cleaning the cache from /var/cache/pacman/pkg/" +tput sgr0 +echo "################################################################## " +echo + + echo "Cleaning the cache from /var/cache/pacman/pkg/" + yes | sudo pacman -Scc + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 7 :" +echo "- Building the iso - this can take a while - be patient" +tput sgr0 +echo "################################################################## " +echo + + [ -d $outFolder ] || mkdir $outFolder + cd $buildFolder/archiso/ + sudo mkarchiso -v -w $buildFolder -o $outFolder $buildFolder/archiso/ + + + +# echo +# echo "###################################################################" +# tput setaf 2 +# echo "Phase 8 :" +# echo "- Creating checksums" +# echo "- Copying pgklist" +# tput sgr0 +# echo "###################################################################" +# echo +# +# cd $outFolder +# +# echo "Creating checksums for : "$isoLabel +# echo "##################################################################" +# echo +# echo "Building sha1sum" +# echo "########################" +# sha1sum $isoLabel | tee $isoLabel.sha1 +# echo "Building sha256sum" +# echo "########################" +# sha256sum $isoLabel | tee $isoLabel.sha256 +# echo "Building md5sum" +# echo "########################" +# md5sum $isoLabel | tee $isoLabel.md5 +# echo + echo "Moving pkglist.x86_64.txt" + echo "########################" + rename=$(date +%Y-%m-%d) + cp $buildFolder/iso/arch/pkglist.x86_64.txt $outFolder/archlinux-$rename-pkglist.txt + + +echo +echo "##################################################################" +tput setaf 2 +echo "Phase 9 :" +echo "- Making sure we start with a clean slate next time" +tput sgr0 +echo "################################################################## " +echo + + #echo "Deleting the build folder if one exists - takes some time" + #[ -d $buildFolder ] && sudo rm -rf $buildFolder + +echo +echo "##################################################################" +tput setaf 2 +echo "DONE" +echo "- Check your out folder :"$outFolder +tput sgr0 +echo "################################################################## " +echo diff --git a/installation-scripts/40-build-the-iso-local-again.sh b/installation-scripts/40-build-the-iso-local-again.sh new file mode 100755 index 0000000..c19fa72 --- /dev/null +++ b/installation-scripts/40-build-the-iso-local-again.sh @@ -0,0 +1,313 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.online +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +# Website : https://www.alci.online +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## + +if lsblk -f | grep btrfs > /dev/null 2>&1 ; then + echo + echo "################################################################## " + tput setaf 3 + echo "Message" + echo "This script has been known to cause issues on a Btrfs filesystem" + echo "Make backups before continuing" + echo "Continu at your own risk" + tput sgr0 + echo + read -p "Press Enter to continue... CTRL + C to stop" +fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 1 : " +echo "- Setting General parameters" +tput sgr0 +echo "################################################################## " +echo + + # setting of the general parameters + archisoRequiredVersion="archiso 83-1" + buildFolder=$HOME"/bbttms-build" + outFolder=$HOME"/Bbttms-Iso-Out" + archisoVersion=$(sudo pacman -Q archiso) + + echo "################################################################## " + #echo "Building the desktop : "$desktop + #echo "Building version : "$arcolinuxVersion + #echo "Iso label : "$isoLabel + echo "Do you have the right archiso version? : "$archisoVersion + echo "What is the required archiso version? : "$archisoRequiredVersion + echo "Build folder : "$buildFolder + echo "Out folder : "$outFolder + echo "################################################################## " + + if [ "$archisoVersion" == "$archisoRequiredVersion" ]; then + tput setaf 2 + echo "##################################################################" + echo "Archiso has the correct version. Continuing ..." + echo "##################################################################" + tput sgr0 + else + tput setaf 1 + echo "###################################################################################################" + echo "You need to install the correct version of Archiso" + echo "Use 'sudo downgrade archiso' to do that" + echo "or update your system" + echo "If a new archiso package comes in and you want to test if you can still build" + echo "the iso then change the version in line 37." + echo "###################################################################################################" + tput sgr0 + fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 2 :" +echo "- Checking if archiso is installed" +echo "- Saving current archiso version to archiso.md" +echo "- Making mkarchiso verbose" +tput sgr0 +echo "################################################################## " +echo + + package="archiso" + + #---------------------------------------------------------------------------------- + + #checking if application is already installed or else install with aur helpers + if pacman -Qi $package &> /dev/null; then + + echo "Archiso is already installed" + + else + + #checking which helper is installed + if pacman -Qi yay &> /dev/null; then + + echo "################################################################" + echo "######### Installing with yay" + echo "################################################################" + yay -S --noconfirm $package + + elif pacman -Qi trizen &> /dev/null; then + + echo "################################################################" + echo "######### Installing with trizen" + echo "################################################################" + trizen -S --noconfirm --needed --noedit $package + + fi + + # Just checking if installation was successful + if pacman -Qi $package &> /dev/null; then + + echo "################################################################" + echo "######### "$package" has been installed" + echo "################################################################" + + else + + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!! "$package" has NOT been installed" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 1 + fi + + fi + + echo + echo "Saving current archiso version to archiso.md" + sudo sed -i "s/\(^archiso-version=\).*/\1$archisoVersion/" ../archiso.md + echo + echo "Making mkarchiso verbose" + sudo sed -i 's/quiet="y"/quiet="n"/g' /usr/bin/mkarchiso + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 3 :" +echo "- Deleting the build folder if one exists" +echo "- Copying the Archiso folder to build folder" +tput sgr0 +echo "################################################################## " +echo + + echo "Deleting the build folder if one exists - takes some time" + [ -d $buildFolder ] && sudo rm -rf $buildFolder + echo + echo "Copying the Archiso folder to build work" + echo + mkdir $buildFolder + cp -r ../archiso $buildFolder/archiso + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 4 :" +# echo "- Deleting any files in /etc/skel" +# echo "- Getting the last version of bashrc in /etc/skel" +# echo "- Removing the old packages.x86_64 file from build folder" +# echo "- Copying the new packages.x86_64 file to the build folder" +# echo "- Changing group for polkit folder" +# tput sgr0 +# echo "################################################################## " +# echo + +# echo "Deleting any files in /etc/skel" +# rm -rf $buildFolder/archiso/airootfs/etc/skel/.* 2> /dev/null +# echo + +# echo "Getting the last version of bashrc in /etc/skel" +# echo +# wget https://raw.githubusercontent.com/arcolinux/arcolinux-root/master/etc/skel/.bashrc-latest -O $buildFolder/archiso/airootfs/etc/skel/.bashrc + +# echo "Removing the old packages.x86_64 file from build folder" +# rm $buildFolder/archiso/packages.x86_64 +# echo +# echo "Copying the new packages.x86_64 file to the build folder" +# cp -f ../archiso/packages.x86_64 $buildFolder/archiso/packages.x86_64 +# echo +# echo "Changing group for polkit folder" +# sudo chgrp polkitd $buildFolder/archiso/airootfs/etc/polkit-1/rules.d +# #is not working so fixing this during calamares installation + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 5 : " +# echo "- Changing all references" +# echo "- Adding time to /etc/dev-rel" +# tput sgr0 +# echo "################################################################## " +# echo +# +# #Setting variables +# +# #profiledef.sh +# oldname1='iso_name=arcolinux' +# newname1='iso_name=arcolinux' +# +# oldname2='iso_label="arcolinux' +# newname2='iso_label="arcolinux' +# +# oldname3='ArcoLinux' +# newname3='ArcoLinux' +# +# #hostname +# oldname4='ArcoLinux' +# newname4='ArcoLinux' +# +# #lightdm.conf user-session +# oldname5='user-session=xfce' +# newname5='user-session='$lightdmDesktop +# +# #lightdm.conf autologin-session +# oldname6='#autologin-session=' +# newname6='autologin-session='$lightdmDesktop +# +# echo "Changing all references" +# echo +# sed -i 's/'$oldname1'/'$newname1'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname2'/'$newname2'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname3'/'$newname3'/g' $buildFolder/archiso/airootfs/etc/dev-rel +# sed -i 's/'$oldname4'/'$newname4'/g' $buildFolder/archiso/airootfs/etc/hostname +# sed -i 's/'$oldname5'/'$newname5'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# sed -i 's/'$oldname6'/'$newname6'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# +# echo "Adding time to /etc/dev-rel" +# date_build=$(date -d now) +# echo "Iso build on : "$date_build +# sudo sed -i "s/\(^ISO_BUILD=\).*/\1$date_build/" $buildFolder/archiso/airootfs/etc/dev-rel + + +#echo +#echo "################################################################## " +#tput setaf 2 +#echo "Phase 6 :" +#echo "- Cleaning the cache from /var/cache/pacman/pkg/" +#tput sgr0 +#echo "################################################################## " +#echo + + #echo "Cleaning the cache from /var/cache/pacman/pkg/" + #yes | sudo pacman -Scc + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 7 :" +echo "- Building the iso - this can take a while - be patient" +tput sgr0 +echo "################################################################## " +echo + + [ -d $outFolder ] || mkdir $outFolder + cd $buildFolder/archiso/ + sudo mkarchiso -v -w $buildFolder -o $outFolder $buildFolder/archiso/ + + + +# echo +# echo "###################################################################" +# tput setaf 2 +# echo "Phase 8 :" +# echo "- Creating checksums" +# echo "- Copying pgklist" +# tput sgr0 +# echo "###################################################################" +# echo +# +# cd $outFolder +# +# echo "Creating checksums for : "$isoLabel +# echo "##################################################################" +# echo +# echo "Building sha1sum" +# echo "########################" +# sha1sum $isoLabel | tee $isoLabel.sha1 +# echo "Building sha256sum" +# echo "########################" +# sha256sum $isoLabel | tee $isoLabel.sha256 +# echo "Building md5sum" +# echo "########################" +# md5sum $isoLabel | tee $isoLabel.md5 +# echo + echo "Moving pkglist.x86_64.txt" + echo "########################" + rename=$(date +%Y-%m-%d) + cp $buildFolder/iso/BBTTMS/pkglist.x86_64.txt $outFolder/BBTTMS-$rename-pkglist.txt + + +#echo +#echo "##################################################################" +#tput setaf 2 +#echo "Phase 9 :" +#echo "- Making sure we start with a clean slate next time" +#tput sgr0 +#echo "################################################################## " +#echo + + #echo "Deleting the build folder if one exists - takes some time" + #[ -d $buildFolder ] && sudo rm -rf $buildFolder + +echo +echo "##################################################################" +tput setaf 2 +echo "DONE" +echo "- Check your out folder :"$outFolder +tput sgr0 +echo "################################################################## " +echo diff --git a/installation-scripts/tms-40-build-the-iso-local-again.sh b/installation-scripts/tms-40-build-the-iso-local-again.sh new file mode 100755 index 0000000..abacdf2 --- /dev/null +++ b/installation-scripts/tms-40-build-the-iso-local-again.sh @@ -0,0 +1,326 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.online +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +# Website : https://www.alci.online +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## + +# 获取脚本所在的目录 +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +# 假设 archiso.md 和 archiso 目录在脚本目录的上一级 +PROJECT_ROOT="$( dirname "$SCRIPT_DIR" )" + +# 导出这些变量,以便脚本后续使用 +export SCRIPT_DIR +export PROJECT_ROOT + + +if lsblk -f | grep btrfs > /dev/null 2>&1 ; then + echo + echo "################################################################## " + tput setaf 3 + echo "Message" + echo "This script has been known to cause issues on a Btrfs filesystem" + echo "Make backups before continuing" + echo "Continu at your own risk" + tput sgr0 + echo + read -p "Press Enter to continue... CTRL + C to stop" +fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 1 : " +echo "- Setting General parameters" +tput sgr0 +echo "################################################################## " +echo + + # setting of the general parameters + archisoRequiredVersion="archiso 83-1" + buildFolder=$HOME"/bbttms-build" +# outFolder=$HOME"/Bbttms-Iso-Out" + outFolder="/media/cinema/Bbttms-Iso-Out" + archisoVersion=$(sudo pacman -Q archiso) + + echo "################################################################## " + #echo "Building the desktop : "$desktop + #echo "Building version : "$arcolinuxVersion + #echo "Iso label : "$isoLabel + echo "Do you have the right archiso version? : "$archisoVersion + echo "What is the required archiso version? : "$archisoRequiredVersion + echo "Build folder : "$buildFolder + echo "Out folder : "$outFolder + echo "################################################################## " + + if [ "$archisoVersion" == "$archisoRequiredVersion" ]; then + tput setaf 2 + echo "##################################################################" + echo "Archiso has the correct version. Continuing ..." + echo "##################################################################" + tput sgr0 + else + tput setaf 1 + echo "###################################################################################################" + echo "You need to install the correct version of Archiso" + echo "Use 'sudo downgrade archiso' to do that" + echo "or update your system" + echo "If a new archiso package comes in and you want to test if you can still build" + echo "the iso then change the version in line 37." + echo "###################################################################################################" + tput sgr0 + fi + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 2 :" +echo "- Checking if archiso is installed" +echo "- Saving current archiso version to archiso.md" +echo "- Making mkarchiso verbose" +tput sgr0 +echo "################################################################## " +echo + + package="archiso" + + #---------------------------------------------------------------------------------- + + #checking if application is already installed or else install with aur helpers + if pacman -Qi $package &> /dev/null; then + + echo "Archiso is already installed" + + else + + #checking which helper is installed + if pacman -Qi yay &> /dev/null; then + + echo "################################################################" + echo "######### Installing with yay" + echo "################################################################" + yay -S --noconfirm $package + + elif pacman -Qi trizen &> /dev/null; then + + echo "################################################################" + echo "######### Installing with trizen" + echo "################################################################" + trizen -S --noconfirm --needed --noedit $package + + fi + + # Just checking if installation was successful + if pacman -Qi $package &> /dev/null; then + + echo "################################################################" + echo "######### "$package" has been installed" + echo "################################################################" + + else + + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "!!!!!!!!! "$package" has NOT been installed" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + exit 1 + fi + + fi + + echo + echo "Saving current archiso version to archiso.md" + #sudo sed -i "s/\(^archiso-version=\).*/\1$archisoVersion/" ../archiso.md + sudo sed -i "s/\(^archiso-version=\).*/\1$archisoVersion/" "$PROJECT_ROOT/archiso.md" + echo + echo "Making mkarchiso verbose" + sudo sed -i 's/quiet="y"/quiet="n"/g' /usr/bin/mkarchiso + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 3 :" +echo "- Deleting the build folder if one exists" +echo "- Copying the Archiso folder to build folder" +tput sgr0 +echo "################################################################## " +echo + + echo "Deleting the build folder if one exists - takes some time" + [ -d $buildFolder ] && sudo rm -rf $buildFolder + echo + echo "Copying the Archiso folder to build work" + echo + mkdir $buildFolder + #cp -r ../archiso $buildFolder/archiso + cp -r "$PROJECT_ROOT/archiso" "$buildFolder/archiso" + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 4 :" +# echo "- Deleting any files in /etc/skel" +# echo "- Getting the last version of bashrc in /etc/skel" +# echo "- Removing the old packages.x86_64 file from build folder" +# echo "- Copying the new packages.x86_64 file to the build folder" +# echo "- Changing group for polkit folder" +# tput sgr0 +# echo "################################################################## " +# echo + +# echo "Deleting any files in /etc/skel" +# rm -rf $buildFolder/archiso/airootfs/etc/skel/.* 2> /dev/null +# echo + +# echo "Getting the last version of bashrc in /etc/skel" +# echo +# wget https://raw.githubusercontent.com/arcolinux/arcolinux-root/master/etc/skel/.bashrc-latest -O $buildFolder/archiso/airootfs/etc/skel/.bashrc + +# echo "Removing the old packages.x86_64 file from build folder" +# rm $buildFolder/archiso/packages.x86_64 +# echo +# echo "Copying the new packages.x86_64 file to the build folder" +# cp -f ../archiso/packages.x86_64 $buildFolder/archiso/packages.x86_64 +# echo +# echo "Changing group for polkit folder" +# sudo chgrp polkitd $buildFolder/archiso/airootfs/etc/polkit-1/rules.d +# #is not working so fixing this during calamares installation + +# echo +# echo "################################################################## " +# tput setaf 2 +# echo "Phase 5 : " +# echo "- Changing all references" +# echo "- Adding time to /etc/dev-rel" +# tput sgr0 +# echo "################################################################## " +# echo +# +# #Setting variables +# +# #profiledef.sh +# oldname1='iso_name=arcolinux' +# newname1='iso_name=arcolinux' +# +# oldname2='iso_label="arcolinux' +# newname2='iso_label="arcolinux' +# +# oldname3='ArcoLinux' +# newname3='ArcoLinux' +# +# #hostname +# oldname4='ArcoLinux' +# newname4='ArcoLinux' +# +# #lightdm.conf user-session +# oldname5='user-session=xfce' +# newname5='user-session='$lightdmDesktop +# +# #lightdm.conf autologin-session +# oldname6='#autologin-session=' +# newname6='autologin-session='$lightdmDesktop +# +# echo "Changing all references" +# echo +# sed -i 's/'$oldname1'/'$newname1'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname2'/'$newname2'/g' $buildFolder/archiso/profiledef.sh +# sed -i 's/'$oldname3'/'$newname3'/g' $buildFolder/archiso/airootfs/etc/dev-rel +# sed -i 's/'$oldname4'/'$newname4'/g' $buildFolder/archiso/airootfs/etc/hostname +# sed -i 's/'$oldname5'/'$newname5'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# sed -i 's/'$oldname6'/'$newname6'/g' $buildFolder/archiso/airootfs/etc/lightdm/lightdm.conf +# +# echo "Adding time to /etc/dev-rel" +# date_build=$(date -d now) +# echo "Iso build on : "$date_build +# sudo sed -i "s/\(^ISO_BUILD=\).*/\1$date_build/" $buildFolder/archiso/airootfs/etc/dev-rel + + +#echo +#echo "################################################################## " +#tput setaf 2 +#echo "Phase 6 :" +#echo "- Cleaning the cache from /var/cache/pacman/pkg/" +#tput sgr0 +#echo "################################################################## " +#echo + + #echo "Cleaning the cache from /var/cache/pacman/pkg/" + #yes | sudo pacman -Scc + +echo +echo "################################################################## " +tput setaf 2 +echo "Phase 7 :" +echo "- Building the iso - this can take a while - be patient" +tput sgr0 +echo "################################################################## " +echo + + [ -d $outFolder ] || mkdir $outFolder + cd $buildFolder/archiso/ + sudo mkarchiso -v -w $buildFolder -o $outFolder $buildFolder/archiso/ + + + +# echo +# echo "###################################################################" +# tput setaf 2 +# echo "Phase 8 :" +# echo "- Creating checksums" +# echo "- Copying pgklist" +# tput sgr0 +# echo "###################################################################" +# echo +# +# cd $outFolder +# +# echo "Creating checksums for : "$isoLabel +# echo "##################################################################" +# echo +# echo "Building sha1sum" +# echo "########################" +# sha1sum $isoLabel | tee $isoLabel.sha1 +# echo "Building sha256sum" +# echo "########################" +# sha256sum $isoLabel | tee $isoLabel.sha256 +# echo "Building md5sum" +# echo "########################" +# md5sum $isoLabel | tee $isoLabel.md5 +# echo + echo "Moving pkglist.x86_64.txt" + echo "########################" + rename=$(date +%Y-%m-%d) + cp $buildFolder/iso/BBTTMS/pkglist.x86_64.txt $outFolder/BBTTMS-$rename-pkglist.txt + + +#echo +#echo "##################################################################" +#tput setaf 2 +#echo "Phase 9 :" +#echo "- Making sure we start with a clean slate next time" +#tput sgr0 +#echo "################################################################## " +#echo + + #echo "Deleting the build folder if one exists - takes some time" + #[ -d $buildFolder ] && sudo rm -rf $buildFolder + +echo +echo "##################################################################" +tput setaf 2 +echo "DONE" +echo "- Check your out folder :"$outFolder +tput sgr0 +echo "################################################################## " +echo diff --git a/up+.sh b/up+.sh new file mode 100755 index 0000000..1a6d204 --- /dev/null +++ b/up+.sh @@ -0,0 +1,68 @@ +#!/bin/bash +#set -e +################################################################################################################## +# Author : Erik Dubois +# Website : https://www.erikdubois.be +# Website : https://www.alci.online +# Website : https://www.ariser.eu +# Website : https://www.arcolinux.info +# Website : https://www.arcolinux.com +# Website : https://www.arcolinuxd.com +# Website : https://www.arcolinuxb.com +# Website : https://www.arcolinuxiso.com +# Website : https://www.arcolinuxforum.com +################################################################################################################## +# +# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK. +# +################################################################################################################## +#tput setaf 0 = black +#tput setaf 1 = red +#tput setaf 2 = green +#tput setaf 3 = yellow +#tput setaf 4 = dark blue +#tput setaf 5 = purple +#tput setaf 6 = cyan +#tput setaf 7 = gray +#tput setaf 8 = light blue +################################################################################################################## + +# reset - commit your changes or stash them before you merge +# git reset --hard - personal alias - grh + +echo "Deleting the work folder if one exists" +[ -d work ] && rm -rf work + +# checking if I have the latest files from github +echo "Checking for newer files online first" +git pull + +# Below command will backup everything inside the project folder +git add --all . + +# Give a comment to the commit if you want +echo "####################################" +echo "Write your commit comment!" +echo "####################################" + +read input + +# Committing to the local repository with a message containing the time details and commit text + +git commit -m "$input" + +# Push the local files to github + +if grep -q main .git/config; then + echo "Using main" + git push -u origin main +fi + +if grep -q master .git/config; then + echo "Using master" + git push -u origin master +fi + +echo "################################################################" +echo "################### Git Push Done ######################" +echo "################################################################"